Dokku
DeploymentDeploy apps to your own server with a git push, Heroku style.
Dokku gives a single server the workflow people know from Heroku: push code, let the platform build it, and get a running app on a domain. Everything is driven from the command line over SSH, and each app runs in its own Docker container on hardware you choose.
- Deploy with git push, a Docker image or an archive, built from a Dockerfile or buildpacks.
- Add Postgres, MySQL, Redis and other databases with official plugins, linked by one command.
- Move traffic to new containers after health checks, and add Let's Encrypt certificates via a plugin.
What people use it for
Move a Heroku app to your own server
Run the bootstrap script on a fresh Ubuntu or Debian VM, add your SSH key and set a global domain. Create the app with dokku apps:create, add a git remote and push your code, which builds with the same Heroku buildpacks.
Give an app a database
Install the official Postgres plugin, create a database with dokku postgres:create and link it to the app. Dokku sets DATABASE_URL in the app's environment, so the code connects without config changes.
Put an app on its own domain with HTTPS
Point the domain at the server and run dokku domains:set for the app. Install the Let's Encrypt plugin, enable it for the app and add its cron job so certificates renew on their own.