version: "3.8" name: whisperbox-transcribe services: traefik: image: "traefik:latest" restart: unless-stopped volumes: - /var/run/docker.sock:/var/run/docker.sock:ro depends_on: - web networks: - traefik redis: image: redis:7-alpine networks: - app deploy: resources: limits: memory: 128M worker: env_file: .env build: context: . dockerfile: worker.Dockerfile args: WHISPER_MODEL: ${WHISPER_MODEL} networks: - app depends_on: - redis healthcheck: test: ["CMD-SHELL", "celery -b ${BROKER_URL} inspect ping -d celery@$$HOSTNAME"] interval: 5s timeout: 5s retries: 5 web: env_file: .env build: context: . dockerfile: web.Dockerfile networks: - app - traefik depends_on: worker: condition: service_healthy networks: app: driver: bridge traefik: driver: bridge