Skip to content

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.

  1. In Coolify add a resource and choose Docker Compose. Point it at this repository.

  2. Set Base Directory to / and Docker Compose Location to /docker-compose.coolify.yml.

  3. Add the environment variables, marking secrets as secrets:

    VariableNotes
    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. 0 for a first boot while another server still uses the database.
  4. Deploy. Coolify assigns a domain from SERVICE_FQDN_GATEWAY_3000 and routes it to port 3000.

  5. Give the container at least 4 GB of RAM. The compose file sets /dev/shm to 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.

Released under the Apache-2.0 License.