This Docker Compose configuration sets up EspoCRM with Tailscale as a sidecar container to keep the app reachable over your Tailnet.
EspoCRM is a web application that allows users to see, enter and evaluate all your company relationships regardless of the type. People, companies, projects or opportunities — all in an easy and intuitive interface.
In this setup, the tailscale-EspoCRM service runs Tailscale, which manages secure networking for EspoCRM. The EspoCRM service utilizes the Tailscale network stack via Docker's network_mode: service:tailscale configuration. This keeps the app Tailnet-only unless you intentionally expose ports.
Please check the following contents for validity as some variables need to be defined upfront.
.env// Main variableTS_AUTHKEY.env// Required for normal operation.TS_DOMAIN
From EspoCRM 10, the upstream Docker setup no longer mounts the whole /var/www/html directory. This configuration follows it and mounts only data, custom, and client/custom from ./espocrm-data, so existing data and customizations stay in place.
- Back up
./espocrm-data. - Run
docker compose down, thendocker compose pullanddocker compose up -d. - Optionally, remove the files that older images copied into
./espocrm-data, such asapplication,vendor, andbootstrap.php. The EspoCRM 10 migration guide lists them all.