🐳 Dockerfile

The Dockerfile is based on python:3.10-slim and:

  • installs Poetry
  • installs project dependencies
  • runs:
    • web via entrypoint.sh
    • celery via celery -A config worker --loglevel=info -B

entrypoint.sh:

  1. waits for PostgreSQL
  2. applies migrations
  3. runs collectstatic
  4. starts Gunicorn

🐳 docker-compose.yml

Services started:

  • web (Django + Gunicorn)
  • celery (worker + beat)
  • link-generator-db (Postgres)
  • redis

Web port mapping: 8002 → 8000.

For local mode you can disable S3 (see USE_S3_MEDIA=0).