version: '3' volumes: local_postgres_data: {} local_postgres_data_backups: {} services: django:{% if cookiecutter.use_celery == 'y' %} &django{% endif %} build: context: . dockerfile: ./compose/local/django/Dockerfile image: {{ cookiecutter.project_slug }}_local_django depends_on: - postgres {%- if cookiecutter.use_mailhog == 'y' %} - mailhog {%- endif %} volumes: - .:/app env_file: - ./.envs/.local/.django - ./.envs/.local/.postgres ports: - "8000:8000" command: /start postgres: build: context: . dockerfile: ./compose/production/postgres/Dockerfile image: {{ cookiecutter.project_slug }}_production_postgres volumes: - local_postgres_data:/var/lib/postgresql/data - local_postgres_data_backups:/backups env_file: - ./.envs/.local/.postgres {%- if cookiecutter.use_mailhog == 'y' %} mailhog: image: mailhog/mailhog:v1.0.0 ports: - "8025:8025" {%- endif %} {%- if cookiecutter.use_celery == 'y' %} redis: image: redis:5.0 celeryworker: <<: *django image: {{ cookiecutter.project_slug }}_local_celeryworker depends_on: - redis - postgres {% if cookiecutter.use_mailhog == 'y' -%} - mailhog {%- endif %} ports: [] command: /start-celeryworker celerybeat: <<: *django image: {{ cookiecutter.project_slug }}_local_celerybeat depends_on: - redis - postgres {% if cookiecutter.use_mailhog == 'y' -%} - mailhog {%- endif %} ports: [] command: /start-celerybeat flower: <<: *django image: {{ cookiecutter.project_slug }}_local_flower ports: - "5555:5555" command: /start-flower {%- endif %} {%- if cookiecutter.js_task_runner == 'Gulp' %} node: build: context: . dockerfile: ./compose/local/node/Dockerfile image: {{ cookiecutter.project_slug }}_local_node depends_on: - django volumes: - .:/app # http://jdlm.info/articles/2016/03/06/lessons-building-node-app-docker.html - /app/node_modules command: npm run dev ports: - "3000:3000" # Expose browsersync UI: https://www.browsersync.io/docs/options/#option-ui - "3001:3001" {%- endif %}