# ADR-0007: Use Docker Compose for Deployment Date: 2026-04-28 ## Status Accepted ## Context AzioneLab needs a simple production-oriented deployment for a small theatre company website. The initial runtime services are Django with gunicorn, an Angular frontend served by nginx, PostgreSQL, and an nginx reverse proxy. The project does not need Celery, Redis, a container orchestrator, or a more complex platform at this stage. ## Decision Use Docker Compose as the initial deployment mechanism. The Compose setup will define explicit `backend`, `frontend`, `postgres`, and `nginx` services under `infra/docker/compose.yml`. Configuration is provided through `.env`, PostgreSQL data is stored in a named volume, and only the reverse proxy publishes a host port. ## Consequences - The deployment remains easy to understand, run, and review. - The same topology can support local infrastructure checks and small production deployments. - PostgreSQL persistence is explicit through a named volume. - The setup can be replaced later if hosting or scaling needs outgrow Docker Compose. - Operators must manage `.env`, backups, TLS, and image updates carefully.