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