version: '3.8' services: api: build: . container_name: cbsl-forecaster-api ports: - "8000:8000" restart: unless-stopped environment: - MLFLOW_TRACKING_URI=${MLFLOW_TRACKING_URI:-file:./mlruns} - DAGSHUB_USER_TOKEN=${DAGSHUB_USER_TOKEN:-} volumes: # Map data and mlruns so the API can access new data/models without rebuilding - ./data:/app/data - ./mlruns:/app/mlruns dashboard: build: . container_name: cbsl-forecaster-dashboard command: streamlit run src/models/dashboard.py --server.port 8501 --server.address 0.0.0.0 ports: - "8501:8501" environment: - API_URL=http://api:8000 depends_on: - api restart: unless-stopped volumes: # Map data so the dashboard can access the parsed CSVs - ./data:/app/data