mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2024-11-29 21:14:03 +03:00
cbb0e19de7
* Add support for Webpack as frontend pipeline * Rename CI jobs * Fix a couple of issues with Webpack + Docker * Don't include Boostrap CSS from CDN with Webpack * Rename variable * Set publicPath in prod webpack config * Fix removal of SASS files in post-gen hooks * Add Webpack to readme usage section * Run Django + Webpack dev server concurrently without Docker * Fix async runserver command with Gulp/Webpack * Upgrade django-webpack-loader to 1.5.0 * Pass variables required by Webpack at build time * Upgrade django-webpack-loader to 1.7.0 * Add missing condition * Add support for Azure Storage + Webpack * Whitespaces * Rename ROOT_DIR -> BASE_DIR * Rename jobs * Bump django-webpack-loader to latest * Document limitation of Docker + Webpack + no Whitenoise * Update section on custom Bootstrap compilation in generated readme
92 lines
2.6 KiB
YAML
92 lines
2.6 KiB
YAML
version: '3'
|
|
|
|
volumes:
|
|
production_postgres_data: {}
|
|
production_postgres_data_backups: {}
|
|
production_traefik: {}
|
|
|
|
services:
|
|
django:{% if cookiecutter.use_celery == 'y' %} &django{% endif %}
|
|
build:
|
|
context: .
|
|
dockerfile: ./compose/production/django/Dockerfile
|
|
{%- if cookiecutter.frontend_pipeline == 'Webpack' and cookiecutter.use_whitenoise == 'n' %}
|
|
args:
|
|
# These variable can be defined in an .env file in the root of the repo
|
|
{%- if cookiecutter.cloud_provider == 'AWS' %}
|
|
DJANGO_AWS_STORAGE_BUCKET_NAME: ${DJANGO_AWS_STORAGE_BUCKET_NAME}
|
|
DJANGO_AWS_S3_CUSTOM_DOMAIN: ${DJANGO_AWS_S3_CUSTOM_DOMAIN}
|
|
{%- elif cookiecutter.cloud_provider == 'GCP' %}
|
|
DJANGO_GCP_STORAGE_BUCKET_NAME: ${DJANGO_GCP_STORAGE_BUCKET_NAME}
|
|
{%- elif cookiecutter.cloud_provider == 'Azure' %}
|
|
DJANGO_AZURE_ACCOUNT_NAME: ${DJANGO_AZURE_ACCOUNT_NAME}
|
|
{%- endif %}
|
|
{%- endif %}
|
|
|
|
image: {{ cookiecutter.project_slug }}_production_django
|
|
depends_on:
|
|
- postgres
|
|
- redis
|
|
env_file:
|
|
- ./.envs/.production/.django
|
|
- ./.envs/.production/.postgres
|
|
command: /start
|
|
|
|
postgres:
|
|
build:
|
|
context: .
|
|
dockerfile: ./compose/production/postgres/Dockerfile
|
|
image: {{ cookiecutter.project_slug }}_production_postgres
|
|
volumes:
|
|
- production_postgres_data:/var/lib/postgresql/data
|
|
- production_postgres_data_backups:/backups
|
|
env_file:
|
|
- ./.envs/.production/.postgres
|
|
|
|
traefik:
|
|
build:
|
|
context: .
|
|
dockerfile: ./compose/production/traefik/Dockerfile
|
|
image: {{ cookiecutter.project_slug }}_production_traefik
|
|
depends_on:
|
|
- django
|
|
volumes:
|
|
- production_traefik:/etc/traefik/acme
|
|
ports:
|
|
- "0.0.0.0:80:80"
|
|
- "0.0.0.0:443:443"
|
|
{%- if cookiecutter.use_celery == 'y' %}
|
|
- "0.0.0.0:5555:5555"
|
|
{%- endif %}
|
|
|
|
redis:
|
|
image: redis:6
|
|
{%- if cookiecutter.use_celery == 'y' %}
|
|
|
|
celeryworker:
|
|
<<: *django
|
|
image: {{ cookiecutter.project_slug }}_production_celeryworker
|
|
command: /start-celeryworker
|
|
|
|
celerybeat:
|
|
<<: *django
|
|
image: {{ cookiecutter.project_slug }}_production_celerybeat
|
|
command: /start-celerybeat
|
|
|
|
flower:
|
|
<<: *django
|
|
image: {{ cookiecutter.project_slug }}_production_flower
|
|
command: /start-flower
|
|
{%- endif %}
|
|
{%- if cookiecutter.cloud_provider == 'AWS' %}
|
|
|
|
awscli:
|
|
build:
|
|
context: .
|
|
dockerfile: ./compose/production/aws/Dockerfile
|
|
env_file:
|
|
- ./.envs/.production/.django
|
|
volumes:
|
|
- production_postgres_data_backups:/backups:z
|
|
{%- endif %}
|