Self-Hosted PaaS: Coolify vs Dokku vs CapRover vs Kamal for 2026
Modern cloud PaaS platforms like Heroku, Render, Fly.io, and Vercel offer unmatched developer ergonomics: push code to GitHub and get an automated build with zero downtime, instant SSL, and preview environments.
However, as soon as you add Postgres databases, background workers, Redis caches, and persistent disk volumes, the monthly bill explodes.
Self-hosting your own PaaS platform on a single $5–$20/mo VPS (Hetzner, DigitalOcean, Vultr) gives you:
-
Instant Git-Push Deploys: Automatic webhooks on
git push main. - Automated SSL Certificates: Let's Encrypt certificates managed automatically via Traefik or Caddy.
- One-Click Databases: Provision Postgres, MySQL, Redis, MongoDB, and ClickHouse instances without per-GB fees.
- Predictable Fixed Pricing: Run 15+ full-stack apps and background workers on 8GB RAM without per-seat or per-app charges.
Here is a 2026 production breakdown of the 4 major open-source PaaS engines: Coolify, Dokku, CapRover, and Kamal.
1. Feature Breakdown & Architecture
| Engine | Primary Interface | Architecture | Best For | Multi-Server Support |
|---|---|---|---|---|
| Coolify | Modern React Web UI | Docker Engine + Traefik | Teams wanting a polished UI like Vercel/Render | Yes (via SSH agents) |
| Dokku | CLI & Git Hook (git push dokku) |
Docker + Heroku Buildpacks / Nixpacks | Solo devs & minimalists who live in terminal | Single host (native) |
| CapRover | Lightweight Web UI | Docker Swarm + Nginx | Budget VPS setups & microservice clusters | Yes (Swarm cluster) |
| Kamal 2 | CLI Deploy Tool | Plain Docker (Zero daemon) | Rails, Node & Go apps deployed directly | Yes (Multi-host) |
2. Option A: Coolify (Modern Self-Hosted Vercel / Heroku)
Coolify is currently the most active and user-friendly open-source PaaS. It supports GitHub/GitLab integrations, automatic PR preview environments, and 50+ one-click open-source templates.
Installation (1-Line Command on Ubuntu 22.04 / 24.04):
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash
Once installed, navigate to http://YOUR_SERVER_IP:8000 to register the admin account, connect your GitHub token, and configure custom domains with automatic Traefik SSL certificates.
3. Option B: Dokku (The Original CLI-Driven Heroku Alternative)
If you love the pure Heroku workflow (git push heroku master) without a web UI daemon consuming CPU/RAM:
Installation:
wget -NP . https://dokku.com/bootstrap.sh
sudo DOKKU_TAG=v0.34.8 bash bootstrap.sh
Adding SSH Key & Deploying an App:
# On your VPS
cat ~/.ssh/id_ed25519.pub | sudo dokku ssh-keys:add admin
# Create App and Postgres Database
dokku apps:create api-service
dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres
dokku postgres:create api-db
dokku postgres:link api-db api-service
# Setup Domain & Auto Let's Encrypt SSL
dokku domains:set api-service api.yourdomain.com
dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git letsencrypt
dokku letsencrypt:enable api-service
Deploy from your local machine:
git remote add dokku dokku@your-server-ip:api-service
git push dokku main
4. Hardware Sizing & Recommended VPS Specs
| Scale | Apps & Databases | Recommended VPS | Monthly Cost |
|---|---|---|---|
| Hobby / Side Projects | 1-3 Next.js / Node apps + SQLite / Redis | Hetzner CX22 (2 vCPU, 4GB RAM) | ~€3.79 / mo |
| Early Stage Startup | 5-10 Apps + Postgres + Redis + Workers | Hetzner CPX31 (4 vCPU, 8GB RAM) | ~€13.50 / mo |
| Growth Workload | 20+ Microservices + CI Runners + DBs | Hetzner CCX23 (4 Dedicated vCPU, 16GB RAM) | ~€34.00 / mo |
5. Production Hardening & Backup Strategy
- Firewall (UFW): Restrict SSH to key-based auth only and close all internal ports (5432, 6379, 8000) behind Traefik/Caddy.
-
Automated Database Dumps: Schedule automated
pg_dumpjobs pushing encrypted archives to S3 / Garage / Backblaze B2. -
Log Rotation: Configure Docker daemon
/etc/docker/daemon.jsonwithmax-size: "50m"andmax-file: "5"to prevent disk overflow.
Find curated PaaS blueprints and cost calculators on SelfHostStack.
For production Docker Compose templates, zero-trust guides, and automated backup scripts, download the Self-Hosted Starter Stack Pack ($29).
Top comments (0)