37 lines
1.1 KiB
YAML
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:
|