version: '2' volumes: postgres_data: {} postgres_backup: {} caddy: {} services: django:{% if cookiecutter.use_celery == 'y' %} &django{% endif %} build: context: . dockerfile: ./compose/production/django/Dockerfile image: {{ cookiecutter.project_slug }}_production_django depends_on: - postgres - redis env_file: - ./.envs/.production/.django - ./.envs/.production/.postgres command: /start postgres: build: context: . dockerfile: ./compose/production/postgres/Dockerfile image: {{ cookiecutter.project_slug }}_production_postgres volumes: - postgres_data:/var/lib/postgresql/data - postgres_backup:/backups env_file: - ./.envs/.production/.postgres caddy: build: context: . dockerfile: ./compose/production/caddy/Dockerfile image: {{ cookiecutter.project_slug }}_production_caddy depends_on: - django volumes: - caddy:/root/.caddy env_file: - ./.envs/.production/.caddy ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" redis: image: redis:3.2 {%- if cookiecutter.use_celery == 'y' %} celeryworker: <<: *django image: {{ cookiecutter.project_slug }}_production_celeryworker depends_on: - postgres - redis env_file: - ./.envs/.production/.django - ./.envs/.production/.postgres command: /start-celeryworker celerybeat: <<: *django image: {{ cookiecutter.project_slug }}_production_celerybeat depends_on: - postgres - redis env_file: - ./.envs/.production/.django - ./.envs/.production/.postgres command: /start-celerybeat {%- endif %}