If your version of Dokku is pre 0.3.0 (check with dokku version
), we recommend a fresh install on a new server.
For any security related updates, please follow our Twitter account. As Dokku does not run any daemons, the security risk introduced by our software is minimal.
Your operating system may occasionally provide security updates. We recommend setting unattended upgrades for your operating system. Here are some helpful links:
Docker releases updates periodically to their engine. We recommend reading their release notes and upgrading accordingly. Please see the Docker documentation for more details.
Before upgrading, check the migration guides to get comfortable with new features and prepare your deployment to be upgraded.
If you'll be updating docker or the herokuish package simultaneously, it's recommended
that you stop all applications before upgrading and rebuild afterwards. This is not
required if the upgrade only impacts the dokku
package.
Why do we recommend stopping all apps?
docker
: Containers may be randomly reset during the upgrade process, resulting in
requests being sent to the wrong containers. Acknowledging and scheduling downtime
thus becomes much more important.herokuish
: While not required, it may be useful to take advantage of the latest
base image. Herokuish changes do not cause issues unless the base OS changes, which
may happen in minor or major releases.# for 0.22.0 and newer versions, use
dokku ps:stop --all
# for versions between 0.11.4 and 0.21.4, use
dokku ps:stopall
# for versions between 0.8.1 and 0.11.3, use
dokku --quiet apps:list | xargs -L1 dokku ps:stop
# for versions versions older than 0.8.1, use
dokku --quiet apps | xargs -L1 dokku ps:stop
After upgrading, you should rebuild the applications to take advantage of any new buildpacks that were released:
dokku ps:rebuild --all
If you have any applications deployed via the
tags
ortar
commands, do not run theps:rebuild --all
command, and instead triggerps:rebuild
manually for eachgit
-deployed application:dokku ps:rebuild APP
Please see the images documentation and tar documentation for instructions on rebuilding applications deployed by those plugins.
dokku-update
We provide a helpful binary called dokku-update
. This is a recommended package that:
When installing from source, this is available from contrib/dokku-update
, and is also available on Debian and RPM-based systems from our package repositories under the name dokku-update
.
apt
If Dokku was installed in a Debian or Ubuntu system, via apt-get install dokku
or bootstrap.sh
, you can upgrade with apt-get
:
# update your local apt cache
sudo apt-get update -qq
# update dokku and its dependencies
sudo apt-get -qq -y --no-install-recommends install dokku herokuish sshcommand plugn gliderlabs-sigil dokku-update dokku-event-listener
# or just upgrade every package:
sudo apt-get upgrade
If you installed Dokku from source (less common), upgrade with:
cd ~/dokku
git pull --tags origin master
# continue to install from source
sudo DOKKU_BRANCH=master make install
# upgrade to debian package-based installation
sudo make install
To upgrade Herokuish from source, upgrade with:
cd /tmp
git clone https://github.com/gliderlabs/herokuish.git
cd herokuish
git pull origin master
IMAGE_NAME=gliderlabs/herokuish BUILD_TAG=latest VERSION=master make -e build-in-docker