Dokku vs Kamal
Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.
Open source · MIT
A self-hosted, Docker-based mini Heroku for deploying apps on your own server.
Open source · MIT
Deploys containerized web apps to your own servers with zero-downtime switching.
The short answer
Choose Dokku if you need…
- Developers who want Heroku-style deployment on a server they control
- Small teams hosting a handful of web apps on a single VM
- People comfortable administering a Linux server over SSH
Choose Kamal if you need…
- Developers who want to self-host web apps without adopting a managed platform
- Teams running the same app across several servers over SSH
- Rails developers, since the tool was originally built for Rails
- Projects that already run in Docker containers
Side-by-side
| Dokku | Kamal | |
|---|---|---|
| Type | App | Dev tool |
| Price | Free and open source | Free and open source |
| Licence | MIT | MIT |
| GitHub stars | 32.2k | 14.7k |
| Setup difficulty | Intermediate | Intermediate |
| How you get it | See the README | See the README |
| Main language | Go | Ruby |
| Last code update | 4 days ago | 16 days ago |
What each one is
Dokku
Dokku is a platform-as-a-service you install on your own server. It lets you deploy web applications by pushing code to it, much like Heroku, and it runs each app in Docker containers. People use it to host their own apps without paying for a managed hosting service.
Kamal
Kamal is a deployment tool that takes a web app packaged in Docker and puts it onto one or more servers you control, such as bare metal machines or cloud VMs. It uses a proxy called kamal-proxy to switch traffic between old and new containers so users are not interrupted during updates. It was built originally for Rails apps but the README says it works with any web app that can be containerized.
Best for
Dokku
- Developers who want Heroku-style deployment on a server they control
- Small teams hosting a handful of web apps on a single VM
- People comfortable administering a Linux server over SSH
Kamal
- Developers who want to self-host web apps without adopting a managed platform
- Teams running the same app across several servers over SSH
- Rails developers, since the tool was originally built for Rails
- Projects that already run in Docker containers
Strengths
Dokku
- Familiar Heroku-style workflow on hardware you control
- Open source under the MIT license with 32k+ GitHub stars
- Runs apps in Docker containers
Kamal
- Supports zero-downtime deploys according to the README
- Works across multiple servers and any cloud or bare metal host
- Released under the permissive MIT license
Not ideal for
Dokku
- People who want no server administration at all, since it needs a fresh Ubuntu or Debian VM set up and maintained
- Teams needing large multi-server scaling, since the README does not describe that scope
Kamal
- People without Docker experience, since the README assumes containerized apps
- Those who want a hosted platform with no server management, because Kamal deploys to machines you run
- Non-web workloads, since the README describes deploying web apps specifically
Trade-offs
Dokku
- Requires a fresh Ubuntu or Debian VM and some sysadmin knowledge
- The README is truncated here, so details on app configuration and scaling are not confirmed
Kamal
- Requires Docker and SSH access to your servers, which adds setup work
- README is truncated here, so detailed configuration is only available on the external docs site
- Originally designed around Rails, so non-Rails apps may need more manual setup
Getting started
Dokku
Download the bootstrap script
wget -NP . https://dokku.com/install/v0.38.32/bootstrap.shRun the installer with the release tag
sudo DOKKU_TAG=v0.38.32 bash bootstrap.shKamal
Clone the repository
git clone https://github.com/basecamp/kamalFrequently asked questions
What is the difference between Dokku and Kamal?
Dokku: A self-hosted, Docker-based mini Heroku for deploying apps on your own server. Kamal: Deploys containerized web apps to your own servers with zero-downtime switching. Dokku suits developers who want heroku-style deployment on a server they control, while Kamal suits developers who want to self-host web apps without adopting a managed platform.
Are Dokku and Kamal free?
Dokku: Free and open source. Kamal: Free and open source.
Is Dokku or Kamal more popular?
Dokku has more GitHub stars (32.2k) than Kamal (14.7k). Popularity isn't the same as fit — check which one matches your use case above.
Keep comparing
Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.