version: "3.9" services: backend: build: context: ./backend dockerfile: Dockerfile ports: - "4016:4016" environment: - NODE_ENV=production - PORT=4016 - HOST=0.0.0.0 - JWT_SECRET=${JWT_SECRET:-dev-secret-change-me} - COSMOS_ENDPOINT=${COSMOS_ENDPOINT:-} - COSMOS_KEY=${COSMOS_KEY:-} - COSMOS_DATABASE=${COSMOS_DATABASE:-bytelyst} - DB_PROVIDER=${DB_PROVIDER:-memory} - CORS_ORIGIN=${CORS_ORIGIN:-http://localhost:3000} - PLATFORM_SERVICE_URL=${PLATFORM_SERVICE_URL:-http://localhost:4003} - EXTRACTION_SERVICE_URL=${EXTRACTION_SERVICE_URL:-http://localhost:4005} restart: unless-stopped healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:4016/health"] interval: 30s timeout: 5s retries: 3 web: build: context: ./web dockerfile: Dockerfile ports: - "3000:3000" environment: - NODE_ENV=production - NEXT_PUBLIC_BACKEND_URL=http://backend:4016 - NEXT_PUBLIC_PLATFORM_URL=${PLATFORM_SERVICE_URL:-http://localhost:4003} depends_on: backend: condition: service_healthy restart: unless-stopped