Dokku is an extensible, open source Platform as a Service that runs on a single server of your choice. Dokku supports building apps on the fly from a
git push via either Dockerfile or by auto-detecting the language with Buildpacks, and then starts containers based on your built image. Using technologies such as nginx and cron, Web processes are automatically routed to, while background processes and automated cron tasks are also managed by Dokku.
To start using Dokku, you'll need a system that meets the following minimum requirements:
x86_64), commonly used for Intel cloud servers
armhf), commonly used for Raspberry PI
arm64), commonly used for Raspberry PI and AWS Graviton
To avoid memory pressure during builds or runtime of your applications, we suggest the following:
Finally, we recommend attaching at least one domain name to your server. This is not required, but using a domain name will make app access easier. When connecting a domain, either a single domain or a wildcard may be associated to the server's IP.
*.domain.tldA Record): will allow access to apps via
domain.tldA or CNAME Record): will result in apps being accessed via
This is the simple method of installing Dokku. For alternative methods of installation, see the advanced install guide.
To install the latest stable version of Dokku, you can run the following shell commands:
# for debian systems, installs Dokku via apt-get wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh; sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh
The installation process takes about 5-10 minutes, depending upon internet connection speed.
Once the installation is complete, you should configure an ssh key and set your global domain.
# usually your key is already available under the current user's `~/.ssh/authorized_keys` file cat ~/.ssh/authorized_keys | dokku ssh-keys:add admin # you can use any domain you already have access to # this domain should have an A record or CNAME pointing at your server's IP dokku domains:set-global dokku.me # you can also use the ip of your server dokku domains:set-global 10.0.0.2 # finally, you can use sslip.io to get subdomain support # as you would with a regular domain name # this would be done by appending `.sslip.io` to your ip address dokku domains:set-global 10.0.0.2.sslip.io
At this point, you should be able to deploy to the Dokku installation.