Dokku: the small PaaS that never dies
Actualizado: 2026-05-03
Dokku appeared in 2013 as a weekend experiment by Jeff Lindsay, an engineer long fascinated by Heroku’s operational simplicity who wanted to see if the core experience could be reproduced on a single server using Docker and a handful of bash scripts. Twelve years later, with entire ecosystems swinging between boom and decline and Kubernetes established as the large-scale infrastructure standard, Dokku is still alive, actively maintained and surprisingly relevant for a niche other solutions don’t serve well.
Key takeaways
- Dokku reproduces Heroku’s
git pushexperience on a single VPS with Docker, buildpacks, and automatic SSL reverse proxy. - Version 0.35 (mid-2025) added improved Cloud Native Buildpack support, Caddy as nginx alternative, and more robust multi-stage Dockerfile support.
- Versus Kubernetes: Dokku solves 90% of what small applications need with 5% of the complexity and cost.
- Versus commercial PaaS (Fly.io, Railway, Render): predictable cost on a European VPS, full data control, no per-usage billing.
- Important limitation: everything runs on a single server; no native high availability or horizontal cross-node scaling.
What Dokku is in 2025
Dokku is an open-source PaaS designed to run on a single server, typically a VPS. Its proposition is to reproduce Heroku’s git push deployment flow: you configure a server with Dokku, add the git remote, push your code and Dokku builds a Docker image using Heroku buildpacks or your own Dockerfile, deploys it, configures HTTP routing with nginx or Caddy, and hands back a working URL. All in under a minute for small applications.
The architecture is deliberately simple. Dokku isn’t a multi-node orchestrator. It runs Docker containers locally, manages their lifecycles, connects databases offered as plugins (PostgreSQL, MySQL, Redis, MongoDB), configures reverse proxy with automatic SSL via Let’s Encrypt, and offers a CLI and optional web panel.
Why it survived the hype cycle
Dokku’s survival in an ecosystem that has seen many alternatives appear and disappear responds to three main reasons:
- Disciplined focus — Dokku doesn’t try to grow in functionality to compete with Kubernetes or commercial PaaSes. It stays true to its original principle: a minimal PaaS that fits on a server.
- Heroku compatibility — Because buildpacks are the same, an application that ran on Heroku typically runs on Dokku unchanged. This was a huge advantage when Heroku killed its free plan in 2022.
- Stable community — Dokku has a small but reliable community, with Jose Diaz-Gonzalez as main maintainer for many years. Release cadence is reasonable and security issues are addressed quickly.
When Dokku pays off versus alternatives
Versus Kubernetes: the difference in operational complexity is vast. Kubernetes in a managed cluster has high base cost and a serious learning curve. For a low-traffic application, the cost-complexity to benefit ratio is absurd. Dokku solves 90% of what these applications need with 5% of the complexity.
Versus commercial PaaSes (Fly.io, Railway, Render): the difference is cost and control. These services offer better developer experience and automatic horizontal scaling, but bill by usage with invoices that grow quickly. For projects that want full data control, predictable costs, or European residency requirements, a European VPS with Dokku is a pragmatic solution.
Versus Docker Compose on a server: the difference is subtler. Docker Compose is enough if your application is simple. Dokku adds automatic buildpacks, certificate management, database management, revision between deployments, and hooks for migrations. If you’re going to replicate all that by hand with Compose, sooner or later you arrive at something similar to Dokku but worse.
Typical installation and deployment
On a fresh Debian or Ubuntu VPS, run the bootstrap script, create an app, create and link a database, set a domain, and enable Let’s Encrypt. From the local machine, add a git remote and push. In three minutes the application is deployed, with connected database, configured domain and issued SSL certificate. That’s the flow Heroku made famous, reproduced faithfully.
Honest limitations
- Single server — if the server goes down, the application goes down. For real high availability you need another approach.
- Horizontal scaling — Dokku supports vertical scaling and running multiple processes on the same server, but doesn’t scale across servers.
- Plugin ecosystem — official ones are well maintained but community ones vary in quality. Review activity before relying on a little-used plugin in production.
- Multi-tenant isolation — all applications on the server share the kernel and resources. For offering hosting to third parties, it isn’t enough.
Conclusion
My reading after using Dokku personally for several years is that it’s an excellent tool for a well-defined set of cases. For a solo developer or a small team deploying several web applications with moderate traffic, Dokku is probably the best productivity-cost-control ratio that exists. Neither Kubernetes nor commercial PaaSes beat it in that specific zone.
For any other case, better alternatives exist. But that intermediate niche — few applications, moderate traffic, contained budget, data control — is large and Dokku remains the tacit king. The general lesson: tools that survive long technology cycles aren’t the flashiest but the ones that solve a concrete problem without overreaching. Ignoring its existence when evaluating options for a small project is a common mistake that ends up costing money and unnecessary complexity.