Dokku
Docker-powered mini Heroku
What is Dokku?
Dokku is a Docker-powered PaaS that lets you deploy applications with a simple git push. It is intentionally minimal and runs on a single small server, making it a long-standing choice for self-hosted deployments.
Best for
Developers comfortable with git push deployments on a single server
Why choose Dokku
Dokku is the single best value in small-scale deployment: a tiny VPS running a tool that gives you `git push dokku main` and a live application. It is built on Docker and Heroku buildpacks, so an app that deployed happily to Heroku will usually deploy here with no changes at all. If you are leaving a platform because of pricing rather than capability, Dokku is the least disruptive exit — same workflow, your server, predictable monthly cost.
Replaces
- Heroku
- Railway
- Fly.io
Key features
- git push deployment
- Plugin ecosystem
- Let's Encrypt integration
- Runs on a single small VPS
What to watch out for
The Heroku-era model has limits. Buildpacks are convenient until your application does not fit one, at which point you write a Dockerfile anyway. Everything is command-line driven, which is fast once you know the commands and opaque until then — there is no dashboard to click around in. A single small server is also a single point of failure, and Dokku has no opinion about backups, monitoring or zero-downtime deploys; those are all things you add yourself.
How to deploy
- Install script
- Docker
Getting started
Install on a fresh Ubuntu server with a domain already pointing at its IP, because TLS issuance needs to resolve correctly the first time. Set the global domain before deploying anything, so apps get sane hostnames automatically. Add your SSH key, which is what makes the git push workflow function, and test it with a throwaway app before migrating something real. Enable the Let's Encrypt plugin early, and get into the habit of running the built-in backup commands on a schedule — they are the part everyone forgets until they need them.
Typical setup
One small VPS, ideally two gigabytes of memory or more, with the domain's DNS already pointing at its address. Applications deploy by pushing to a remote over SSH, and data services are added as plugins. It suits the developer with a handful of small projects who wants each one to have a real hostname and certificate without paying per application, and who is comfortable doing everything from a terminal. Backups are whatever script the operator writes.
Who should look elsewhere
Not for anyone who wants a graphical interface, autoscaling, or someone else to be on call. It is a single-server model by design: no clustering, no zero-downtime deploys out of the box, and everything meaningful happens in a terminal. If you already run a container orchestrator, Dokku adds nothing you do not have.
Project health
- GitHub stars: 32,167
- Last code push: 2026-10-01
- Open issues: 30
- Status: actively developed
Figures pulled from the GitHub API and refreshed periodically.