feat: add Docker support with Dockerfile, docker-compose, and startup scripts
This commit is contained in:
94
docker-compose.yml
Normal file
94
docker-compose.yml
Normal file
@@ -0,0 +1,94 @@
|
||||
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
|
||||
Reference in New Issue
Block a user