job-manage-by-prefect/docker-compose.yaml
2025-11-11 02:57:00 +09:00

37 lines
1.1 KiB
YAML

# 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: