# History ## 0.23.0 Install/update via the bootstrap script: ```shell wget https://raw.githubusercontent.com/dokku/dokku/v0.23.0/bootstrap.sh sudo DOKKU_TAG=v0.23.0 bash bootstrap.sh ``` See the [0.23.0 migration guide](/docs/appendices/0.23.0-migration-guide.md) for more information on migrating to 0.23.0. ### Bug Fixes - #4356: @josegonzalez Do not retag images unnecessarily - #4355: @josegonzalez Allow underscores in vector schemes - #4350: @josegonzalez Add missing trigger to events plugin - #4348: @josegonzalez Correct app-specific shell handling - #4333: @josegonzalez Drop tmpdir environment variables when not running as dokku user ### New Features - #4336: @josegonzalez Add ability to manage stacks on an app or global level … - #4354: @josegonzalez Log all triggers called by golang in trace output - #4300: @AubreyHewes allow disabling hsts globally and explicitly enable per app - #4337: @josegonzalez Add logrotation to container log files - #4318: @josegonzalez Add ability to set client max body size via nginx:set - #4343: @josegonzalez feat: add initial scheduled task implementation - #4297: @josegonzalez Add support for cloning/syncing from a remote repository - #4340: @bjornpost Allow configuring x-forwarded-* proxy headers via nginx:set ### Refactors - #4349: @josegonzalez Remove need for internal dokku calls ### Documentation - #4347: @fomojola Add post-deploy webhook to list of community plugins - #4342: @AubreyHewes Point to current testing docs - #4341: @josegonzalez Add testing link to contributing.md ### Tests - #4352: @josegonzalez Add a test for application renames - #4351: @josegonzalez Set hostname for CI runs - #4322: @josegonzalez Switch to Github Actions for CI ### Other - #4353: @josegonzalez Drop unused flag introduced by logs max-size feature
4.5 KiB
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 16.04/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]
You can optionally have a domain name pointed at the host's IP, though this is not necessary.
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.23.0/bootstrap.sh;
sudo DOKKU_TAG=v0.23.0 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. Setup SSH key and Virtualhost Settings
Once the installation is complete, you can open a browser to setup your SSH key and virtualhost settings. Open your browser of choice and navigate to the host's IP address - or the domain you assigned to that IP previously - and configure Dokku via the web admin.
Alternatively, instructions to skip the web installer with an unattended installation are available in the advanced install guide.
Warning: If you don't complete setup via the web installer (even if you set up SSH keys and virtual hosts otherwise) your Dokku installation will remain vulnerable to anyone finding the setup page and inserting their key. You can check if it is still running via
ps auxf | grep dokku-installer, and it may be stopped via your server's init system - usually eitherservice dokku-installer stoporstop dokku-installer.
Warning: Web installer is not available on CentOS and Arch Linux. You will need to configure SSH keys and virtual hosts using dokku command line interface - see unattended installation linked above.
3. Deploy your first application
Once you save your settings, the web admin will self-terminate and 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