Skip to content

Docker Compose

OpenSESA uses Docker Compose for both local development and deployment-style runs.

When to use which file

Use docker-compose.yml for day-to-day development and docker-compose-deploy.yml for deployment-style validation.

Compose Lifecycle

flowchart LR
    A[Build Images] --> B[Start Stack]
    B --> C[Run Migrations and Checks]
    C --> D[Run App and Worker Tasks]
    D --> E[Inspect Logs and Health]
    E --> F[Stop Stack]

Local Stack

File: docker-compose.yml

Services:

  • app
  • db
  • redis
  • celery

Commands:

docker compose up -d --build
docker compose logs -f app
docker compose down

Quick Health Checks

docker compose ps
docker compose logs -f app celery
docker compose run --rm app python manage.py check

Deployment Stack

File: docker-compose-deploy.yml

Commands:

docker compose -f docker-compose-deploy.yml up -d --build
docker compose -f docker-compose-deploy.yml run --rm app_opensesa python manage.py migrate
docker compose -f docker-compose-deploy.yml down
Collapsed troubleshooting

If containers start but app requests fail, check service health states, environment variables, and database connectivity before rebuilding images.