mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2024-11-23 01:57:03 +03:00
126 lines
2.9 KiB
YAML
126 lines
2.9 KiB
YAML
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
|
|
container_name: django
|
|
depends_on:
|
|
- postgres
|
|
{%- if cookiecutter.use_mailhog == 'y' %}
|
|
- mailhog
|
|
{%- endif %}
|
|
volumes:
|
|
- .:/app:z
|
|
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
|
|
container_name: postgres
|
|
volumes:
|
|
- local_postgres_data:/var/lib/postgresql/data:Z
|
|
- local_postgres_data_backups:/backups:z
|
|
env_file:
|
|
- ./.envs/.local/.postgres
|
|
|
|
docs:
|
|
image: {{ cookiecutter.project_slug }}_local_docs
|
|
container_name: docs
|
|
build:
|
|
context: .
|
|
dockerfile: ./compose/local/docs/Dockerfile
|
|
env_file:
|
|
- ./.envs/.local/.django
|
|
volumes:
|
|
- ./docs:/docs:z
|
|
- ./config:/app/config:z
|
|
- ./{{ cookiecutter.project_slug }}:/app/{{ cookiecutter.project_slug }}:z
|
|
ports:
|
|
- "7000:7000"
|
|
command: /start-docs
|
|
{%- if cookiecutter.use_mailhog == 'y' %}
|
|
|
|
mailhog:
|
|
image: mailhog/mailhog:v1.0.0
|
|
container_name: mailhog
|
|
ports:
|
|
- "8025:8025"
|
|
|
|
{%- endif %}
|
|
{%- if cookiecutter.use_celery == 'y' %}
|
|
|
|
redis:
|
|
image: redis:5.0
|
|
container_name: redis
|
|
|
|
celeryworker:
|
|
<<: *django
|
|
image: {{ cookiecutter.project_slug }}_local_celeryworker
|
|
container_name: celeryworker
|
|
depends_on:
|
|
- redis
|
|
- postgres
|
|
{%- if cookiecutter.use_mailhog == 'y' %}
|
|
- mailhog
|
|
{%- endif %}
|
|
ports: []
|
|
command: /start-celeryworker
|
|
|
|
celerybeat:
|
|
<<: *django
|
|
image: {{ cookiecutter.project_slug }}_local_celerybeat
|
|
container_name: celerybeat
|
|
depends_on:
|
|
- redis
|
|
- postgres
|
|
{%- if cookiecutter.use_mailhog == 'y' %}
|
|
- mailhog
|
|
{%- endif %}
|
|
ports: []
|
|
command: /start-celerybeat
|
|
|
|
flower:
|
|
<<: *django
|
|
image: {{ cookiecutter.project_slug }}_local_flower
|
|
container_name: 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
|
|
container_name: 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"
|
|
# Expose browsersync UI: https://www.browsersync.io/docs/options/#option-ui
|
|
- "3001:3001"
|
|
|
|
{%- endif %}
|