- Notifications
You must be signed in to change notification settings - Fork10
Replace "github" with "gitcontainer" in URLs to generate a dockerfile.
License
coderamp-labs/gitcontainer
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Turn any GitHub repository into a production-ready Docker container with AI-powered Dockerfile generation.
Gitcontainer is an AI-powered web application that automatically generates production-ready Dockerfiles by analyzing GitHub repositories. Simply paste a GitHub URL and get a tailored Dockerfile with intelligent base image selection, dependency management, and Docker best practices.
Simply replacegithub.com
withgitcontainer.com
in any GitHub repository URL to instantly access the Dockerfile generation page for that repository.
For example:
https://github.com/username/repo → https://gitcontainer.com/username/repo
- 🔄 Instant URL Access: Just replace 'github.com' with 'gitcontainer.com' in any GitHub URL
- 🤖 AI-Powered Analysis: Uses OpenAI GPT-4 to analyze repository structure and generate intelligent Dockerfiles
- ⚡ Real-time Streaming: Watch the AI generate your Dockerfile in real-time with WebSocket streaming
- 🎯 Smart Detection: Automatically detects technology stacks (Python, Node.js, Java, Go, etc.)
- 🔧 Production-Ready: Generates Dockerfiles following best practices with proper security, multi-stage builds, and optimization
- 📋 Additional Instructions: Add custom requirements for specialized environments
- 📄 Docker Compose: Automatically suggests docker-compose.yml for complex applications
- 🎨 Modern UI: Clean, responsive interface with Monaco editor for syntax highlighting
- 📱 Mobile Friendly: Works seamlessly on desktop and mobile devices
- Python 3.9 or higher
- Git
- OpenAI API key
Clone the repository:
git clone https://github.com/cyclotruc/gitcontainer.gitcd gitcontainer
Install dependencies:
pip install -r requirements.txt
Set up environment variables:
# Create .env fileecho"OPENAI_API_KEY=your_openai_api_key_here"> .env
Run the application:
python app.py
Open your browser:Navigate to
http://localhost:8000
- URL Processing: Access any repository by replacing 'github.com' with 'gitcontainer.com' in the URL
- Repository Cloning: Gitcontainer clones the GitHub repository locally using Git
- Code Analysis: Usesgitingest to analyze the repository structure and extract relevant information
- AI Generation: Sends the analysis to OpenAI GPT-4 with specialized prompts for Dockerfile generation
- Smart Optimization: The AI considers:
- Technology stack detection
- Dependency management
- Security best practices
- Multi-stage builds when beneficial
- Port configuration
- Environment variables
- Health checks
cyclotruc-gitcontainer/├── app.py # Main FastAPI application├── requirements.txt # Python dependencies├── .env # Environment variables (create this)├── static/ # Static assets (icons, CSS)├── templates/│ └── index.jinja # Main HTML template└── tools/ # Core functionality modules ├── __init__.py ├── create_container.py # AI Dockerfile generation ├── git_operations.py # GitHub repository cloning └── gitingest.py # Repository analysis
Variable | Description | Required |
---|---|---|
OPENAI_API_KEY | Your OpenAI API key | Yes |
PORT | Server port (default: 8000) | No |
HOST | Server host (default: 0.0.0.0) | No |
You can use the tools programmatically:
fromtoolsimportclone_repo_tool,gitingest_tool,create_container_toolimportasyncioasyncdefgenerate_dockerfile(github_url):# Clone repositoryclone_result=awaitclone_repo_tool(github_url)# Analyze with gitingestanalysis=awaitgitingest_tool(clone_result['local_path'])# Generate Dockerfiledockerfile=awaitcreate_container_tool(gitingest_summary=analysis['summary'],gitingest_tree=analysis['tree'],gitingest_content=analysis['content'] )returndockerfile# Usageresult=asyncio.run(generate_dockerfile("https://github.com/user/repo"))print(result['dockerfile'])
Use the "Additional instructions" feature to customize generation:
"Use Alpine Linux for smaller image size"
"Include Redis and PostgreSQL"
"Optimize for production deployment"
"Add development tools for debugging"
This project is licensed under the MIT License - see theLICENSE file for details.
- OpenAI for providing the GPT-4 API
- gitingest for repository analysis capabilities
- FastAPI for the excellent web framework
- Monaco Editor for code syntax highlighting
- GitHub Repository:https://github.com/cyclotruc/gitcontainer
- Demo: Try it live with example repositories
- Issues:Report bugs or request features
Made with ❤️ byRomain Courtois
Turn any repository into a container in seconds!
About
Replace "github" with "gitcontainer" in URLs to generate a dockerfile.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.