Bagel is an open-source, self-service platform that makes Terraform-based infrastructure provisioning simple, fast, and intuitive - built for developers who just want to ship.
Empower your team to deploy infrastructure seamlessly with minimal dependencies. Simple, intuitive, and powerful.
- Developers who want to own their infrastructure without the complexity
- Teams seeking self-service infrastructure provisioning
- Startups transitioning to Infrastructure as Code (IaC)
- Organizations looking to reduce infrastructure deployment bottlenecks
|
Deploy infrastructure with minimal clicks. No manual Terraform commands or waiting on DevOps teams. Seamlessly connect your repositories and manage infrastructure code directly from your Git workflows. |
Track deployment progress and view execution logs in real-time as your infrastructure is provisioned. Full support for AWS infrastructure with multi-cloud support coming soon. |
|
Organize your infrastructure into projects and spaces for better management and team collaboration. Complete audit trail of all deployments with detailed logs and status tracking. |
Clean, intuitive interface built with Next.js and React - designed for developers by developers. Get started quickly without complex setup. Just Docker, and you're ready to go. |
Get Bagel up and running in less than 2 minutes!
- Docker (version 20.10+)
- Docker Compose (version 2.0+)
- 4GB RAM minimum
- Internet connection for pulling images
# Clone the repository
git clone https://github.com/TheBagelProject/bagel-backend
cd bagel-backend
# Start all services
docker-compose up -d
# Check service status
docker-compose psThat's it! 🎉 Bagel is now running.
| Service | URL | Description |
|---|---|---|
| UI | localhost:3000 |
Main web interface |
| API | localhost:5000 |
Backend REST API |
| Database | localhost:27017 |
MongoDB (internal) |
docker-compose downBagel consists of four main components running as Docker containers:
┌─────────────────────────────────────────────────────────-┐
│ Bagel Platform │
├──────────────┬──────────────┬──────────────┬───────────--┤
│ Frontend │ Backend │ Server │ Database │
│ (Next.js) │ (Node.js) │ (Terraform) │ (MongoDB) │
│ │ │ + AWS CLI │ │
│ Port 3000 │ Port 5000 │ │ Port 27017 │
└──────────────┴──────────────┴──────────────┴───────────--┘
- 🎨 bagel-ui: Modern React/Next.js frontend with TypeScript
- ⚙️ bagel-backend: Express.js API server with MongoDB integration
- 🛠️ bagel-server: Terraform execution environment with AWS CLI
- 💾 mongo-bagel: MongoDB database for storing configurations and state
You can customize Bagel by editing the docker-compose.yml file:
environment:
- NODE_ENV=production
- PORT=5000
- MONGO_URI=mongodb://mongo-bagel:27017/BagelDB
# Add your custom configurations hereDefault ports can be changed in docker-compose.yml:
- Frontend:
3000→"YOUR_PORT:3000" - Backend:
5000→"YOUR_PORT:5000" - MongoDB:
27017→"YOUR_PORT:27017"
# All services
docker-compose logs -f
# Specific service
docker-compose logs -f bagel-backend
docker-compose logs -f bagel-ui# Restart all services
docker-compose restart
# Restart specific service
docker-compose restart bagel-backend# Pull latest images
docker-compose pull
# Restart with new images
docker-compose up -dWant to contribute or customize Bagel?
Development and contribution guidelines coming soon! 🚀
Stay tuned for:
- Backend development setup guide
- Frontend development guide
- Contribution guidelines
- Code of conduct
In the meantime, feel free to explore the codebase and open an issue with any questions!
| Repository | Description | Status |
|---|---|---|
| bagel-ui | 🎨 Frontend - Modern React/Next.js UI with TypeScript | |
| bagel-backend | ⚙️ Backend - Express.js API server with MongoDB integration | |
| sample-terraform-files | 📋 Sample Terraform configurations for users to test out |
- Discord Community - Coming Soon! 🚀
- GitHub Discussions - Ask questions and share ideas
Report an issue and we'll get it fixed!
|
🌍 AWS Infrastructure Support 🔗 GitHub Integration |
📊 Real-time Deployment Logs 🚀 Self-Service Project Management |
|
💾 Efficient Statefile Management ☁️ Multi-Cloud Support ⏮️ Deployment Rollback |
🔐 RBAC (Role-Based Access Control) 🔌 MCP Servers 🌐 Public APIs |
Bagel is released under the AGPL 3.0 License.
Visit our official website at thebagelproject.dev
Built with ❤️ using:
- Terraform - Infrastructure as Code
- Next.js - React Framework
- Express.js - Backend Framework
- MongoDB - Database
- Docker - Containerization