services: postgres: image: postgres:17-alpine environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: adaptive_streaming ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d adaptive_streaming"] interval: 5s timeout: 3s retries: 10 temporal: image: temporalio/auto-setup:1.25.2 depends_on: postgres: condition: service_healthy environment: DB: postgres12 DB_PORT: 5432 POSTGRES_USER: postgres POSTGRES_PWD: postgres POSTGRES_SEEDS: postgres ports: - "7233:7233" temporal-ui: image: temporalio/ui:2.31.2 depends_on: temporal: condition: service_started environment: TEMPORAL_ADDRESS: temporal:7233 TEMPORAL_CORS_ORIGINS: http://localhost:5173 ports: - "8080:8080" worker: build: context: . dockerfile: apps/worker/Dockerfile depends_on: postgres: condition: service_healthy temporal: condition: service_started environment: DATABASE_URL: postgresql://postgres:postgres@postgres:5432/adaptive_streaming NODE_ENV: production TEMPORAL_ADDRESS: temporal:7233 TEMPORAL_TASK_QUEUE: streamix-video-processing MEDIA_ROOT: /app/media volumes: - ./media:/app/media volumes: postgres_data: