mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2024-11-25 19:14:03 +03:00
36c58f1d2c
We use the latest Redis image because in Cookiecutter Django, Redis is only used to store ephemeral data. By ephemeral data I mean Celery tasks and various caching libraries.
84 lines
2.0 KiB
YAML
84 lines
2.0 KiB
YAML
version: '2'
|
|
|
|
volumes:
|
|
postgres_data: {}
|
|
postgres_backup: {}
|
|
|
|
services:
|
|
postgres:
|
|
build: ./compose/postgres
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
- postgres_backup:/backups
|
|
env_file: .env
|
|
|
|
django:
|
|
build:
|
|
context: .
|
|
dockerfile: ./compose/django/Dockerfile
|
|
user: django
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
command: /gunicorn.sh
|
|
env_file: .env
|
|
|
|
nginx:
|
|
build: ./compose/nginx
|
|
depends_on:
|
|
- django
|
|
{% if cookiecutter.use_lets_encrypt == 'y' %}
|
|
- certbot
|
|
{% endif %}
|
|
ports:
|
|
- "0.0.0.0:80:80"
|
|
{% if cookiecutter.use_lets_encrypt == 'y' %}
|
|
environment:
|
|
- MY_DOMAIN_NAME={{ cookiecutter.domain_name }}
|
|
ports:
|
|
- "0.0.0.0:80:80"
|
|
- "0.0.0.0:443:443"
|
|
volumes:
|
|
- /etc/letsencrypt:/etc/letsencrypt
|
|
- /var/lib/letsencrypt:/var/lib/letsencrypt
|
|
|
|
certbot:
|
|
image: quay.io/letsencrypt/letsencrypt
|
|
command: bash -c "sleep 6 && certbot certonly -n --standalone -d {{ cookiecutter.domain_name }} --text --agree-tos --email {{ cookiecutter.email }} --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --verbose --keep-until-expiring --standalone-supported-challenges http-01"
|
|
entrypoint: ""
|
|
volumes:
|
|
- /etc/letsencrypt:/etc/letsencrypt
|
|
- /var/lib/letsencrypt:/var/lib/letsencrypt
|
|
ports:
|
|
- "80"
|
|
- "443"
|
|
environment:
|
|
- TERM=xterm
|
|
{% endif %}
|
|
|
|
redis:
|
|
image: redis:latest
|
|
{% if cookiecutter.use_celery == 'y' %}
|
|
celeryworker:
|
|
build:
|
|
context: .
|
|
dockerfile: ./compose/django/Dockerfile
|
|
user: django
|
|
env_file: .env
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
command: celery -A {{cookiecutter.project_slug}}.taskapp worker -l INFO
|
|
|
|
celerybeat:
|
|
build:
|
|
context: .
|
|
dockerfile: ./compose/django/Dockerfile
|
|
user: django
|
|
env_file: .env
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
command: celery -A {{cookiecutter.project_slug}}.taskapp beat -l INFO
|
|
{% endif %}
|