cookiecutter-django/{{cookiecutter.project_slug}}/docker-compose.local.yml

119 lines
3.3 KiB
YAML
Raw Permalink Normal View History

2016-04-08 09:31:02 +03:00
volumes:
{{ cookiecutter.project_slug }}_local_postgres_data: {}
{{ cookiecutter.project_slug }}_local_postgres_data_backups: {}
{% if cookiecutter.use_celery == 'y' %}{{ cookiecutter.project_slug }}_local_redis_data: {}{% endif %}
2016-04-08 09:31:02 +03:00
services:
django:{% if cookiecutter.use_celery == 'y' %} &django{% endif %}
build:
context: .
dockerfile: ./compose/local/django/Dockerfile
image: {{ cookiecutter.project_slug }}_local_django
container_name: {{ cookiecutter.project_slug }}_local_django
depends_on:
- postgres
{%- if cookiecutter.use_celery == 'y' %}
- redis
{%- endif %}
{%- if cookiecutter.use_mailpit == 'y' %}
- mailpit
{%- endif %}
volumes:
- .:/app:z
env_file:
- ./.envs/.local/.django
- ./.envs/.local/.postgres
ports:
- '8000:8000'
2018-05-14 10:28:50 +03:00
command: /start
2016-04-11 01:33:14 +03:00
postgres:
build:
context: .
dockerfile: ./compose/production/postgres/Dockerfile
image: {{ cookiecutter.project_slug }}_production_postgres
container_name: {{ cookiecutter.project_slug }}_local_postgres
volumes:
- {{ cookiecutter.project_slug }}_local_postgres_data:/var/lib/postgresql/data
- {{ cookiecutter.project_slug }}_local_postgres_data_backups:/backups
env_file:
- ./.envs/.local/.postgres
{%- if cookiecutter.use_mailpit == 'y' %}
mailpit:
image: docker.io/axllent/mailpit:latest
container_name: {{ cookiecutter.project_slug }}_local_mailpit
2016-04-11 00:18:38 +03:00
ports:
- "8025:8025"
{%- endif %}
{%- if cookiecutter.use_celery == 'y' %}
redis:
image: docker.io/redis:6
container_name: {{ cookiecutter.project_slug }}_local_redis
{% if cookiecutter.use_celery == 'y' %}
volumes:
- {{ cookiecutter.project_slug }}_local_redis_data:/data
{% endif %}
celeryworker:
<<: *django
image: {{ cookiecutter.project_slug }}_local_celeryworker
container_name: {{ cookiecutter.project_slug }}_local_celeryworker
depends_on:
- redis
- postgres
{%- if cookiecutter.use_mailpit == 'y' %}
- mailpit
{%- endif %}
ports: []
2018-05-14 10:28:50 +03:00
command: /start-celeryworker
celerybeat:
<<: *django
image: {{ cookiecutter.project_slug }}_local_celerybeat
container_name: {{ cookiecutter.project_slug }}_local_celerybeat
depends_on:
- redis
- postgres
{%- if cookiecutter.use_mailpit == 'y' %}
- mailpit
{%- endif %}
ports: []
2018-05-14 10:28:50 +03:00
command: /start-celerybeat
flower:
<<: *django
image: {{ cookiecutter.project_slug }}_local_flower
container_name: {{ cookiecutter.project_slug }}_local_flower
ports:
- '5555:5555'
command: /start-flower
{%- endif %}
{%- if cookiecutter.frontend_pipeline in ['Gulp', 'Webpack'] %}
node:
build:
context: .
dockerfile: ./compose/local/node/Dockerfile
image: {{ cookiecutter.project_slug }}_local_node
container_name: {{ cookiecutter.project_slug }}_local_node
depends_on:
- django
volumes:
- .:/app:z
# http://jdlm.info/articles/2016/03/06/lessons-building-node-app-docker.html
- /app/node_modules
command: npm run dev
ports:
- '3000:3000'
{%- if cookiecutter.frontend_pipeline == 'Gulp' %}
# Expose browsersync UI: https://www.browsersync.io/docs/options/#option-ui
- '3001:3001'
{%- endif %}
{%- endif %}