akarpov/production.yml

85 lines
1.8 KiB
YAML

version: '3'
volumes:
production_postgres_data: {}
production_postgres_data_backups: {}
production_traefik: {}
services:
django: &django
build:
context: .
dockerfile: ./compose/production/django/Dockerfile
image: akarpov_production_django
platform: linux/x86_64
depends_on:
- postgres
- redis
volumes:
- type: bind
source: /var/www/media/
target: /app/akarpov/media/
env_file:
- ./.envs/.production/.django
- ./.envs/.production/.postgres
command: /start
redirect:
build:
context: .
dockerfile: ./compose/production/django/Dockerfile
image: akarpov_production_redirect
container_name: akarpov_production_redirect
platform: linux/x86_64
depends_on:
- postgres
- redis
- mailhog
volumes:
- .:/app:z
env_file:
- ./.envs/.production/.django
- ./.envs/.production/.postgres
ports:
- "3000:3000"
command: /start-redirect
postgres:
build:
context: .
dockerfile: ./compose/production/postgres/Dockerfile
image: akarpov_production_postgres
volumes:
- production_postgres_data:/var/lib/postgresql/data:Z
- production_postgres_data_backups:/backups:z
env_file:
- ./.envs/.production/.postgres
redis:
image: redis:6
celeryworker:
<<: *django
volumes:
- type: bind
source: /var/www/media/
target: /app/akarpov/media/
image: akarpov_production_celeryworker
command: /start-celeryworker
celerybeat:
<<: *django
volumes:
- type: bind
source: /var/www/media/
target: /app/akarpov/media/
image: akarpov_production_celerybeat
command: /start-celerybeat
flower:
<<: *django
image: akarpov_production_flower
command: /start-flower