# prefect-template/docker-compose.yml services: server: image: prefecthq/prefect:2-latest container_name: prefect-server command: ["prefect","server","start","--host","0.0.0.0"] ports: ["4200:4200"] # UI: http://localhost:4200 environment: PREFECT_UI_URL: "http://localhost:4200" PREFECT_API_URL: "http://server:4200/api" TZ: "Asia/Tokyo" # Slack通知を使う場合、.env で SLACK_WEBHOOK_URL を設定 SLACK_WEBHOOK_URL: ${SLACK_WEBHOOK_URL:-} volumes: - ./src/flows:/opt/flows - prefect-data:/root/.prefect worker: image: prefecthq/prefect:2-latest container_name: prefect-worker depends_on: [server] environment: PREFECT_API_URL: "http://server:4200/api" TZ: "Asia/Tokyo" SLACK_WEBHOOK_URL: ${SLACK_WEBHOOK_URL:-} volumes: - ./src/flows:/opt/flows command: > bash -lc " pip install -r /opt/flows/requirements.txt >/dev/null 2>&1 || true && prefect work-pool create process-pool -t process || true && prefect worker start -p process-pool " volumes: prefect-data: