version: '2' volumes: postgres_data_dev: {} postgres_backup_dev: {} services: django: &django build: context: . dockerfile: ./compose/django/Dockerfile-dev depends_on: - postgres{% if cookiecutter.use_mailhog == 'y' %} - mailhog{% endif %} volumes: - .:/app environment: - POSTGRES_USER={{cookiecutter.project_slug}} - USE_DOCKER=yes ports: - "8000:8000" command: /start-dev.sh postgres: build: ./compose/postgres volumes: - postgres_data_dev:/var/lib/postgresql/data - postgres_backup_dev:/backups environment: - POSTGRES_USER={{cookiecutter.project_slug}} {% if cookiecutter.use_pycharm == 'y' %} pycharm: build: context: . dockerfile: ./compose/django/Dockerfile-dev depends_on: - postgres environment: - POSTGRES_USER={{cookiecutter.project_slug}} volumes: - .:/app {% endif %} {% if cookiecutter.use_mailhog == 'y' %} mailhog: image: mailhog/mailhog:v1.0.0 ports: - "8025:8025" {% endif %} {% if cookiecutter.use_celery == 'y' %} redis: image: redis:3.0 celeryworker: # https://github.com/docker/compose/issues/3220 <<: *django depends_on: - redis - postgres{% if cookiecutter.use_mailhog == 'y' %} - mailhog{% endif %} ports: [] command: /start-celeryworker-dev.sh celerybeat: # https://github.com/docker/compose/issues/3220 <<: *django depends_on: - redis - postgres{% if cookiecutter.use_mailhog == 'y' %} - mailhog{% endif %} ports: [] command: /start-celerybeat-dev.sh {% endif %}