This repository contains the full Evo CRM community stack used for local development, production-style testing, and hosted deployment behind a shared reverse proxy.
The full deploy guide lives in docs/deploy.md. For the playbook itself, see docs/install-playbook.md.
For a quick bootstrap after cloning, use:
make bootstrap SITE_DNS=app.example.comThat target wraps scripts/bootstrap.sh, which generates host secrets, writes
.env, and starts the stack. If a shared reverse-proxy network is missing,
it creates it first. It does not manage the proxy stack itself.
In short, the production flow is:
ansible-playbook -i motoko-new, deploy/install.yml -e site_dns=app.example.comThat playbook:
- writes the environment file for the target host
- creates the shared
reverse-proxyDocker network when needed - starts the shared proxy stack
- starts the Evo CRM stack
- waits for the frontend and backend to answer over HTTPS
The stack is designed to expose:
- frontend:
https://{{ site_dns }} - backend:
https://api.{{ site_dns }}
For an approximate footprint of the Docker images used by the stack, see docs/image-sizes.md.
For backups and restore steps, see docs/backup.md.
For a quick scheduled backup, use:
make backupFor proxy routing details, see nginx/README.md.
The journeys screen is currently backed by a local compatibility service in this repository so newly created journeys persist in the stack and reappear in the list until the real backend gains native journey storage.
The segments editor uses the same pattern: a local compatibility service keeps created segments available to the UI until the backend exposes native segment storage.