Platform DevOps self-hosted open source untuk membangun, mendeploy, memonitor, dan mengelola aplikasi semuanya dari satu dashboard terpusat.
Bukan sekadar "dashboard Docker". InfraForge adalah Internal Developer Platform (IDP) sederhana yang menyatukan tool-tool DevOps yang biasanya berdiri sendiri (Docker, Traefik, Prometheus, Grafana, Loki, GitHub Actions) menjadi satu alur kerja yang mulus.
- Masalah yang Diselesaikan
- Cara Kerja
- Arsitektur
- Fitur Utama
- Tech Stack
- Struktur Folder
- Getting Started
- Roadmap
- Kenapa Namanya InfraForge?
- License
Tanpa InfraForge, deploy aplikasi biasanya melewati banyak tool yang terpisah:
GitHub → GitHub Actions → Docker Build → Docker Push → SSH ke VPS
→ docker compose pull → docker compose up
→ buka Grafana → buka Prometheus → buka Loki
→ cek logs → cek container → cek SSL → backup database
Dengan InfraForge, alurnya jadi:
Push Code → GitHub Actions → InfraForge → Deploy
Sisanya routing, HTTPS, monitoring, logging, alerting, backup ditangani otomatis oleh platform.
flowchart TD
A[Developer push code] --> B[GitHub Repository]
B --> C["GitHub Actions<br/>lint → test → build image"]
C --> D[Push image ke GHCR]
D --> E[InfraForge mendeteksi image terbaru]
E --> F["docker compose up<br/>+ health check"]
F --> G[Traefik: routing & HTTPS otomatis]
F --> H[Prometheus: scrape metrics]
F --> I[Logs dikirim ke Loki]
H --> J[Grafana Dashboard]
I --> J
H --> K[Alertmanager]
K --> L["Notifikasi ke Discord / Telegram"]
- Push -> developer push code ke GitHub.
- CI -> GitHub Actions menjalankan lint, test, build image, lalu push ke GHCR.
- Deploy -> InfraForge menarik image terbaru dan menjalankan
docker compose upbeserta health check. - Routing -> Traefik otomatis membuat routing dan HTTPS untuk domain aplikasi.
- Observability -> Prometheus mengambil metric, Loki mengumpulkan log, semuanya tampil di Grafana.
- Alerting -> Alertmanager mengirim notifikasi ke Discord/Telegram saat CPU tinggi, RAM penuh, atau container mati.
flowchart TD
Dashboard[InfraForge Dashboard]
Dashboard --> Backend["Backend (FastAPI)"]
Dashboard --> Frontend["Frontend (React)"]
Dashboard --> CLI["CLI (Typer)"]
Backend --> Docker
Backend --> PostgreSQL
Backend --> Redis
Backend --> MinIO
Backend --> Traefik
Backend --> Prometheus
Backend --> Grafana
Backend --> Loki
Backend --> Alertmanager
Backend --> GHA[GitHub Actions]
| Kategori | Detail |
|---|---|
| Deployment | Deploy aplikasi hanya dengan beberapa klik |
| Container Management | Start, stop, restart, delete, view logs |
| Monitoring | CPU, RAM, Disk, Docker, Network, Uptime |
| Logging | Lihat log seluruh container dari satu tempat |
| Project Management | Satu server bisa kelola banyak project sekaligus |
| Authentication | JWT-based authentication |
| Backup | Backup database & file ke MinIO |
| Dashboard | Ringkasan container, resource usage, deployment history, alerts |
Language
Backend
Frontend
Database
Cache
Reverse Proxy
SSL
Container
Container Registry
CI/CD
Monitoring
Logging
Alerting
Object Storage
Documentation
Testing
API Testing
CLI
DNS
InfraForge/
├── backend/ # FastAPI app (api, core, models, services, dst)
├── frontend/ # React app
├── infrastructure/ # Config Traefik, Postgres, Redis, MinIO, Prometheus, Grafana, Loki, dst
├── cli/ # CLI berbasis Typer
├── docs/ # Dokumentasi tambahan
├── .github/workflows # CI/CD pipelines
└── docker-compose.yml
git clone https://github.com/Varaaa-arch/InfraForge.git
cd InfraForge
cp .env.example .env
docker compose up -dSetup lengkap masih dalam pengembangan, instruksi detail akan ditambahkan seiring progress.
- Infra = Infrastructure
- Forge = menempa, membangun sesuatu yang kuat
"Tempat untuk membangun, mengelola, dan mengoperasikan infrastruktur aplikasi."
Nama ini sengaja dibuat fleksibel saat project berkembang ke arah Kubernetes, GitOps, atau multi-cloud, nama InfraForge tetap relevan.
Proyek ini dilisensikan di bawah Apache License 2.0. Lihat file LICENSE untuk informasi selengkapnya.