Unified Gateway

Dokploy

Deploy Unified Gateway on Dokploy with Docker Compose.

Dokploy deploys the repository's docker-compose.yml as a Compose application.

  1. Create → Compose, and point it at this repository (or paste the docker-compose.yml).
  2. Set the secrets in the application's environment settings:
    • MASTER_KEYopenssl rand -base64 48
    • CREDENTIALS_ENCRYPTION_KEYopenssl rand -hex 32
  3. Deploy. The bundled Postgres/Redis and the migrate job run inside the application's network.
  4. In Domains, add only long-running HTTP services:
    • gateway, container port 4000
    • docs (optional), container port 3000

Do not create a domain for migrate, Postgres, or Redis. Dokploy injects the Traefik routing labels for the selected service and applies domain changes on redeployment. The base Compose file publishes no raw host ports.

Postgres/Redis are reached over the private network in plaintext — no TLS, no Bun TLS issue.

As with Coolify, if you use Dokploy's standalone database services they present self-signed certificates, which Bun's TLS may reject. The simplest setup is to disable SSL on both the Postgres and Redis services and connect over the internal network with postgres://… and redis://… (no sslmode, not rediss://), or use a managed provider. Never expose the database publicly in plaintext — see the security note.