{"id":29109571,"url":"https://github.com/xdcobra/gofiber-starter-stack","last_synced_at":"2026-04-13T03:04:59.348Z","repository":{"id":300742569,"uuid":"1002336477","full_name":"XDcobra/gofiber-starter-stack","owner":"XDcobra","description":"🚀 Production-ready Go Fiber microservices template with Docker Compose, HA Redis clustering, MySQL, Prometheus monitoring, and Grafana visualization.","archived":false,"fork":false,"pushed_at":"2025-06-23T11:16:22.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-23T11:34:50.413Z","etag":null,"topics":["boilerplate","docker","docker-compose","go","gofiber","golang","gorm","grafana","high-availability","monitoring","mysql","orm","prometheus","redis","sentinel","template"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XDcobra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-15T08:44:27.000Z","updated_at":"2025-06-23T11:29:03.000Z","dependencies_parsed_at":"2025-06-23T11:37:48.091Z","dependency_job_id":null,"html_url":"https://github.com/XDcobra/gofiber-starter-stack","commit_stats":null,"previous_names":["xdcobra/go_license_key_api_template"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/XDcobra/gofiber-starter-stack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XDcobra%2Fgofiber-starter-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XDcobra%2Fgofiber-starter-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XDcobra%2Fgofiber-starter-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XDcobra%2Fgofiber-starter-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XDcobra","download_url":"https://codeload.github.com/XDcobra/gofiber-starter-stack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XDcobra%2Fgofiber-starter-stack/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262553072,"owners_count":23327585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate","docker","docker-compose","go","gofiber","golang","gorm","grafana","high-availability","monitoring","mysql","orm","prometheus","redis","sentinel","template"],"created_at":"2025-06-29T07:03:11.686Z","updated_at":"2026-04-13T03:04:59.343Z","avatar_url":"https://github.com/XDcobra.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoFiber Starter Stack\n\n🚀 A production-ready Go Fiber microservices template with multiple deployment options, \nfeaturing Redis clustering, MySQL database, comprehensive monitoring, and observability solutions.\n\n---\n\n## 🎯 What This Repository Offers\n\nThis repository provides a complete microservices stack built with **Go Fiber** that can be deployed using either:\n\n- **🐳 Docker Compose** - For local development and simple deployments\n- **☸️ Kubernetes with Helm** - For production-ready cloud deployments\n\n### 🌟 Key Features\n\n- **Go Fiber API Gateway** - High-performance HTTP framework with built-in middleware\n- **Redis Cluster** - Master-slave replication with Redis Sentinel for high availability\n- **MySQL Database** - Relational database with GORM ORM integration\n- **Comprehensive Monitoring Stack**:\n  - **Prometheus** - Metrics collection and monitoring\n  - **Grafana** - Data visualization and dashboards\n  - **Loki \u0026 Promtail** - Log aggregation and querying (Kubernetes only)\n- **Redis Insight** - Redis GUI for database management\n- **Go Swagger Documentation** - Auto-generated API documentation\n- **Prometheus Auto Service Discovery** - Automatic service monitoring (Kubernetes only)\n\n---\n\n## 🚀 Quick Start\n\nChoose your deployment method:\n\n### 🐳 Docker Compose (Local Development)\nPerfect for local development, testing, and simple deployments.\n\n📖 **[Click here for Docker Compose Documentation](./services/README.md)**\n\n```bash\n# Quick start with Docker Compose\ngit clone https://github.com/XDcobra/gofiber-starter-stack.git\ncd gofiber-starter-stack\nmake docker-start\n```\n\n### ☸️ Kubernetes with Helm (Production)\nEnterprise-ready deployment with advanced features like log aggregation and auto service discovery.\n\n📖 **[Click here for Kubernetes/Helm Documentation](./charts/README.md)**\n\n```bash\n# Quick start with Kubernetes\ngit clone https://github.com/XDcobra/gofiber-starter-stack.git\ncd gofiber-starter-stack/charts/gofiber-starter-stack\nhelm install gofiber-starter-stack .\n```\n\n---\n\n## 🏗️ Architecture Overview\n\n```\n┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐\n│   API Gateway   │    │     Grafana     │    │   Prometheus    │\n│   (Go Fiber)    │    │   (Port 3000)   │    │   (Port 9090)   │\n│   (Port 8000)   │    │                 │    │                 │\n└─────────────────┘    └─────────────────┘    └─────────────────┘\n         │                       │                       │\n         └───────────────────────┼───────────────────────┘\n                                 │\n         ┌─────────────────────────────────────────────────┐\n         │              Redis Cluster                      │\n         │  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │\n         │  │  Master │ │  Slave  │ │Sentinel1│ │Sentinel2│ │\n         │  │ (6379)  │ │ (6379)  │ │ (26379) │ │ (26380) │ │\n         │  └─────────┘ └─────────┘ └─────────┘ └─────────┘ │\n         │                    │                    │         │\n         │              ┌─────────┐         ┌─────────┐     │\n         │              │Sentinel3│         │Redis    │     │\n         │              │(26381)  │         │Insight  │     │\n         │              └─────────┘         │(5540)   │     │\n         └──────────────────────────────────┴─────────┴─────┘\n                                 │\n         ┌─────────────────────────────────────────────────┐\n         │              MySQL Database                     │\n         │              (Port 3306)                        │\n         └─────────────────────────────────────────────────┘\n\n         ┌─────────────────────────────────────────────────┐\n         │              Loki \u0026 Promtail                   │\n         │              (Kubernetes Only)                 │\n         │  ┌─────────┐ ┌─────────┐ ┌─────────┐           │\n         │  │  Loki   │ │Promtail1│ │Promtail2│           │\n         │  │ (3100)  │ │         │ │         │           │\n         │  └─────────┘ └─────────┘ └─────────┘           │\n         └─────────────────────────────────────────────────┘\n```\n\n---\n\n## 📋 Prerequisites\n\n### For Docker Compose\n- Docker and Docker Compose\n- Go 1.24.4 or higher\n- Git\n\n### For Kubernetes/Helm\n- Kubernetes cluster (minikube, kind, or cloud provider)\n- Helm 3.x\n- kubectl configured\n- Ingress controller (nginx-ingress recommended)\n\n---\n\n## 🔧 API Endpoints\n\n### Health Check\n- `GET /` - API health check\n\n### Redis Operations\n- `GET /redis/ping` - Redis connection test\n- `GET /redis/get` - Get value from Redis\n- `POST /redis/post` - Set value in Redis\n\n### MySQL Operations\n- `GET /mysql/get/:id` - Get record by ID\n- `POST /mysql/post` - Create new record\n\n### Documentation \u0026 Monitoring\n- `GET /swagger/*` - Swagger API documentation\n- `GET /metrics` - Prometheus metrics endpoint\n\n---\n\n## 🔐 Security Features\n\nBoth deployment methods include:\n\n- **Authentication** for monitoring dashboards (Prometheus, Grafana)\n- **Database security** with configurable credentials\n- **Service isolation** and network security\n- **Environment-based configuration** management\n\n---\n\n## 📊 Monitoring \u0026 Observability\n\n### Docker Compose\n- Prometheus metrics collection\n- Grafana dashboards\n- Basic logging\n\n### Kubernetes/Helm\n- **Enhanced monitoring** with auto service discovery\n- **Centralized logging** with Loki \u0026 Promtail\n- **Advanced dashboards** and alerting\n- **Service mesh ready** architecture\n\n---\n\n## 🚀 Production Deployment\n\n### Docker Compose\n- Suitable for small to medium deployments\n- Easy to set up and maintain\n- Good for development and testing environments\n\n### Kubernetes/Helm\n- **Enterprise-grade** scalability and reliability\n- **Auto-scaling** and load balancing\n- **Advanced monitoring** and logging\n- **Multi-environment** support (dev, staging, prod)\n\n---\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n---\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 🙏 Acknowledgments\n\n- [Go Fiber](https://gofiber.io/) - Fast HTTP framework\n- [GORM](https://gorm.io/) - Go ORM library\n- [Redis](https://redis.io/) - In-memory data store\n- [Prometheus](https://prometheus.io/) - Monitoring system\n- [Grafana](https://grafana.com/) - Data visualization\n- [Loki](https://grafana.com/oss/loki/) - Log aggregation\n- [Helm](https://helm.sh/) - Kubernetes package \n- [Go Swagger](https://github.com/gofiber/swagger) - Swagger for GoFiber\n\n---\n\n## 📞 Support\n\nIf you have any questions or need help, please open an issue on GitHub.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxdcobra%2Fgofiber-starter-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxdcobra%2Fgofiber-starter-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxdcobra%2Fgofiber-starter-stack/lists"}