# Docker Setup This project includes Docker configuration for easy deployment and monitoring. ## Services - **FastAPI App** (port 8000): Main ML API - **Prometheus** (port 9090): Metrics collection - **Grafana** (port 3000): Visualization dashboards ## Quick Start ### 1. Build and Start ```bash docker-compose up -d ``` ### 2. Access Services - API: http://localhost:8000 - API Docs: http://localhost:8000/docs - Prometheus: http://localhost:9090 - Grafana: http://localhost:3000 (admin/admin) ### 3. Stop Services ```bash docker-compose down ``` ## Useful Commands ```bash # View logs docker-compose logs -f # View app logs only docker-compose logs -f app # Rebuild after code changes docker-compose up -d --build # Stop and remove volumes docker-compose down -v ``` ## Environment Variables Create `.env` file with: ``` MLFLOW_TRACKING_URI=your_dagshub_uri DAGSHUB_TOKEN=your_token ``` ## Grafana Setup 1. Login to Grafana (admin/admin) 2. Datasources are auto-configured 3. Dashboards are auto-loaded ## Health Checks ```bash # Check app health curl http://localhost:8000/health # Check Prometheus targets curl http://localhost:9090/api/v1/targets ```