Last verified:
Kamal deploys your application to a server; it does not run on one. You install it on your own machine or CI runner, point it at a host over SSH, and it installs Docker, pushes your image, and cuts traffic over with zero downtime. So the question is not which VPS runs Kamal well โ any of them do โ but which one makes a good deploy target.
That narrows the criteria considerably. Kamal handles Docker and the reverse proxy for you, and deliberately leaves everything else alone.
What to Look for in a Kamal Deploy Target
- Disk headroom. Kamal keeps old images on the server for rollback and prunes them after three days. Frequent deploys of a large image eat disk faster than most people expect.
- RAM for the deploy overlap. The old and new containers run simultaneously until the health check passes, so peak memory is steady-state plus one app container.
- Fast, reliable networking. Every deploy pulls an image from your registry. A slow pull is a long deploy.
- Snapshots or image rebuilds. Kamal does not manage the host OS, so being able to rebuild a server quickly matters more than usual.
- Architecture match. Kamal builds locally by default. If your machine is arm64 and the server is amd64, you either cross-build or use a remote builder.
Top VPS Options for Kamal Deployments
| Provider | Price | CPU | RAM | Storage | Best For | Affiliate Link |
|---|---|---|---|---|---|---|
| Contabo VPS | โฌ5.99/mo | 4 vCPUs | 6 GB | 400 GB SSD | Large images and long rollback history | Contabo |
| Hetzner Cloud | โฌ5.49/mo | 2 vCPUs | 4 GB | 40 GB NVMe | Best balance for a single app plus Postgres | Hetzner |
| DigitalOcean | $6/mo | 1 vCPU | 1 GB | 25 GB SSD | Documentation for the host setup Kamal skips | DigitalOcean |
| Vultr | $5/mo | 1 vCPU | 1 GB | 25 GB SSD | Placing the app near its users | Vultr |
| Linode | $5/mo | 1 vCPU | 1 GB | 25 GB SSD | Predictable pricing, simple networking | Linode |
Deep Dive: Comparing the Options
DigitalOcean
The $6 droplet is 1 vCPU and 1 GB, which is tight once the deploy overlap is counted โ a 400 MB app container plus its replacement plus Postgres will not fit, and you will want the next tier up. What DigitalOcean gives you instead is the best documentation for the work Kamal deliberately does not do: firewall rules, swap files, unattended upgrades, and monitoring. Kamal installs Docker and stops there, so if this is your first time running your own host, that gap is where the time goes.
Hetzner Cloud
At โฌ5.49/month with 2 vCPUs, 4 GB, and 40 GB NVMe, this is the plan that fits a typical single-app deployment without immediately needing an upgrade: the app, a Postgres accessory, and the extra container that exists briefly during each deploy. Note that Hetzner raised prices in June 2026, so it is no longer the outlier on cost that older comparisons describe. Snapshots are the practical draw โ taking one before a risky migration gives you a recovery path that kamal rollback does not, since rollback restores the container, not the database.
Contabo
400 GB on the entry plan solves the one problem specific to Kamal: image accumulation. If your image is measured in gigabytes and you deploy several times a day, disk is your binding constraint, and Contabo removes it for โฌ5.99. The trade-off is network variability at peak times, which shows up as slower registry pulls and therefore slower deploys.
Vultr and Linode
Both are $5 for 1 vCPU / 1 GB / 25 GB. At that size you are deploying a small service, not an application with a database attached. Vultrโs advantage is the region list, which matters if latency to your users is the reason you left a managed platform. Linodeโs is predictability โ the pricing has few surprises and the networking setup is straightforward.
Which VPS is Best for Kamal in 2026?
- Best overall: DigitalOcean, for the host-level documentation that fills the gap Kamal leaves. Budget for a tier above the $6 entry droplet if your app has a database.
- Best specs for the money: Hetzner Cloud โ 4 GB and 40 GB NVMe covers a real deployment at โฌ5.49.
- Best for large images: Contabo, where 400 GB means rollback history never becomes the constraint.
For a complete overview of all hosting options, check our full VPS comparison.
FAQs
Does Kamal need to be installed on the VPS?
No. Kamal is a Ruby gem you run from your own machine or a CI runner. It connects to the server over SSH, installs Docker if it is missing, pushes your image, and starts your containers. The only thing it leaves running on the host is kamal-proxy, a small HTTP proxy that owns ports 80 and 443 and handles the zero-downtime cutover. Nothing about Kamal itself factors into the serverโs resource requirements.
What is the smallest VPS that works as a Kamal target?
A 1 GB, 1 vCPU server will deploy a small stateless service, but it leaves nothing spare for the deploy overlap, where the old and new containers run at the same time. Add swap if you stay at that size. For anything with a database attached, 4 GB is the realistic floor โ that covers the app, Postgres, and the second app container that exists for the length of a health check.
How much disk does a Kamal deployment consume over time?
Kamal keeps old containers and images so a rollback does not need a registry pull, and prunes them after three days by default. Budget for your application data plus roughly three days of image versions, remembering that shared base layers are stored only once. The failure mode is delayed: a full disk breaks the next deploy rather than the one that filled it, so alert on free disk rather than discovering it during an outage.
Final Thoughts
Kamal removes the platform layer, not the server administration. Whichever provider you choose, you still own the firewall, the OS updates, and the backups โ Kamalโs scope ends at Docker and the proxy.
For most deployments, start on DigitalOcean if you want the documentation, or Hetzner if you want the specs and are comfortable configuring the host yourself. Move to Contabo when image history rather than memory becomes the thing you keep running out of.
For a comprehensive comparison of all hosting options, visit our full VPS comparison.
Note: All prices are as per the latest available data. Always verify current pricing directly with providers for the most accurate planning.