0.25.0 Migration Guide¶
Registry Plugin¶
The dokku-registry plugin is now built-in. This comes with a few changes:
- Builder plugins should call
post-release-builder
at the end of the build. - The
push
andpull
command are not implemented. Users wishing to deploy a remote image should usegit:from-image
. Image pushing is not available at this time. - At this time, remote docker repositories are not automatically created for AWS, and users must create those repositories for their applications as necessary. This may be implemented in the future.
- Docker images are only pushed when configured to do so. See the registry management documentation for more details.
Before upgrading, uninstall the registry plugin via dokku plugin:uninstall registry
. Not doing so will cause issues with Dokku.
Other¶
Changes¶
- The network plugin can now set an
initial-network
for all containers on creation. This is a replacement for specifying the--network
flag via thedocker-options
plugin. Please see the network documentation for more information. - The
dokku run
command now always removes the ephemeral container on exit. Users that need a persistent container should instead specify aconsole
process type in theirProcfile
specifying an available shell (usually eitherbash
orsh
) and scale that container appropriately. - The
pre-deploy
plugin trigger is now called internally by Dokku. Scheduler plugins should avoid calling this trigger, as any image changes introduced by subsequent trigger calls will be ignored. - The default image used for Herokuish Buildpack builds is now
gliderlabs/herokuish:latest-20
, and is based on both theheroku-20
stack as well as Ubuntu 20.04. Users that wish to stick with the old,heroku-18
/Ubuntu 18.04 builder may specifygliderlabs/herokuish:latest-18
as their builder image. Please see the herokuish buildpack deployment documentation for more information on how to specify a custom buildpack stack builder. - This change does not impact any users of Cloud Native Buildpacks.
- We fixed an issue that required extracting Procfiles at the beginning of a deploy. Due to this change, a
Dockerfile
app contains aProcfile
that does not specify aweb
process will fail to start. Usage of aProcfile
with only arelease
command should be replaced with ascripts.dokku.postdeploy
deployment task in theapp.json
file. The alternative is to define theweb
process in theProcfile
. See the deployment task documentation for more information.
Deprecations¶
- In previous versions of Dokku, the only way to specify a custom
Dockerfile
was to use thedocker-options
plugin to set the--file
flag for a docker build. As of 0.25.0, thebuilder-dockerfile:set
command should be used instead, as outlined in the docs here. Usage of the old method should be migrated to the new method. - The
--rm
and--rm-container
flags may be specified but no longer have any effect ondokku run
. - The
--detach
flag is deprecated in favor of therun:detached
command. - The
DOKKU_SCALE
file is deprecated. Please see the process management documentation for more information on it's replacement with theformation
key of theapp.json
file. - The hooks
post-release-buildpack
,post-release-dockerfile
, andpost-release-pack
are deprecated in favor ofpost-release-builder
. See the plugin triggers documentation for more details.
Removals¶
- As of April 2021, Ubuntu 16.04 is no longer an LTS release, and support has been removed. Packages may still install on older versions of Ubuntu, but are no longer tested, and therefore no support will be provided.
- The web installer has been removed. Users are now required to setup Dokku via cli commands. This change was made to combat potential security issues where users ignored the web installer, allowing unauthorized users to add their keys to the host.
- The
scheduler-docker-cleanup
plugin trigger has been removed from the scheduler interface, and is no longer invoked.