Skip to content

Jalendar10/docker-mlops-platform

Repository files navigation

πŸš€ MLOps Platform - Automated Model Deployment

Complete MLOps Platform with One-Click Model Deployment
Developed by JALENDAR REDDY πŸ”₯

GitHub stars GitHub forks GitHub issues

🎯 Project Overview

A comprehensive MLOps platform that automates the entire machine learning lifecycle from model training to production deployment. Features one-click model export, Docker containerization, and multi-platform deployment support.

πŸ“ Project Structure

πŸ“¦ mlops-platform/
β”œβ”€β”€ πŸ“ src/                    # Source code modules
β”‚   β”œβ”€β”€ πŸ”Œ api/                # FastAPI applications
β”‚   β”œβ”€β”€ 🧠 ml/                 # Machine learning components
β”‚   └── 🌐 web/                # Streamlit web interfaces
β”œβ”€β”€ πŸ§ͺ tests/                  # Test suite
β”œβ”€β”€ πŸš€ scripts/                # Automation scripts
β”œβ”€β”€ 🐳 docker/                 # Container configurations
β”œβ”€β”€ πŸ“š docs/                   # Documentation
β”œβ”€β”€ πŸ“Š data/                   # Data storage
└── πŸš€ deployment/             # Deployment packages

πŸ“– Detailed Structure: See FOLDER_STRUCTURE.md for complete organization details.

⚑ Quick Start

🐳 Docker Deployment (Recommended)

# Clone and start
git clone <your-repo-url>
cd docker_mlops
chmod +x scripts/start_services.sh
./scripts/start_services.sh

πŸ”§ Manual Setup

# Install dependencies
pip install -r requirements.txt

# Start Streamlit app (recommended method)
./scripts/run_streamlit.sh        # Linux/macOS
scripts\run_streamlit.bat         # Windows

# Start FastAPI (in another terminal)
./scripts/run_fastapi.sh          # Linux/macOS  
scripts\run_fastapi.bat           # Windows

Alternative manual method:

# Set Python path and run from project root
export PYTHONPATH="${PYTHONPATH}:$(pwd)"
streamlit run src/web/streamlit_app.py
uvicorn src.api.app:app --reload

🌟 Key Features

  • βœ… One-Click Model Export - Export trained models with deployment configs
  • βœ… Docker Containerization - Automated container creation
  • βœ… FastAPI Integration - RESTful API endpoints
  • βœ… Streamlit Dashboard - Interactive web interface
  • βœ… MLflow Tracking - Experiment management
  • βœ… Cross-Platform - Windows, macOS, Linux support
  • βœ… Production Ready - Complete deployment pipeline

πŸš€ Access Points

Service URL Description
Streamlit Dashboard http://localhost:8501 Main web interface
FastAPI Docs http://localhost:8000/docs API documentation
MLflow UI http://localhost:5000 Experiment tracking
Health Check http://localhost:8000/health Service status

πŸ“– Documentation

Document Description
docs/README.md Complete project documentation
docs/QUICKSTART.md Quick setup guide
docs/DOCKER_README.md Docker deployment guide
FOLDER_STRUCTURE.md Project organization
docs/GITHUB_PUSH_INSTRUCTIONS.md GitHub setup guide

πŸ› οΈ Development

Running Tests

python -m pytest tests/ -v

Project Scripts

# Setup environment
./scripts/setup.sh  # Linux/macOS
./scripts/setup.bat # Windows

# Generate sample data
python scripts/generate_sample_data.py

# Run demos
python scripts/demo.py
python scripts/demo_export.py

🐳 Docker Commands

# Build and run with Docker Compose
cd docker/
docker-compose up --build

# Individual container
docker build -t mlops-platform .
docker run -p 8501:8501 -p 8000:8000 mlops-platform

🎯 Usage Examples

Training a Model

from src.ml.ml_trainer import MLTrainer
from src.config import MODEL_CONFIG

trainer = MLTrainer(config=MODEL_CONFIG)
model = trainer.train(data_path="data/training_data.csv")

Making Predictions

from src.api.app import predict
result = predict({"feature1": 1.0, "feature2": 2.0})

πŸ”§ Configuration

Key configuration files:

  • src/config.py - Main application settings
  • requirements.txt - Python dependencies
  • docker/docker-compose.yml - Container orchestration
  • .env.template - Environment variables template

πŸ† Project Highlights

  • 🎯 Production Ready: Complete MLOps pipeline
  • πŸš€ One-Click Deployment: Automated export and containerization
  • πŸ“Š Comprehensive Tracking: MLflow integration
  • 🌐 Multi-Interface: Web UI + REST API
  • πŸ§ͺ Well Tested: Comprehensive test suite
  • πŸ“š Documented: Complete documentation
  • πŸ”„ CI/CD Ready: GitHub Actions compatible

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if needed
  5. Submit a pull request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

JALENDAR REDDY


⭐ Star this repository if you find it useful! ⭐

πŸš€ Ready for production deployment and LinkedIn showcase! πŸ’Ό

About

Complete MLOps Platform with Docker, Streamlit, FastAPI, and MLflow

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors