You don’t need Kubernetes. You probably don’t even need a PaaS.
The pitch
Kamal is a deployment tool from 37signals (the Basecamp/HEY people). It deploys Docker containers to bare metal or VPS servers over SSH. No cluster, no orchestrator, no 200$/month platform fee.
What you get:
- Zero-downtime deploys. Blue-green deployment with automatic health checks. Push and it’s live — no downtime window, no maintenance page.
- Works with any server. Got a VPS? You can deploy to it. No vendor lock-in, no proprietary infrastructure.
- Simple configuration. One YAML file. Define your servers, your Docker image, your environment variables. That’s it.
- SSL included. Automatic Let’s Encrypt certificates via the built-in proxy. No nginx config to maintain.
What it replaces
| Before | After |
|---|---|
| Heroku (50-500$/mo) | Kamal + Hetzner (5-50$/mo) |
| Manual SSH + scripts | kamal deploy |
| Kubernetes YAML hell | One config file |
| Platform lock-in | Any Linux server |
When it fits
- You’re deploying a web app and don’t need auto-scaling to hundreds of instances
- You want deploys to be simple and predictable
- You’re paying too much for Heroku/Render/Fly and want off the cloud treadmill
When it doesn’t
- You genuinely need auto-scaling across many nodes (you probably don’t yet)
- Your team already has Kubernetes expertise and infrastructure in place