Skip to main content

Best fit

  • Single-host setups.
  • Teams that want Docker-based local and production parity.
  • Operators comfortable managing environment files and redeploying containers.

Local runtime

Use infra/docker/docker-compose.yml:
If you also want a local Postgres container:

Production runtime

Use infra/docker/docker-compose.production.yml. Supabase mode:
Postgres + S3 mode with local Postgres:

Required runtime values

After containers are up

Run database migrations:
If you are using the local Postgres profile, wait for the database container to become healthy first.

Verify the deployment

Confirm that web is healthy, Caddy is serving HTTPS, and the admin wallet can sign in before sending traffic to the host.

Common operations

For a full VPS walkthrough using Docker Compose with domain and TLS setup, see VPS.