Appearance
Deploy with Coolify
The image is built from the root Dockerfile (Chromium, the dashboard, these docs and a /health check are inside). docker-compose.coolify.yml is what Coolify runs. Coolify's proxy terminates HTTPS, so there is no Caddy in that file.
In Coolify add a resource and choose Docker Compose. Point it at this repository.
Set Base Directory to
/and Docker Compose Location to/docker-compose.coolify.yml.Add the environment variables, marking secrets as secrets:
Variable Notes DATABASE_URLPostgreSQL URL. The database must belong to this gateway alone. KEY_ENCRYPTION_SECRETRandom, 16+ characters. Losing it means every number must be paired again. ADMIN_EMAILSAddresses allowed to sign in. RESEND_API_KEYFrom Resend. RESEND_FROM_EMAILAn address on a domain verified in Resend. AUTOSTART_CLIENTSOptional. 0for a first boot while another server still uses the database.Deploy. Coolify assigns a domain from
SERVICE_FQDN_GATEWAY_3000and routes it to port 3000.Give the container at least 4 GB of RAM. The compose file sets
/dev/shmto 1 GB and a 90 second stop timeout so sessions are saved before exit.
The wa-data volume holds only browser working copies. Keep it anyway, because rebuilding it on every start is slow. If the proxy rejects large media sends, raise its body-size limit for the domain.