cookiecutter-django/{{cookiecutter.project_slug}}/local.yml
Nikita P. Shupeyko ae9dc2e782 Distinguish between local and production compose services
Rationale: 
1. building production stack on the same machine with local doesn't lead to conflicts anymore;
2. production and local service images are now clearly distinguished by name.
2018-04-04 13:38:57 +03:00

81 lines
1.8 KiB
YAML

version: '2'
volumes:
postgres_data_local: {}
postgres_backup_local: {}
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.sh
postgres:
build:
context: .
dockerfile: ./compose/production/postgres/Dockerfile
image: {{ cookiecutter.project_slug }}_production_postgres
volumes:
- postgres_data_local:/var/lib/postgresql/data
- postgres_backup_local:/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:3.0
celeryworker:
<<: *django
image: {{ cookiecutter.project_slug }}_local_celeryworker
depends_on:
- redis
- postgres
{% if cookiecutter.use_mailhog == 'y' -%}
- mailhog
{%- endif %}
env_file:
- ./.envs/.local/.django
- ./.envs/.local/.postgres
ports: []
command: /start-celeryworker.sh
celerybeat:
<<: *django
image: {{ cookiecutter.project_slug }}_local_celerybeat
depends_on:
- redis
- postgres
{% if cookiecutter.use_mailhog == 'y' -%}
- mailhog
{%- endif %}
env_file:
- ./.envs/.local/.django
- ./.envs/.local/.postgres
ports: []
command: /start-celerybeat.sh
{%- endif %}