Deploy with Compose
docker-compose.yml runs the whole system on one machine: gateway, admin, two
workers, PostgreSQL and Redis, plus a one-shot migration job that runs before
the services start. It is built for local use: every port binds to
127.0.0.1, it uses development credentials, and it runs in development mode,
so the production checks do not apply.
docker compose up -d --waitTo use it beyond one laptop, override at least:
- the PostgreSQL and admin credentials (
INTERLOCK_DATABASE__PASSWORD,INTERLOCK_ADMIN__SECRET_KEY); INTERLOCK_AUTH__API_KEY_PEPPER;INTERLOCK_ENVIRONMENT=production, and then everything the production checklist enforces;- the port bindings, deliberately.
Put local overrides in docker-compose.override.yml (see
docker-compose.override.yml.example); Compose merges it automatically and it
is ignored by git. For anything shared by a team, prefer
Kubernetes with Helm.
To run this stack on a DigitalOcean Droplet for an evaluation, see Deploy on a DigitalOcean Droplet.