One-click deploy

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.