Getting Started with Dokku
What is Dokku?
Dokku is an extensible, open source Platform as a Service that runs on a single server of your choice.
To start using Dokku, you'll need a system that meets the following minimum requirements:
- A fresh installation of Ubuntu 18.04/20.04 x64, Debian 9+ x64 or CentOS 7 x64 (experimental) with the FQDN set [1]
- At least 1 GB of system memory [2]
Dokku is designed for usage on a fresh VM installation, and should install all necessary dependencies if installing via the bootstrap method.
Installing the latest stable version
1. Install Dokku
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.25.7/bootstrap.sh;
sudo DOKKU_TAG=v0.25.7 bash bootstrap.sh
The installation process takes about 5-10 minutes, depending upon internet connection speed.
If you're using Debian 9+ or Ubuntu 18.04, make sure your package manager is configured to install a sufficiently recent version of nginx[3], otherwise, the installation may fail due to unmet dependencies
relating nginx.
2. Optionally connect a domain to your server
Dokku optionally supports one or more domain names. If you do not own a domain name, you may either purchase one or skip this step.
When connecting a domain, either a single domain or a wildcard may be associated to the server's IP. A wildcard domain will allow access to apps via $APP.domain.tld
, whereas associating only a single domain name will result in apps being access via domain.tld:$RANDOM_PORT
. Please see the dns documentation and domains documentation for more details.
3. Setup SSH key and Virtualhost Settings
Once the installation is complete, you should configure an ssh key and set your global domain:from-archive
# 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
dokku domains:set-global dokku.me
See the user management and domains documentation for more information.
Alternatively, instructions for an unattended installation are available in the advanced install guide.
4. Deploy your first application
At this point, you should be able to run or deploy to the Dokku installation.
Installing via other methods
For various reasons, certain hosting providers may have other steps that should be preferred to the above. If hosted on any of the following popular hosts, please follow the linked to instructions:
- DigitalOcean Installation Notes
- DreamHost Cloud Installation Notes
- Microsoft Azure Installation Notes
As well, you may wish to customize your installation in some other fashion. or experiment with Vagrant. The guides below should get you started:
- Debian Package Installation Notes
- Docker-based Installation Notes
- RPM Package Installation Notes
- Vagrant Installation Notes
- Advanced Install Customization
- Automated deployment via ansible
- [1]: To check whether your system has an fqdn set, run
sudo hostname -f
- [2]: If your system has less than 1GB of memory, you can use this workaround.
- [3]: nginx >= 1.8.0 can be installed via the nginx repositories, or by adding this PPA if you're using Ubuntu. nginx >= 1.11.5 is necessary for HTTP/2 support