Deployment

Deploy Autional in production with Docker Compose orchestration.

Docker Compose

# Production: use separate infra + services compose files (shipped with the private-deployment deliverable)
docker compose -f docker-compose.infra.yml -f docker-compose.monolith.yml up -d

Configuration

Key environment variables to set for production:

VariableDescriptionRequired
JWT_SECRETToken signing key (min 32 chars)Yes
PASSWORD_PEPPERPepper for password hashingYes
INTERNAL_API_KEYService-to-service authYes
POSTGRES_PASSWORDPostgreSQL passwordYes
REDIS_PASSWORDRedis passwordYes

SSL / TLS

For production, use Let's Encrypt or your own CA. The gateway nginx handles SSL termination. Reference self-signed certificates are in docker/nginx/certs/.

Monitoring

Built-in Prometheus + Grafana dashboards monitor all 27 services; Alertmanager handles alert routing; tracing collects OpenTelemetry data via Jaeger.

# The monitoring stack ships with the full environment orchestration (docker-compose.dev-cloud.yml includes Prometheus / Grafana / Alertmanager / Jaeger)
# Grafana: http://localhost:20300

Related Documentation

The production stack referenced on this page is documented by its maintainers: