Deploy apps to your own infrastructure with a single API call. Multi-node cluster with automatic load balancing. Powered by Podman.
git clone <repo> forgepod && cd forgepod && sudo ./scripts/forgepod-cp-install.sh
Deploy containerized apps with a single POST request. Automatic image pulling, container creation, and Traefik routing.
Scale across multiple worker nodes. Scheduler places containers on the least-loaded node automatically.
Built on Podman v5 — daemonless, rootless-capable container engine. No Docker dependency required.
Automatic wildcard routing via Traefik. Each app gets its own subdomain: app.apps.example.com.
Scale app replicas up or down via API or CLI. Containers are distributed across available worker nodes.
Interactive Swagger UI at /docs. Full REST API for deploy, scale, logs, and node management.
Built-in metrics collection with Prometheus. Visualize system and application metrics with Grafana dashboards.
Full-featured CLI (forgepodctl) for deploy, scale, logs, apps, nodes — all from your terminal.
Podman API is localhost-only. Containers never expose ports publicly — Traefik handles all external routing.
Control Plane + Worker Node architecture — simple yet powerful
ForgePod is a lightweight, self-hostable PaaS designed for developers who want simplicity and control — powered by Podman instead of Docker.
| Feature | ForgePod | Mist | Coolify | Dokku | CapRover |
|---|---|---|---|---|---|
| Container Runtime | Podman v5 | Docker | Docker | Docker | Docker |
| Multi-Node | ✓ Built-in | ✗ Single node | ✗ Single node | ✗ Single node | ✓ Cluster support |
| API-First | ✓ REST + Swagger | ✓ REST | ✓ REST | ~ CLI based | ~ CLI + API |
| Auto SSL | ✓ Traefik + Let's Encrypt | ✓ Let's Encrypt | ✓ Let's Encrypt | ✓ Let's Encrypt | ~ Via plugins |
| Monitoring | ✓ Prometheus + Grafana | ✓ Built-in | ✓ Built-in | ✗ Manual | ~ Basic |
| Load Balancing | ✓ Traefik auto | ✗ | ✗ | ✗ | ✓ Nginx |
| CLI Tool | ✓ forgepodctl | ✗ | ✗ | ✓ Built-in | ~ CLI only |
| Daemonless Runtime | ✓ Podman | ✗ Docker daemon | ✗ Docker daemon | ✗ Docker daemon | ✗ Docker daemon |
| Learning Curve | Easy | Easy | Easy | Moderate | Moderate |
| Maturity | New (2025) | New (2025) | Established | Mature | Mature |
curl command.ForgePod is actively developed with new features added continuously. We're building the PaaS we always wanted — lightweight, Podman-powered, and truly multi-node. Check the roadmap below for what's coming next.
git clone <repo> forgepod && cd forgepod
sudo ./scripts/forgepod-cp-install.sh
Installs PostgreSQL, Redis, Podman v5, Buildah, Traefik, and the FastAPI server.
sudo ./scripts/forgepod-worker-install.sh \
http://CONTROL_PLANE_IP:9000
Worker auto-registers with the control plane and sends heartbeats every 30s.
curl -X POST http://CP_IP:9000/deploy \
-H "Content-Type: application/json" \
-d '{"name":"demo","image":"nginx","replicas":2}'
Result: http://demo.apps.example.com
Core container deployment with Podman on a single server.
Git integration with automated builds via Buildah.
Worker node architecture with auto-registration and heartbeats.
Prometheus + Grafana monitoring, forgepodctl CLI, and replica scaling.
Edge node deployment with geo-aware traffic routing.