services: backend: build: ./backend ports: - "8000:8000" env_file: - ./backend/.env volumes: - ./backend/logs:/app/logs restart: unless-stopped healthcheck: test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"] interval: 15s timeout: 10s retries: 5 start_period: 40s celery-worker: build: ./backend command: celery -A celery_worker.celery_app worker -B --loglevel=info -Q h3c_onu_ms --schedule=/tmp/celerybeat-schedule env_file: - ./backend/.env volumes: - ./backend/logs:/app/logs restart: unless-stopped depends_on: backend: condition: service_healthy # frontend 仅在远程服务器部署,本地通过 docker-compose 不再启动 # 部署命令见 .claude/rules/07-remote-operations.md