Files
CA/deploy/docker-compose.mlflow.yml
Akiba So fc468464b2 feat: Initial CBPOA commit — 武汉儿童呼吸疾病风险评估系统
Context: Build a spatial risk assessment system correlating air quality
data with children's respiratory disease incidence across Wuhan.

Approach: FastAPI backend serving PostGIS spatial queries, React
frontend with Deck.gl maps, and a PyTorch SpatialTemporalGCN pipeline
for multi-day (1d/3d/7d) risk prediction.

Changes:
- backend/ — FastAPI API with auth (JWT), alerts, risk analysis,
  geocoded case data, grid statistics, and report endpoints
- frontend/ — React dashboard with interactive risk maps, alert
  monitoring, district comparison charts, and timeline player
- models/ — SpatialTemporalGCN model with trained weights and ONNX
  export for inference
- scripts/ — ETL pipeline for weather + medical data, grid generation,
  feature engineering, training, and daily inference
- deploy/ — Docker Compose configs for backend, frontend, and MLflow
- docs/ — API docs, deployment guide, user guide, and code review

Impact: Enables spatial risk visualization, alert monitoring, and
ML-driven health risk forecasting for environmental health teams.
2026-06-05 02:13:49 +08:00

52 lines
1.3 KiB
YAML

version: '3.8'
services:
mlflow:
image: ghcr.io/mlflow/mlflow:latest
container_name: wuhan_mlflow
ports:
- "5000:5000"
environment:
- MLFLOW_TRACKING_URI=postgresql://postgres:postgres@postgis:5432/mlflow
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-minio}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-minio123}
- AWS_DEFAULT_REGION=us-east-1
- MLFLOW_S3_ENDPOINT_URL=http://minio:9000
volumes:
- mlflow_artifacts:/mlflow/artifacts
depends_on:
postgis:
condition: service_healthy
command: >
mlflow server
--backend-store-uri postgresql://postgres:postgres@postgis:5432/mlflow
--default-artifact-root s3://mlflow/
--host 0.0.0.0
--port 5000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5000/"]
interval: 30s
timeout: 10s
retries: 3
postgis:
image: postgis/postgis:15-3.3
container_name: wuhan_postgis
environment:
- POSTGRES_DB=mlflow
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
ports:
- "5432:5432"
volumes:
- postgis_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
volumes:
mlflow_artifacts:
postgis_data: