90 lines
1.9 KiB
YAML
90 lines
1.9 KiB
YAML
volumes:
|
|
db_data: {}
|
|
batcher_db_data: {}
|
|
backend_media: {}
|
|
backend_static: {}
|
|
|
|
services:
|
|
backend:
|
|
build: ./backend
|
|
depends_on:
|
|
postgres: &healthy-dependency
|
|
condition: service_healthy
|
|
rabbitmq: *healthy-dependency
|
|
volumes:
|
|
- backend_media:/app/media
|
|
- backend_static:/app/static
|
|
command: /app/scripts/start.sh
|
|
restart: on-failure
|
|
env_file: &backend-env-files
|
|
- .env/dev/pg
|
|
- .env/dev/back
|
|
- .env/dev/rmq
|
|
- .env/dev/bot
|
|
- .env/dev/web
|
|
ports:
|
|
- '8000:8000'
|
|
|
|
postgres: &pg-conf
|
|
image: postgres:17-alpine
|
|
volumes:
|
|
- db_data:/var/lib/postgresql/data
|
|
env_file:
|
|
- .env/dev/pg
|
|
ports:
|
|
- '5432:5432'
|
|
user: postgres
|
|
healthcheck: &pg-healthcheck
|
|
test: [ "CMD-SHELL", "pg_isready" ]
|
|
interval: 5s
|
|
timeout: 2s
|
|
retries: 5
|
|
|
|
celery:
|
|
build: ./backend
|
|
command: /app/scripts/start_celery.sh
|
|
env_file: *backend-env-files
|
|
environment:
|
|
- CELERY_WORKER_COUNT=1
|
|
depends_on:
|
|
backend:
|
|
condition: service_started
|
|
rabbitmq: *healthy-dependency
|
|
|
|
rabbitmq:
|
|
container_name: 'rabbitmq'
|
|
image: 'rabbitmq:3-management-alpine'
|
|
env_file:
|
|
- .env/dev/rmq
|
|
ports:
|
|
- '5672:5672'
|
|
- '15672:15672'
|
|
healthcheck:
|
|
<<: *pg-healthcheck
|
|
test: rabbitmq-diagnostics -q ping
|
|
interval: 10s
|
|
timeout: 2s
|
|
|
|
batcher:
|
|
build: ./batcher
|
|
depends_on:
|
|
batcher-postgres: *healthy-dependency
|
|
rabbitmq: *healthy-dependency
|
|
env_file:
|
|
- .env/dev/rmq
|
|
- .env/dev/batcher-pg
|
|
- .env/dev/batcher
|
|
- .env/dev/bot
|
|
- .env/dev/web
|
|
ports:
|
|
- '8080:8080'
|
|
|
|
batcher-postgres:
|
|
<<: *pg-conf
|
|
volumes:
|
|
- batcher_db_data:/var/lib/postgresql/data
|
|
env_file:
|
|
- .env/dev/batcher-pg
|
|
ports:
|
|
- '5433:5432'
|