The easiest way for developers to manage Terraform infrastructure with confidence
Features β’ Quick Start β’ Documentation β’ Support
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 - 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 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!
- 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 (Azure & GCP) - Coming Soon
- Deployment Rollback
- RBAC (Role-Based Access Control)
- MCP Servers
- Public APIs
Bagel is released under the AGPL 3.0 License.
Built with β€οΈ using:
- Terraform - Infrastructure as Code
- Next.js - Nextjs Framework
- Express.js - Backend Framework
- MongoDB - Database
- Docker - Containerization
