services: api: build: ./api ports: - '8000:8000' volumes: - ./runs:/app/runs env_file: .env restart: unless-stopped healthcheck: test: ['CMD', 'curl', '-f', 'http://localhost:8000/health'] interval: 30s timeout: 10s retries: 3 start_period: 10s cap-provider: build: ./cap-provider depends_on: api: condition: service_healthy env_file: .env restart: unless-stopped frontend: image: nginx:alpine depends_on: api: condition: service_healthy volumes: - ./frontend:/usr/share/nginx/html:ro - ./deploy/nginx.conf:/etc/nginx/conf.d/default.conf:ro ports: - '8080:80' restart: unless-stopped