Skip to content

0.6.0 Migration Guide

Zero-downtime deployment

  • You can now actually disable zero-downtime deployments per-app and per-process-type
  • Some config variables have been moved around
    • DOKKU_CHECKS_ENABLED has been migrated to DOKKU_CHECKS_SKIPPED
    • DOKKU_CHECKS_DISABLED is now a thing
    • The values for the above can be a comma-separated list of process-types or the literal string _all_
  • See the updated checks docs for more info

Proxy port mapping

  • You can now configure host -> container proxy port mappings
  • The UI is handled by the proxy interface plugin by setting the DOKKU_PROXY_PORT_MAP config variable in the format of scheme:host-port:container-port. The default nginx-vhosts proxy plugin supports both the http and https schemes.
  • Default port mappings
  • buildpack apps will be set to http:80:5000 and will also include https:443:5000 if SSL is enabled.
  • dockerfile apps with explicitly exposed ports (i.e. using the EXPOSE directive) will be configured with a listener on each exposed port that proxies to the same port of the deployed application container.
    • You may override this behavior with the proxy:ports-* commands or by directly setting DOKKU_PROXY_PORT_MAP with the config:set command
    • dockerfile apps without explicitly exposed ports will behave the same as a buildpack app
  • NOTE: These defaults are not automatically changed on subsequent pushes and must be manipulated with the aforementioned commands

Calling the dokku binary

  • Plugins should not call the dokku binary directly. Clients using the --app argument are potentially broken, amongst others, when doing so. Instead, please source the functions file for a given plugin when attempting to call Dokku internal functions. As a result, the following Dokku commands are no longer publicly exposed:
  • dokku build
  • dokku receive
  • dokku release
  • dokku tar:build
  • dokku tar:build-locked
  • dokku git:build
  • dokku git:build-locked