Dokku
Open-source, command-line alternative to Heroku that deploys apps with git push
Our verdict
#3 of 4 in Self-hosted app deployment platforms · If you deploy from a terminal
Pros
- Runs on 1 GB of memory on a single server
- MIT license
- Heroku-style git push deploys and Heroku buildpacks
- Database backups on a schedule to an S3 bucket
Cons
- No free web dashboard; Dokku Pro is a paid one-time license
- The documentation describes no one-click app catalog and no deployment alerts
- Every SSH key reaches every app unless you add a plugin
- A multi-server k3s cluster needs 2 GB of memory on every node
Who should skip:Anyone who wants a browser dashboard without buying Dokku Pro.
Rankings and alternatives
Self-hosted app deployment platforms scores
Evaluated Nov 7, 2026 Evidence ↓- Free web dashboard 1
1/5 means: No free web dashboard; everything is done from the command line.
Dokku itself is run from the command line; the browser dashboard is Dokku Pro, a paid add-on sold as a one-time license.
- Ways to build an app 4
4/5 means: Four of the five.
Builds from a Dockerfile, with Heroku buildpacks, Cloud Native Buildpacks, Nixpacks or Railpack, or from a Docker image; Docker Compose files aren't among its build methods.
- One-click app catalog 1
1/5 means: No one-click catalog.
Dokku has no one-click app catalog; databases come from official datastore plugins instead.
Rests partly on what the sources don't mention, which is a weaker signal than what they say.
- Database backups 4
4/5 means: Scheduled database backups uploaded to S3-compatible storage.
Datastore backups can be scheduled to an S3 bucket from the command line; restoring means importing a dump file, not naming a stored backup.
- Running on several servers 5
5/5 means: One app run as several copies across a cluster of servers (such as Docker Swarm or Kubernetes) that the platform sets up, which places the copies and routes traffic to them.
The k3s scheduler joins worker nodes to a Kubernetes cluster that runs app workloads, with ingress-nginx as its load balancer.
- Pull request previews 2
2/5 means: Previews through an official CI workflow you add to your repository, which creates and deletes them; not built into the platform.
The official GitHub Action has a review app workflow that creates and deletes a copy of the app for each pull request; the platform itself has no built-in previews.
- Accounts and sign-in 2
2/5 means: Separate accounts or keys for several people, all with the same access.
Each person gets their own SSH key, and keys named admin can add more keys; scoping commands to particular users needs a plugin.
- Deployment alerts 1
1/5 means: No deployment alerts.
A search of the whole documentation finds no built-in deployment notifications; only deprecated and unmaintained plugins mention them.
Rests partly on what the sources don't mention, which is a weaker signal than what they say.
- Hardware needs 4
4/5 means: The documented minimum is 1 GB of RAM.
The Docker scheduler needs 1 GB of memory, or swap; the k3s scheduler needs 2 GB on every node.
- License and paid features 4
4/5 means: A standard open source license (such as MIT or Apache 2.0), with paid features sold as a separate product.
MIT-licensed; the web dashboard and remote API are sold separately as Dokku Pro.
Evidence and sources
Self-hosted app deployment platforms scores
Free web dashboard 3 quotes
-
“Yes. Pro is an add-on to your existing self-hosted Dokku installation — your apps and servers keep running exactly as they do today.”
pro.dokku.com · checked -
“No. It's a one-time lifetime license with free upgrades forever — no subscriptions and no per-seat fees.”
pro.dokku.com · checked -
“Tail app and service logs live, in your browser.”
pro.dokku.com · checked
Ways to build an app 6 quotes
-
“Once it's set up on a host, you can push Heroku-compatible applications to it via Git. They'll build using Heroku buildpacks and then run in isolated containers.”
dokku.com · checked -
“builder-dockerfile: Builds apps using a Dockerfile via docker build.”
dokku.com/docs/deployment/builders/builder-management · checked -
“builder-pack: Builds apps with Cloud Native Buildpacks via the pack-cli tool.”
dokku.com/docs/deployment/builders/builder-management · checked -
“The nixpacks builder builds apps via Nixpacks, a buildpack alternative.”
dokku.com/docs/deployment/builders/nixpacks · checked -
“A Dokku app repository can be initialized or updated from a Docker image via the git:from-image command.”
dokku.com/docs/deployment/methods/image · checked -
“The railpack builder builds apps via Railpack, a buildpack alternative.”
dokku.com/docs/deployment/builders/railpack · checked
One-click app catalog 1 quote
-
“The datastore plugin manages datastore services such as postgres, mysql and redis, and links them to apps.”
dokku.com/docs/advanced-usage/datastore-management · checked
Database backups 3 quotes
-
“datastore:backup-schedule <datastore-type> <service> <schedule> <bucket-name>... # schedule a backup of the datastore service”
dokku.com/docs/advanced-usage/datastore-management · checked -
“datastore:backup <datastore-type> <service> <bucket-name> [--id <id>]... # create a backup of the datastore service to an existing s3 bucket”
dokku.com/docs/advanced-usage/datastore-management · checked -
“datastore:import <datastore-type> <service> [-f|--file <path>] # import a dump into the datastore service database”
dokku.com/docs/advanced-usage/datastore-management · checked
Running on several servers 3 quotes
-
“Nodes that run app workloads can be added via the scheduler-k3s:cluster:add command.”
dokku.com/docs/deployment/schedulers/k3s · checked -
“Dokku's k3s integration natively uses nginx as it's ingress load balancer via ingress-nginx.”
dokku.com/docs/deployment/schedulers/k3s · checked -
“K3s Scheduler: 2GB of system memory on every node in the cluster”
dokku.com/docs/getting-started/installation · checked
Pull request previews 1 quote
-
“Review Apps: Handles creation and deletion of review apps through use of dokku apps:clone and dokku apps:destroy. Review apps are a great way to allow folks to preview pull request changes before they get merged to production.”
github.com/dokku/github-action · checked
Accounts and sign-in 3 quotes
-
“Users in Dokku are managed via the ~/dokku/.ssh/authorized_keys file.”
dokku.com/docs/deployment/user-management · checked -
“Including the word admin in the name will grant the user privileges to add additional keys remotely.”
dokku.com/docs/deployment/user-management · checked -
“Support for scoping commands to specific users can be added through plugins that take advantage of the user-auth plugin trigger to handle command authorization.”
dokku.com/docs/deployment/user-management · checked
Deployment alerts 1 quote
-
“An open source PAAS alternative to Heroku.”
dokku.com · checked
Hardware needs 2 quotes
-
“Docker Scheduler: 1GB of system memory, or add swap memory”
dokku.com/docs/getting-started/installation · checked -
“K3s Scheduler: 2GB of system memory on every node in the cluster”
dokku.com/docs/getting-started/installation · checked
License and paid features 3 quotes
-
“Yes. Pro is an add-on to your existing self-hosted Dokku installation — your apps and servers keep running exactly as they do today.”
pro.dokku.com · checked -
“Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction”
github.com/dokku/dokku/blob/master/LICENSE · checked -
“Interact with Dokku remotely via a curl-friendly interface.”
pro.dokku.com · checked
Facts
License 1 quote
-
“Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction”
github.com/dokku/dokku/blob/master/LICENSE · checked
Runs on 2 quotes
-
“Operating Systems: Ubuntu 22.04/24.04/26.04 or Debian 11+ x64”
dokku.com/docs/getting-started/installation · checked -
“Supported Architectures: AMD64 (x86_64) and arm64 (armv8)”
dokku.com/docs/getting-started/installation · checked
Needs 1 quote
-
“Docker Scheduler: 1GB of system memory, or add swap memory”
dokku.com/docs/getting-started/installation · checked
Notability
Users 1 quote
-
“"pull_count":441696”
hub.docker.com/v2/repositories/dokku/dokku · checked
Other quotes
Not cited by a score or fact 1 quote
-
“tag_name: v0.38.34, published_at: 2026-10-30T02:34:44Z”
api.github.com/repos/dokku/dokku/releases/latest · checked