Skip to content

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.

Dokku

Open source · MIT

A self-hosted, Docker-based mini Heroku for deploying apps on your own server.

Kamal

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

DokkuKamal
TypeAppDev tool
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars32.2k14.7k
Setup difficultyIntermediateIntermediate
How you get itSee the READMESee the README
Main languageGoRuby
Last code update4 days ago16 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.sh

Run the installer with the release tag

sudo DOKKU_TAG=v0.38.32 bash bootstrap.sh
Step-by-step guide: how to use Dokku

Kamal

Clone the repository

git clone https://github.com/basecamp/kamal
Step-by-step guide: how to use Kamal

Frequently 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.