Skip to content

MLSA Hacktoberfest 2025: Cloud Domain ComposeGenie is a portal that generates production ready Docker Compose files, integrates Docker Hub for service selection

License

Notifications You must be signed in to change notification settings

MLSAKIIT/ComposeGenie

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

47 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ComposeGenie

A comprehensive web portal for generating production-ready docker-compose files with automated security scanning, misconfiguration detection, and intelligent service recommendations from Docker Hub.

To be eligible for MLSA X HACKTOBERFEST: Register here: https://register.mlsakiit.com/ Star this repo: https://github.com/keploy/keploy

Key Features

πŸ“¦ Docker Hub Integration

  • Service Catalog: Browse and search Docker Hub for official and verified images
  • Version Selection: Choose from available image versions and tags
  • Automated Fetching: Real-time service information from Docker Hub
  • Image Metadata: View pulls, stars, descriptions, and documentation

Security Scanning (Pre-Download)

  • Vulnerability Detection: Scan images for CVEs before downloading compose file
  • Severity Assessment: Identify critical, high, medium, and low vulnerabilities
  • Alternative Suggestions: Automatically suggest safer image versions if severe issues found
  • Block Downloads: Prevent downloading files with critical security issues
  • Risk Reports: Detailed security assessment for each service

Misconfiguration Detection

  • Port Conflict Detection: Identify overlapping port mappings across services
  • Missing Environment Variables: Detect required env vars not configured
  • Resource Limits: Warn about missing CPU/memory constraints
  • Volume Mount Issues: Validate volume paths and permissions
  • Network Configuration: Check network settings and connectivity
  • Dependency Issues: Validate service dependencies and startup order

Intelligent Recommendations

  • Version Alternatives: Suggest different image versions when vulnerabilities detected
  • Security Patches: Recommend patched versions with fixes
  • Performance Optimization: Suggest lighter or faster image alternatives
  • Best Practices: Configuration improvements based on Docker standards

πŸ—οΈ Architecture

Untitled Diagram drawio

Folder Structure

docker_compose_generator/
β”œβ”€β”€ frontend/                  # React web portal
β”‚   β”œβ”€β”€ src/components/       # UI components
β”‚   β”‚   β”œβ”€β”€ ServiceCatalog/   # Docker Hub service browser
β”‚   β”‚   β”œβ”€β”€ ComposerBuilder/  # Compose file builder
β”‚   β”‚   β”œβ”€β”€ SecurityDashboard/ # Vulnerability scan results
β”‚   β”‚   └── ValidationPanel/   # Misconfiguration warnings
β”‚   └── src/pages/            # Application pages
β”œβ”€β”€ backend/                   # Node.js API server
β”‚   β”œβ”€β”€ src/routes/           # REST API endpoints
β”‚   β”œβ”€β”€ src/controllers/      # Request handlers
β”‚   β”œβ”€β”€ src/services/         # Business logic
β”‚   β”‚   β”œβ”€β”€ dockerhub.js      # Docker Hub API integration
β”‚   β”‚   β”œβ”€β”€ compose.js        # Compose file generation
β”‚   β”‚   └── validation.js     # Configuration validation
β”‚   └── src/models/           # Database models
└── services/                  # Specialized microservices
    β”œβ”€β”€ security-scanner/      # CVE scanning (Python/FastAPI)
    β”œβ”€β”€ config-validator/      # Misconfiguration detection (Go)
    └── template-generator/    # Template management (Node.js)

πŸ› οΈ Technology Stack

Frontend

  • React 19 with modern hooks and functional components
  • React Router 7 for client-side routing
  • TypeScript for type-safe development
  • Tailwind CSS 4 for responsive UI design
  • Vite for fast build and development

Backend

  • Node.js with Express framework
  • MongoDB for data persistence (templates, scan cache)
  • Docker Hub API for service catalog integration
  • Express Rate Limit for API throttling
  • Winston structured logging

Microservices

  • Python/FastAPI (Security Scanner) - Trivy integration for CVE scanning
  • Go/Gin (Config Validator) - High-performance validation engine
  • Node.js/Express (Template Generator) - Template management
  • Redis for caching and job queuing
  • PostgreSQL for scan results and analytics

🚦 Getting Started

Prerequisites

  • Node.js 22+ (LTS)
  • Python 3.9+
  • Go 1.21+
  • MongoDB 8.0+
  • Redis 7.4+
  • Docker & Docker Compose

Quick Start

# Clone the repository
git clone https://github.com/Sanjeev-Kumar78/docker_compose_generator.git
cd docker_compose_generator

# Start all services with Docker Compose
docker-compose up -d

# Or run individual components:

# Frontend (React App)
cd frontend 
npm install
npm run dev

# Backend API
cd backend 
npm install 
npm run dev

# Microservices
cd services/security-scanner
python -m uvicorn main:app --reload
cd services/template-generator 
npm run dev
cd services/config-validator
go run main.go

The application (Local Runtime Endpoints) will be available at:

🎯 Use Cases

Development Teams

  • Quick Setup: Browse Docker Hub and compose multi-service environments rapidly
  • Safe Dependencies: Pre-scanned images ensure secure development environments
  • Error Prevention: Catch port conflicts and missing configs before runtime
  • Learning Tool: Understand service configurations and relationships

DevOps Engineers

  • Production Deployment: Generate secure, validated compose files
  • Security Compliance: Automated vulnerability scanning before deployment
  • Configuration Validation: Prevent common deployment failures
  • Version Management: Evaluate and select safe image versions

Security Teams

  • Vulnerability Prevention: Block downloads with critical security issues
  • Risk Assessment: Detailed security reports for all services
  • Compliance Checking: Validate against security standards
  • Audit Trail: Track security scan results and decisions

🀝 Contributing

We welcome contributions! Please see CONTRIBUTOR.md for guidelines on:

  • Setting up the development environment
  • Code style and standards
  • Submitting pull requests
  • Reporting issues

πŸ“„ License

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

🌟 Roadmap

  • Basic project structure
  • Frontend framework setup (React 19 + Vite + TypeScript)
  • Docker Hub API integration for service catalog
  • Docker Compose file builder UI
  • Security scanner service (CVE detection)
  • Configuration validator service (misconfiguration detection)
  • Port conflict detection
  • Missing environment variable detection
  • Alternative version suggestion engine
  • Download blocking for severe vulnerabilities
  • Template management system
  • Export options (Compose, Swarm, Kubernetes)
  • CI/CD pipeline integration

πŸ“š Documentation

πŸ“ž Support


Made with ❀️ for the Docker community

About

MLSA Hacktoberfest 2025: Cloud Domain ComposeGenie is a portal that generates production ready Docker Compose files, integrates Docker Hub for service selection

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5