Deploy on Coolify
Coolify is a self-hostable PaaS. Clerq runs on it as a PostgreSQL database plus the published app image, with Coolify's proxy handling domains and TLS. The app migrates the database itself on first boot.
1. Add a PostgreSQL database
In your project and environment, add a PostgreSQL resource. Once it is running, copy its connection string from the resource's view - Coolify exposes an internal URL the app can reach.
2. Add the app resource
Add a new resource of type Docker Image:
- Image:
ghcr.io/punterdigital/clerq:latest - Port: set the exposed/proxy port to
3000
3. Set environment variables
On the app resource, add:
DATABASE_URL=postgresql://postgres:PASSWORD@clerq-db:5432/postgres
BETTER_AUTH_SECRET=a-32-char-random-secret
BETTER_AUTH_URL=https://clerq.your-domain.com
Use the internal connection string from step 1 for DATABASE_URL, and set
BETTER_AUTH_URL to the domain you assign in the next step. See
Environment variables for the full
reference.
4. Set the domain and deploy
Set a domain (FQDN) on the app resource - Coolify issues a Let's Encrypt certificate automatically - then deploy. The container runs migrations on first boot and starts serving. Open the domain and create your account.
Make sure the app and the database are in the same project/network so the internal hostname resolves. For upgrades and backups, see Backups & upgrades, and run through the production checklist.