argus-mlops / docker-compose.yml
hodfa840's picture
Fix scroll reset for HF Spaces double-iframe context
1aa566a
version: "3.9"
# ============================================================
# Self-Healing ML System — Docker Compose
# ============================================================
#
# Services:
# api - FastAPI prediction service
# dashboard - Streamlit monitoring dashboard
# mlflow - MLflow tracking server
#
# Usage:
# docker compose up --build
# docker compose up api # API only
# docker compose up dashboard # Dashboard only
services:
# ----------------------------------------------------------
# ML API (FastAPI)
# ----------------------------------------------------------
api:
build:
context: .
dockerfile: Dockerfile
container_name: self_healing_api
ports:
- "8000:8000"
environment:
- PYTHONUNBUFFERED=1
- MLFLOW_TRACKING_URI=http://mlflow:5000
volumes:
- ./data:/app/data # persist model registry + logs
- ./configs:/app/configs # live config changes
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
restart: unless-stopped
networks:
- self_healing_net
# ----------------------------------------------------------
# Streamlit Dashboard
# ----------------------------------------------------------
dashboard:
build:
context: .
dockerfile: Dockerfile.dashboard
container_name: self_healing_dashboard
ports:
- "8501:8501"
environment:
- API_URL=http://api:8000
volumes:
- ./data:/app/data
depends_on:
api:
condition: service_healthy
restart: unless-stopped
networks:
- self_healing_net
# ----------------------------------------------------------
# MLflow Tracking Server
# ----------------------------------------------------------
mlflow:
image: ghcr.io/mlflow/mlflow:v2.12.1
container_name: self_healing_mlflow
ports:
- "5000:5000"
volumes:
- ./data/mlruns:/mlflow/mlruns
command: >
mlflow server
--host 0.0.0.0
--port 5000
--backend-store-uri /mlflow/mlruns
--default-artifact-root /mlflow/mlruns/artifacts
restart: unless-stopped
networks:
- self_healing_net
networks:
self_healing_net:
driver: bridge
volumes:
data: