Files
Sipro-Stocks/docker-compose.yml

95 lines
2.2 KiB
YAML

services:
taskiq_worker:
image: git.denco.store/fakz9/sipro-stocks:latest
container_name: stocks_worker
restart: unless-stopped
env_file: .env
command: [ "sh", "./start_taskiq.sh" ]
volumes_from:
- tmp
volumes:
- pg-socket:/run/postgresql
networks:
- appnet
depends_on:
redis:
condition: service_healthy
rabbitmq:
condition: service_healthy
taskiq_scheduler:
image: git.denco.store/fakz9/sipro-stocks:latest
container_name: stocks_scheduler
restart: unless-stopped
env_file: .env
command: [ "sh", "./start_scheduler.sh" ]
volumes_from:
- tmp
volumes:
- pg-socket:/run/postgresql
networks:
- appnet
depends_on:
- fastapi
fastapi:
image: git.denco.store/fakz9/sipro-stocks:latest
container_name: stocks_fastapi
restart: unless-stopped
env_file: .env
command: [ "sh", "./start_fastapi.sh" ]
volumes_from:
- tmp
volumes:
- pg-socket:/run/postgresql
networks:
- appnet
depends_on:
- taskiq_worker
ports:
- "8000:8000"
tmp:
image: busybox:latest
command: [ "chmod", "-R","777", "/tmp/docker" ]
volumes:
- /tmp/docker/
rabbitmq:
image: rabbitmq:latest
container_name: stocks_rabbitmq
restart: unless-stopped
environment:
RABBITMQ_DEFAULT_USER: guest
RABBITMQ_DEFAULT_PASS: guest
RABBITMQ_DEFAULT_VHOST: stocks_vhost
networks:
- appnet
healthcheck:
test: [ "CMD", "rabbitmqctl", "status" ]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:latest
container_name: stocks_redis
restart: unless-stopped
volumes_from:
- tmp
environment:
REDIS_PASSWORD: ${REDIS_PASSWORD}
command: [ "redis-server", "--unixsocket","/tmp/docker/redis.sock", "--unixsocketperm", "777", "--requirepass", "${REDIS_PASSWORD}" ]
networks:
- appnet
healthcheck:
test: [ "CMD" ,"redis-cli", "ping" ]
interval: 5s
timeout: 2s
retries: 5
networks:
appnet:
volumes:
pg-socket:
driver: local
driver_opts:
type: none
device: /run/postgresql
o: bind