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