From bbb79fa27d1035d9ccabfad4b2d8799383143035 Mon Sep 17 00:00:00 2001 From: Dokku Bot Date: Mon, 14 Aug 2023 02:08:29 +0000 Subject: [PATCH] chore: regenerate docs --- assets/favicons/browserconfig.xml | 8 +- assets/favicons/manifest.json | 12 +- assets/versions.json | 2 +- docs/404.html | 32 + .../advanced-usage/backup-recovery/index.html | 32 + .../deployment-tasks/index.html | 32 + docs/advanced-usage/docker-options/index.html | 32 + docs/advanced-usage/event-logs/index.html | 32 + .../persistent-storage/index.html | 32 + .../plugin-management/index.html | 111 +- .../registry-management/index.html | 32 + .../repository-management/index.html | 32 + .../resource-management/index.html | 32 + .../0.10.0-migration-guide/index.html | 32 + .../0.20.0-migration-guide/index.html | 32 + .../0.21.0-migration-guide/index.html | 32 + .../0.22.0-migration-guide/index.html | 32 + .../0.23.0-migration-guide/index.html | 32 + .../0.24.0-migration-guide/index.html | 32 + .../0.25.0-migration-guide/index.html | 32 + .../0.26.0-migration-guide/index.html | 32 + .../0.27.0-migration-guide/index.html | 32 + .../0.28.0-migration-guide/index.html | 32 + .../0.29.0-migration-guide/index.html | 32 + .../0.30.0-migration-guide/index.html | 38 +- .../0.31.0-migration-guide/index.html | 2808 +++++++++++++++ .../0.5.0-migration-guide/index.html | 32 + .../0.6.0-migration-guide/index.html | 32 + .../0.7.0-migration-guide/index.html | 32 + .../0.8.0-migration-guide/index.html | 32 + .../0.9.0-migration-guide/index.html | 32 + docs/assets/favicons/browserconfig.xml | 8 +- docs/assets/favicons/manifest.json | 12 +- docs/community/clients/index.html | 32 + docs/community/plugins/index.html | 32 + docs/configuration/domains/index.html | 32 + .../environment-variables/index.html | 44 +- docs/configuration/ssl/index.html | 34 +- .../application-deployment/index.html | 32 + .../application-management/index.html | 32 + .../builders/builder-management/index.html | 32 + .../cloud-native-buildpacks/index.html | 36 +- .../builders/dockerfiles/index.html | 38 +- .../builders/herokuish-buildpacks/index.html | 50 +- docs/deployment/builders/lambda/index.html | 32 + docs/deployment/builders/null/index.html | 32 + .../continuous-integration/generic/index.html | 32 + .../github-actions/index.html | 32 + .../gitlab-ci/index.html | 32 + docs/deployment/logs/index.html | 32 + docs/deployment/methods/git/index.html | 110 +- docs/deployment/remote-commands/index.html | 32 + .../schedulers/docker-local/index.html | 32 + .../schedulers/kubernetes/index.html | 32 + docs/deployment/schedulers/nomad/index.html | 32 + docs/deployment/schedulers/null/index.html | 32 + .../scheduler-management/index.html | 32 + docs/deployment/user-management/index.html | 32 + .../zero-downtime-deploys/index.html | 558 +-- docs/development/plugin-creation/index.html | 34 +- docs/development/plugin-triggers/index.html | 2207 ++++++------ docs/development/release-process/index.html | 34 +- docs/development/testing/index.html | 32 + docs/enterprise/pro/index.html | 32 + .../advanced-installation/index.html | 32 + docs/getting-started/install/azure/index.html | 32 + .../getting-started/install/debian/index.html | 32 + .../install/digitalocean/index.html | 32 + .../getting-started/install/docker/index.html | 38 +- .../install/dreamhost/index.html | 32 + .../install/vagrant/index.html | 32 + docs/getting-started/installation/index.html | 36 +- .../troubleshooting/index.html | 48 +- docs/getting-started/uninstalling/index.html | 32 + docs/getting-started/upgrading/index.html | 39 +- .../where-to-get-help/index.html | 32 + docs/index.html | 32 + docs/networking/dns/index.html | 32 + docs/networking/network/index.html | 258 +- docs/networking/port-management/index.html | 225 +- docs/networking/proxies/caddy/index.html | 34 +- docs/networking/proxies/haproxy/index.html | 34 +- docs/networking/proxies/nginx/index.html | 49 +- docs/networking/proxies/openresty/index.html | 3034 +++++++++++++++++ docs/networking/proxies/traefik/index.html | 40 +- docs/networking/proxy-management/index.html | 71 +- docs/processes/entering-containers/index.html | 32 + docs/processes/one-off-tasks/index.html | 32 + docs/processes/process-management/index.html | 33 +- .../processes/scheduled-cron-tasks/index.html | 162 +- docs/search/search_index.json | 2 +- docs/sitemap.xml | 174 +- docs/sitemap.xml.gz | Bin 886 -> 898 bytes .../assets/favicons/browserconfig.xml | 8 +- docs~v0.10.5/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.11.6/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.12.13/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.13.4/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.14.6/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.15.5/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.16.4/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.17.9/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.18.5/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.19.13/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.20.4/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.21.4/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.22.9/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.23.9/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.24.10/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.25.7/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.26.8/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.27.10/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.28.4/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.29.4/assets/favicons/manifest.json | 12 +- .../assets/favicons/browserconfig.xml | 8 +- docs~v0.3.26/assets/favicons/manifest.json | 12 +- {docs~v0.30.10 => docs~v0.30.11}/404.html | 2 +- .../_overrides/_overrides/main.html | 0 .../_overrides/main.html | 0 .../advanced-usage/backup-recovery/index.html | 2 +- .../deployment-tasks/index.html | 2 +- .../advanced-usage/docker-options/index.html | 2 +- .../advanced-usage/event-logs/index.html | 2 +- .../persistent-storage/index.html | 2 +- .../plugin-management/index.html | 60 +- .../registry-management/index.html | 2 +- .../repository-management/index.html | 2 +- .../resource-management/index.html | 2 +- .../0.10.0-migration-guide/index.html | 2 +- .../0.20.0-migration-guide/index.html | 2 +- .../0.21.0-migration-guide/index.html | 2 +- .../0.22.0-migration-guide/index.html | 2 +- .../0.23.0-migration-guide/index.html | 2 +- .../0.24.0-migration-guide/index.html | 2 +- .../0.25.0-migration-guide/index.html | 2 +- .../0.26.0-migration-guide/index.html | 2 +- .../0.27.0-migration-guide/index.html | 2 +- .../0.28.0-migration-guide/index.html | 2 +- .../0.29.0-migration-guide/index.html | 2 +- .../0.30.0-migration-guide/index.html | 2 +- .../0.5.0-migration-guide/index.html | 2 +- .../0.6.0-migration-guide/index.html | 2 +- .../0.7.0-migration-guide/index.html | 2 +- .../0.8.0-migration-guide/index.html | 2 +- .../0.9.0-migration-guide/index.html | 2 +- .../assets/dokku-logo.svg | 0 .../assets/extra.css | 0 .../favicons/android-chrome-144x144.png | Bin .../favicons/android-chrome-192x192.png | Bin .../assets/favicons/android-chrome-36x36.png | Bin .../assets/favicons/android-chrome-48x48.png | Bin .../assets/favicons/android-chrome-72x72.png | Bin .../assets/favicons/android-chrome-96x96.png | Bin .../favicons/apple-touch-icon-114x114.png | Bin .../favicons/apple-touch-icon-120x120.png | Bin .../favicons/apple-touch-icon-144x144.png | Bin .../favicons/apple-touch-icon-152x152.png | Bin .../favicons/apple-touch-icon-180x180.png | Bin .../favicons/apple-touch-icon-57x57.png | Bin .../favicons/apple-touch-icon-60x60.png | Bin .../favicons/apple-touch-icon-72x72.png | Bin .../favicons/apple-touch-icon-76x76.png | Bin .../favicons/apple-touch-icon-precomposed.png | Bin .../assets/favicons/apple-touch-icon.png | Bin .../assets/favicons/browserconfig.xml | 8 +- .../assets/favicons/favicon-16x16.png | Bin .../assets/favicons/favicon-32x32.png | Bin .../assets/favicons/favicon-96x96.png | Bin .../assets/favicons/favicon.ico | Bin .../assets/favicons/manifest.json | 12 +- .../assets/favicons/mstile-144x144.png | Bin .../assets/favicons/mstile-150x150.png | Bin .../assets/favicons/mstile-310x150.png | Bin .../assets/favicons/mstile-310x310.png | Bin .../assets/favicons/mstile-70x70.png | Bin .../assets/images/favicon.png | Bin .../assets/javascripts/bundle.220ee61c.min.js | 0 .../javascripts/bundle.220ee61c.min.js.map | 0 .../javascripts/lunr/min/lunr.ar.min.js | 0 .../javascripts/lunr/min/lunr.da.min.js | 0 .../javascripts/lunr/min/lunr.de.min.js | 0 .../javascripts/lunr/min/lunr.du.min.js | 0 .../javascripts/lunr/min/lunr.es.min.js | 0 .../javascripts/lunr/min/lunr.fi.min.js | 0 .../javascripts/lunr/min/lunr.fr.min.js | 0 .../javascripts/lunr/min/lunr.hi.min.js | 0 .../javascripts/lunr/min/lunr.hu.min.js | 0 .../javascripts/lunr/min/lunr.hy.min.js | 0 .../javascripts/lunr/min/lunr.it.min.js | 0 .../javascripts/lunr/min/lunr.ja.min.js | 0 .../javascripts/lunr/min/lunr.jp.min.js | 0 .../javascripts/lunr/min/lunr.kn.min.js | 0 .../javascripts/lunr/min/lunr.ko.min.js | 0 .../javascripts/lunr/min/lunr.multi.min.js | 0 .../javascripts/lunr/min/lunr.nl.min.js | 0 .../javascripts/lunr/min/lunr.no.min.js | 0 .../javascripts/lunr/min/lunr.pt.min.js | 0 .../javascripts/lunr/min/lunr.ro.min.js | 0 .../javascripts/lunr/min/lunr.ru.min.js | 0 .../javascripts/lunr/min/lunr.sa.min.js | 0 .../lunr/min/lunr.stemmer.support.min.js | 0 .../javascripts/lunr/min/lunr.sv.min.js | 0 .../javascripts/lunr/min/lunr.ta.min.js | 0 .../javascripts/lunr/min/lunr.te.min.js | 0 .../javascripts/lunr/min/lunr.th.min.js | 0 .../javascripts/lunr/min/lunr.tr.min.js | 0 .../javascripts/lunr/min/lunr.vi.min.js | 0 .../javascripts/lunr/min/lunr.zh.min.js | 0 .../assets/javascripts/lunr/tinyseg.js | 0 .../assets/javascripts/lunr/wordcut.js | 0 .../workers/search.74e28a9f.min.js | 0 .../workers/search.74e28a9f.min.js.map | 0 .../assets/stylesheets/main.eebd395e.min.css | 0 .../stylesheets/main.eebd395e.min.css.map | 0 .../stylesheets/palette.ecc896b0.min.css | 0 .../stylesheets/palette.ecc896b0.min.css.map | 0 .../community/clients/index.html | 2 +- .../community/plugins/index.html | 2 +- .../configuration/domains/index.html | 2 +- .../environment-variables/index.html | 2 +- .../configuration/ssl/index.html | 2 +- .../application-deployment/index.html | 2 +- .../application-management/index.html | 2 +- .../builders/builder-management/index.html | 2 +- .../cloud-native-buildpacks/index.html | 2 +- .../builders/dockerfiles/index.html | 2 +- .../builders/herokuish-buildpacks/index.html | 2 +- .../deployment/builders/lambda/index.html | 2 +- .../deployment/builders/null/index.html | 2 +- .../continuous-integration/generic/index.html | 2 +- .../github-actions/index.html | 2 +- .../gitlab-ci/index.html | 2 +- .../deployment/logs/index.html | 2 +- .../deployment/methods/git/index.html | 2 +- .../deployment/remote-commands/index.html | 2 +- .../schedulers/docker-local/index.html | 2 +- .../schedulers/kubernetes/index.html | 2 +- .../deployment/schedulers/nomad/index.html | 2 +- .../deployment/schedulers/null/index.html | 2 +- .../scheduler-management/index.html | 2 +- .../deployment/user-management/index.html | 2 +- .../zero-downtime-deploys/index.html | 2 +- .../development/plugin-creation/index.html | 2 +- .../development/plugin-triggers/index.html | 2 +- .../development/release-process/index.html | 4 +- .../development/testing/index.html | 2 +- .../enterprise/pro/index.html | 2 +- .../advanced-installation/index.html | 2 +- .../getting-started/install/azure/index.html | 2 +- .../getting-started/install/debian/index.html | 2 +- .../install/digitalocean/index.html | 2 +- .../getting-started/install/docker/index.html | 8 +- .../install/dreamhost/index.html | 2 +- .../install/vagrant/index.html | 2 +- .../getting-started/installation/index.html | 6 +- .../troubleshooting/index.html | 2 +- .../getting-started/uninstalling/index.html | 2 +- .../getting-started/upgrading/index.html | 2 +- .../where-to-get-help/index.html | 2 +- {docs~v0.30.10 => docs~v0.30.11}/index.html | 2 +- .../networking/dns/index.html | 2 +- .../networking/network/index.html | 2 +- .../networking/port-management/index.html | 2 +- .../networking/proxies/caddy/index.html | 2 +- .../networking/proxies/haproxy/index.html | 2 +- .../networking/proxies/nginx/index.html | 2 +- .../networking/proxies/traefik/index.html | 2 +- .../networking/proxy-management/index.html | 2 +- .../processes/entering-containers/index.html | 2 +- .../processes/one-off-tasks/index.html | 2 +- .../processes/process-management/index.html | 2 +- .../processes/scheduled-cron-tasks/index.html | 2 +- .../search/search_index.json | 2 +- {docs~v0.30.10 => docs~v0.30.11}/sitemap.xml | 164 +- .../sitemap.xml.gz | Bin 886 -> 886 bytes .../viewdocs.json | 0 .../assets/favicons/browserconfig.xml | 8 +- docs~v0.4.14/assets/favicons/manifest.json | 12 +- docs~v0.5.8/assets/favicons/browserconfig.xml | 8 +- docs~v0.5.8/assets/favicons/manifest.json | 12 +- docs~v0.6.5/assets/favicons/browserconfig.xml | 8 +- docs~v0.6.5/assets/favicons/manifest.json | 12 +- docs~v0.7.2/assets/favicons/browserconfig.xml | 8 +- docs~v0.7.2/assets/favicons/manifest.json | 12 +- docs~v0.8.2/assets/favicons/browserconfig.xml | 8 +- docs~v0.8.2/assets/favicons/manifest.json | 12 +- docs~v0.9.4/assets/favicons/browserconfig.xml | 8 +- docs~v0.9.4/assets/favicons/manifest.json | 12 +- index.html | 42 +- nginx.conf.d/0.30.0.conf | 2 +- nginx.conf.d/0.30.1.conf | 2 +- nginx.conf.d/0.30.10.conf | 1 + nginx.conf.d/0.30.2.conf | 2 +- nginx.conf.d/0.30.3.conf | 2 +- nginx.conf.d/0.30.4.conf | 2 +- nginx.conf.d/0.30.5.conf | 2 +- nginx.conf.d/0.30.6.conf | 2 +- nginx.conf.d/0.30.7.conf | 2 +- nginx.conf.d/0.30.8.conf | 2 +- nginx.conf.d/0.30.9.conf | 2 +- versions.json | 4 +- 320 files changed, 10845 insertions(+), 2461 deletions(-) create mode 100644 docs/appendices/0.31.0-migration-guide/index.html create mode 100644 docs/networking/proxies/openresty/index.html rename {docs~v0.30.10 => docs~v0.30.11}/404.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/_overrides/_overrides/main.html (100%) rename {docs~v0.30.10 => docs~v0.30.11}/_overrides/main.html (100%) rename {docs~v0.30.10 => docs~v0.30.11}/advanced-usage/backup-recovery/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/advanced-usage/deployment-tasks/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/advanced-usage/docker-options/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/advanced-usage/event-logs/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/advanced-usage/persistent-storage/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/advanced-usage/plugin-management/index.html (97%) rename {docs~v0.30.10 => docs~v0.30.11}/advanced-usage/registry-management/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/advanced-usage/repository-management/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/advanced-usage/resource-management/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.10.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.20.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.21.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.22.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.23.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.24.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.25.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.26.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.27.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.28.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.29.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.30.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.5.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.6.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.7.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.8.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/appendices/0.9.0-migration-guide/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/dokku-logo.svg (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/extra.css (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/android-chrome-144x144.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/android-chrome-192x192.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/android-chrome-36x36.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/android-chrome-48x48.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/android-chrome-72x72.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/android-chrome-96x96.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon-114x114.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon-120x120.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon-144x144.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon-152x152.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon-180x180.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon-57x57.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon-60x60.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon-72x72.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon-76x76.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon-precomposed.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/apple-touch-icon.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/browserconfig.xml (64%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/favicon-16x16.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/favicon-32x32.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/favicon-96x96.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/favicon.ico (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/manifest.json (76%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/mstile-144x144.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/mstile-150x150.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/mstile-310x150.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/mstile-310x310.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/favicons/mstile-70x70.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/images/favicon.png (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/bundle.220ee61c.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/bundle.220ee61c.min.js.map (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.ar.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.da.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.de.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.du.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.es.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.fi.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.fr.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.hi.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.hu.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.hy.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.it.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.ja.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.jp.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.kn.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.ko.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.multi.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.nl.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.no.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.pt.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.ro.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.ru.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.sa.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.stemmer.support.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.sv.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.ta.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.te.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.th.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.tr.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.vi.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/min/lunr.zh.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/tinyseg.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/lunr/wordcut.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/workers/search.74e28a9f.min.js (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/javascripts/workers/search.74e28a9f.min.js.map (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/stylesheets/main.eebd395e.min.css (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/stylesheets/main.eebd395e.min.css.map (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/stylesheets/palette.ecc896b0.min.css (100%) rename {docs~v0.30.10 => docs~v0.30.11}/assets/stylesheets/palette.ecc896b0.min.css.map (100%) rename {docs~v0.30.10 => docs~v0.30.11}/community/clients/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/community/plugins/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/configuration/domains/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/configuration/environment-variables/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/configuration/ssl/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/application-deployment/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/application-management/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/builders/builder-management/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/builders/cloud-native-buildpacks/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/builders/dockerfiles/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/builders/herokuish-buildpacks/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/builders/lambda/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/builders/null/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/continuous-integration/generic/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/continuous-integration/github-actions/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/continuous-integration/gitlab-ci/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/logs/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/methods/git/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/remote-commands/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/schedulers/docker-local/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/schedulers/kubernetes/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/schedulers/nomad/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/schedulers/null/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/schedulers/scheduler-management/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/user-management/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/deployment/zero-downtime-deploys/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/development/plugin-creation/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/development/plugin-triggers/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/development/release-process/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/development/testing/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/enterprise/pro/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/advanced-installation/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/install/azure/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/install/debian/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/install/digitalocean/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/install/docker/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/install/dreamhost/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/install/vagrant/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/installation/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/troubleshooting/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/uninstalling/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/upgrading/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/getting-started/where-to-get-help/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/networking/dns/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/networking/network/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/networking/port-management/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/networking/proxies/caddy/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/networking/proxies/haproxy/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/networking/proxies/nginx/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/networking/proxies/traefik/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/networking/proxy-management/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/processes/entering-containers/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/processes/one-off-tasks/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/processes/process-management/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/processes/scheduled-cron-tasks/index.html (99%) rename {docs~v0.30.10 => docs~v0.30.11}/search/search_index.json (99%) rename {docs~v0.30.10 => docs~v0.30.11}/sitemap.xml (77%) rename {docs~v0.30.10 => docs~v0.30.11}/sitemap.xml.gz (65%) rename {docs~v0.30.10 => docs~v0.30.11}/viewdocs.json (100%) create mode 100644 nginx.conf.d/0.30.10.conf diff --git a/assets/favicons/browserconfig.xml b/assets/favicons/browserconfig.xml index 43885688d..195b2b3b8 100644 --- a/assets/favicons/browserconfig.xml +++ b/assets/favicons/browserconfig.xml @@ -2,10 +2,10 @@ - - - - + + + + #da532c diff --git a/assets/favicons/manifest.json b/assets/favicons/manifest.json index d625ed9ca..69bc6dde3 100644 --- a/assets/favicons/manifest.json +++ b/assets/favicons/manifest.json @@ -2,37 +2,37 @@ "name": "Dokku", "icons": [ { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-36x36.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-36x36.png", "sizes": "36x36", "type": "image\/png", "density": "0.75" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-48x48.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-48x48.png", "sizes": "48x48", "type": "image\/png", "density": "1.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-72x72.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-72x72.png", "sizes": "72x72", "type": "image\/png", "density": "1.5" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-96x96.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-96x96.png", "sizes": "96x96", "type": "image\/png", "density": "2.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-144x144.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-144x144.png", "sizes": "144x144", "type": "image\/png", "density": "3.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-192x192.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-192x192.png", "sizes": "192x192", "type": "image\/png", "density": "4.0" diff --git a/assets/versions.json b/assets/versions.json index 88e252d54..7b9ef6a18 100644 --- a/assets/versions.json +++ b/assets/versions.json @@ -27,6 +27,6 @@ "0.27.10", "0.28.4", "0.29.4", - "0.30.10" + "0.30.11" ] } diff --git a/docs/404.html b/docs/404.html index bd7040654..62e9d1039 100644 --- a/docs/404.html +++ b/docs/404.html @@ -676,6 +676,8 @@ + + @@ -706,6 +708,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1672,6 +1688,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/advanced-usage/backup-recovery/index.html b/docs/advanced-usage/backup-recovery/index.html index b9fb4c4b2..8c5810fd9 100644 --- a/docs/advanced-usage/backup-recovery/index.html +++ b/docs/advanced-usage/backup-recovery/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/advanced-usage/deployment-tasks/index.html b/docs/advanced-usage/deployment-tasks/index.html index 6bd676b7e..1e51b6ab0 100644 --- a/docs/advanced-usage/deployment-tasks/index.html +++ b/docs/advanced-usage/deployment-tasks/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/advanced-usage/docker-options/index.html b/docs/advanced-usage/docker-options/index.html index 568564e9b..fbfb1ca40 100644 --- a/docs/advanced-usage/docker-options/index.html +++ b/docs/advanced-usage/docker-options/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/advanced-usage/event-logs/index.html b/docs/advanced-usage/event-logs/index.html index a9cfd5e05..7d36d4901 100644 --- a/docs/advanced-usage/event-logs/index.html +++ b/docs/advanced-usage/event-logs/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/advanced-usage/persistent-storage/index.html b/docs/advanced-usage/persistent-storage/index.html index 55681eef9..15d32fa9c 100644 --- a/docs/advanced-usage/persistent-storage/index.html +++ b/docs/advanced-usage/persistent-storage/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/advanced-usage/plugin-management/index.html b/docs/advanced-usage/plugin-management/index.html index 3b59b00b0..d491e0bbd 100644 --- a/docs/advanced-usage/plugin-management/index.html +++ b/docs/advanced-usage/plugin-management/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy @@ -2654,13 +2686,13 @@

    Plugin Management
    plugin:disable <name>                    # Disable an installed plugin (third-party only)
     plugin:enable <name>                     # Enable a previously disabled plugin
    -plugin:install [--core|git-url [--committish tag|branch|commit|--name custom-plugin-name]]           # Optionally download git-url (with custom tag/committish) & run install trigger for active plugins (or only core ones)
    +plugin:install [--core|--git-url] [--committish branch|commit|tag] [--name custom-plugin-name]           # Optionally download git-url (and pin to the specified branch/commit/tag) & run install trigger for active plugins (or only core ones)
     plugin:installed <name>                  # Checks if a plugin is installed
     plugin:install-dependencies [--core]     # Run install-dependencies trigger for active plugins (or only core ones)
     plugin:list                              # Print active plugins
     plugin:trigger <args...>.                # Trigger an arbitrary plugin hook
     plugin:uninstall <name>                  # Uninstall a plugin (third-party only)
    -plugin:update [name [committish]]        # Optionally update named plugin from git (with custom tag/committish) & run update trigger for active plugins
    +plugin:update [name [branch|commit|tag]] # Optionally update named plugin from git (and pin to the specified branch/commit/tag) & run update trigger for active plugins
     
    # for 0.3.x
     cd /var/lib/dokku/plugins
    @@ -2682,35 +2714,35 @@ 

    Listing Plugins
    plugn: dev
    -  00_dokku-standard    0.30.10 enabled    dokku core standard plugin
    -  20_events            0.30.10 enabled    dokku core events logging plugin
    -  app-json             0.30.10 enabled    dokku core app-json plugin
    -  apps                 0.30.10 enabled    dokku core apps plugin
    -  build-env            0.30.10 enabled    dokku core build-env plugin
    -  buildpacks           0.30.10 enabled    dokku core buildpacks plugin
    -  certs                0.30.10 enabled    dokku core certificate management plugin
    -  checks               0.30.10 enabled    dokku core checks plugin
    -  common               0.30.10 enabled    dokku core common plugin
    -  config               0.30.10 enabled    dokku core config plugin
    -  docker-options       0.30.10 enabled    dokku core docker-options plugin
    -  domains              0.30.10 enabled    dokku core domains plugin
    -  enter                0.30.10 enabled    dokku core enter plugin
    -  git                  0.30.10 enabled    dokku core git plugin
    -  logs                 0.30.10 enabled    dokku core logs plugin
    -  network              0.30.10 enabled    dokku core network plugin
    -  nginx-vhosts         0.30.10 enabled    dokku core nginx-vhosts plugin
    -  plugin               0.30.10 enabled    dokku core plugin plugin
    -  proxy                0.30.10 enabled    dokku core proxy plugin
    -  ps                   0.30.10 enabled    dokku core ps plugin
    -  repo                 0.30.10 enabled    dokku core repo plugin
    -  resource             0.30.10 enabled    dokku core resource plugin
    -  scheduler-docker-local 0.30.10 enabled    dokku core scheduler-docker-local plugin
    -  shell                0.30.10 enabled    dokku core shell plugin
    -  ssh-keys             0.30.10 enabled    dokku core ssh-keys plugin
    -  storage              0.30.10 enabled    dokku core storage plugin
    -  tags                 0.30.10 enabled    dokku core tags plugin
    -  tar                  0.30.10 enabled    dokku core tar plugin
    -  trace                0.30.10 enabled    dokku core trace plugin
    +  00_dokku-standard    0.30.11 enabled    dokku core standard plugin
    +  20_events            0.30.11 enabled    dokku core events logging plugin
    +  app-json             0.30.11 enabled    dokku core app-json plugin
    +  apps                 0.30.11 enabled    dokku core apps plugin
    +  build-env            0.30.11 enabled    dokku core build-env plugin
    +  buildpacks           0.30.11 enabled    dokku core buildpacks plugin
    +  certs                0.30.11 enabled    dokku core certificate management plugin
    +  checks               0.30.11 enabled    dokku core checks plugin
    +  common               0.30.11 enabled    dokku core common plugin
    +  config               0.30.11 enabled    dokku core config plugin
    +  docker-options       0.30.11 enabled    dokku core docker-options plugin
    +  domains              0.30.11 enabled    dokku core domains plugin
    +  enter                0.30.11 enabled    dokku core enter plugin
    +  git                  0.30.11 enabled    dokku core git plugin
    +  logs                 0.30.11 enabled    dokku core logs plugin
    +  network              0.30.11 enabled    dokku core network plugin
    +  nginx-vhosts         0.30.11 enabled    dokku core nginx-vhosts plugin
    +  plugin               0.30.11 enabled    dokku core plugin plugin
    +  proxy                0.30.11 enabled    dokku core proxy plugin
    +  ps                   0.30.11 enabled    dokku core ps plugin
    +  repo                 0.30.11 enabled    dokku core repo plugin
    +  resource             0.30.11 enabled    dokku core resource plugin
    +  scheduler-docker-local 0.30.11 enabled    dokku core scheduler-docker-local plugin
    +  shell                0.30.11 enabled    dokku core shell plugin
    +  ssh-keys             0.30.11 enabled    dokku core ssh-keys plugin
    +  storage              0.30.11 enabled    dokku core storage plugin
    +  tags                 0.30.11 enabled    dokku core tags plugin
    +  tar                  0.30.11 enabled    dokku core tar plugin
    +  trace                0.30.11 enabled    dokku core trace plugin
     

    @@ -2794,16 +2826,19 @@

    Updating a plugin
    dokku plugin:update postgres 2.0.0
     
    +

    Any future invocation of plugin:update will respect the previously specified SHA-like object. To follow a particular branch again, specify that branch:

    +
    dokku plugin:update postgres main
    +

    Uninstalling a plugin

    Third party plugins can be uninstalled using the plugin:uninstall command:

    -
    dokku plugin:uninstall postgres
    +
    dokku plugin:uninstall postgres
     
    -
    -----> Plugin postgres uninstalled
    +
    -----> Plugin postgres uninstalled
     
    @@ -2813,11 +2848,11 @@

    Disabling a plugin
    -
    dokku plugin:disable postgres
    +
    dokku plugin:disable postgres
     
    -
    -----> Plugin postgres disabled
    +
    -----> Plugin postgres disabled
     
    @@ -2827,18 +2862,18 @@

    Enabling a plugin
    -
    dokku plugin:enable postgres
    +
    dokku plugin:enable postgres
     
    -
    -----> Plugin postgres enabled
    +
    -----> Plugin postgres enabled
     

    Triggering a plugin trigger

    The plugin:trigger can be used to call any internal plugin trigger. This may have unintended consequences, and thus should only be called for development or debugging purposes.

    -
    dokku plugin:trigger some-internal-trigger args-go-here
    +
    dokku plugin:trigger some-internal-trigger args-go-here
     
    diff --git a/docs/advanced-usage/registry-management/index.html b/docs/advanced-usage/registry-management/index.html index 4e7e5b98c..d0e944cf9 100644 --- a/docs/advanced-usage/registry-management/index.html +++ b/docs/advanced-usage/registry-management/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/advanced-usage/repository-management/index.html b/docs/advanced-usage/repository-management/index.html index 07d245b74..b675fc349 100644 --- a/docs/advanced-usage/repository-management/index.html +++ b/docs/advanced-usage/repository-management/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/advanced-usage/resource-management/index.html b/docs/advanced-usage/resource-management/index.html index af2bb038f..e68fe52ca 100644 --- a/docs/advanced-usage/resource-management/index.html +++ b/docs/advanced-usage/resource-management/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.10.0-migration-guide/index.html b/docs/appendices/0.10.0-migration-guide/index.html index 0037f3f75..1f4b03919 100644 --- a/docs/appendices/0.10.0-migration-guide/index.html +++ b/docs/appendices/0.10.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1739,6 +1755,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.20.0-migration-guide/index.html b/docs/appendices/0.20.0-migration-guide/index.html index 87a55275c..d9c5f021d 100644 --- a/docs/appendices/0.20.0-migration-guide/index.html +++ b/docs/appendices/0.20.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1814,6 +1830,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.21.0-migration-guide/index.html b/docs/appendices/0.21.0-migration-guide/index.html index 0117a7055..d16890189 100644 --- a/docs/appendices/0.21.0-migration-guide/index.html +++ b/docs/appendices/0.21.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1746,6 +1762,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.22.0-migration-guide/index.html b/docs/appendices/0.22.0-migration-guide/index.html index c39b1cf22..070f93c56 100644 --- a/docs/appendices/0.22.0-migration-guide/index.html +++ b/docs/appendices/0.22.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1746,6 +1762,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.23.0-migration-guide/index.html b/docs/appendices/0.23.0-migration-guide/index.html index 394239e18..c57b83096 100644 --- a/docs/appendices/0.23.0-migration-guide/index.html +++ b/docs/appendices/0.23.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1732,6 +1748,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.24.0-migration-guide/index.html b/docs/appendices/0.24.0-migration-guide/index.html index 8a3a1d34f..f1714416b 100644 --- a/docs/appendices/0.24.0-migration-guide/index.html +++ b/docs/appendices/0.24.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1739,6 +1755,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.25.0-migration-guide/index.html b/docs/appendices/0.25.0-migration-guide/index.html index e13181880..8e1fc554d 100644 --- a/docs/appendices/0.25.0-migration-guide/index.html +++ b/docs/appendices/0.25.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1766,6 +1782,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.26.0-migration-guide/index.html b/docs/appendices/0.26.0-migration-guide/index.html index c3473bfaa..faba14ad5 100644 --- a/docs/appendices/0.26.0-migration-guide/index.html +++ b/docs/appendices/0.26.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1739,6 +1755,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.27.0-migration-guide/index.html b/docs/appendices/0.27.0-migration-guide/index.html index 311eab1fd..e57aeff2c 100644 --- a/docs/appendices/0.27.0-migration-guide/index.html +++ b/docs/appendices/0.27.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1732,6 +1748,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.28.0-migration-guide/index.html b/docs/appendices/0.28.0-migration-guide/index.html index 181522368..ad37a48c6 100644 --- a/docs/appendices/0.28.0-migration-guide/index.html +++ b/docs/appendices/0.28.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1746,6 +1762,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.29.0-migration-guide/index.html b/docs/appendices/0.29.0-migration-guide/index.html index edeaa9185..b810f9c0b 100644 --- a/docs/appendices/0.29.0-migration-guide/index.html +++ b/docs/appendices/0.29.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1739,6 +1755,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.30.0-migration-guide/index.html b/docs/appendices/0.30.0-migration-guide/index.html index 1e75a6da5..37f4db1e7 100644 --- a/docs/appendices/0.30.0-migration-guide/index.html +++ b/docs/appendices/0.30.0-migration-guide/index.html @@ -30,7 +30,7 @@ - + @@ -695,6 +695,8 @@ + + @@ -724,6 +726,20 @@ + +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + @@ -1746,6 +1762,8 @@ + +
    diff --git a/docs/appendices/0.31.0-migration-guide/index.html b/docs/appendices/0.31.0-migration-guide/index.html new file mode 100644 index 000000000..ddec1d671 --- /dev/null +++ b/docs/appendices/0.31.0-migration-guide/index.html @@ -0,0 +1,2808 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + 0.31.0 Migration Guide - Dokku Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    + + + + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    +
    + + + +
    +
    + + + + + + + + + + + + + + + + + + + + +

    0.31.0 Migration Guide

    +

    Changes

    +
      +
    • Herokuish build cache is now mounted from a docker volume - eg. cache-node-js-app - instead of the local filesystem. All existing app cache will be cleared upon upgrading past 0.29.0.
    • +
    • The vector container integration now mounts config to /etc/vector instead of the path /etc/vector/vector.json, allowing users the ability to provide extra configuration for Vector Sinks. To take advantage of the new functionality, the vector container should be stopped (via dokku logs:vector-stop) and then started (via dokku logs:vector-start).
    • +
    • The traefik integration now mounts config to /data instead of the path /acme.json, fixing permissions issues under certain architectures. To take advantage of the new functionality, the traefik container should be stopped (via dokku traefik:stop) and then started (via dokku traefik:start).
    • +
    • Users no longer need to clear the source-image git property when transitioning from image-based deploys (git:from-image and git:load-image) to other deployment methods (git push, git:from-archive, git:sync).
    • +
    • For deploys via the git:from-image and git:load-image commands, the CHECKS file is now extracted from the configured WORKDIR property of the image. For all other deploys - git push, git:from-archive, git:sync - will have the CHECKS extracted directly from the source code. The filename in both cases is CHECKS and cannot be modified.
    • +
    • Port mappings are now auto-detected during the build process. Users may override detected port mappings via the ports plugin. A default port mapping of http:80:5000 will be used if none is otherwise specified.
    • +
    • Users building docker images that run Dokku will need to use a new sudoer wrapper for the docker-container-healthchecker binary to work correctly. A reference version has been placed in the docker skeleton directory. This should only impact platform developers, and users of our Docker image will already have the file available.
    • +
    • The default image used for Herokuish Buildpack builds is now gliderlabs/herokuish:latest-22, and is based on both the heroku-22 stack as well as Ubuntu 22.04. Users that wish to stick with the old, heroku-20/Ubuntu 20.04 builder may specify gliderlabs/herokuish:latest-20 as their builder image. Please see the herokuish buildpack deployment documentation for more information on how to specify a custom buildpack stack builder.
    • +
    • The default image used for Cloud Native Buildpack builds is now heroku/builder:22, and is based on both the heroku-22 stack as well as Ubuntu 22.04. Users that wish to stick with the old, heroku-20/Ubuntu 20.04 builder may specify heroku/buildpacks:20 as their builder image. Please see the herokuish buildpack deployment documentation for more information on how to specify a custom buildpack stack builder.
    • +
    +

    Deprecations

    +
      +
    • The proxy:ports* commands have been replaced with the new ports plugin. Users will be able to use the old proxy:ports* commands for a single minor release, and they will be removed in the next minor release.
    • +
    • The common#get_available_port() function has been deprecated and will be removed in the next release. Users should avoid interacting with this function and instead use the ports-get-available plugin trigger for fetching an available port.
    • +
    • The proxy-configure-ports plugin trigger has been deprecated and will be removed in the next release. Users should instead trigger the ports-configure plugin trigger.
    • +
    • The common#get_dockerfile_exposed_ports() function is deprecated and will be removed in the next release. There is no replacement for this as it's only use in Dokku core was in the builder-dockerfile plugin.
    • +
    • The common#get_exposed_ports_from_image() function is deprecated and will be removed in the next release. There is no replacement for this as it's only use in Dokku core was during the build process.
    • +
    • The environment variable DOKKU_PROXY_PORT_MAP has been migrated to the properties system. Direct changes to the value will be ignored, and users should interact with port maps via the ports plugin.
    • +
    • The CHECKS file is deprecated in favor of defining healthchecks in the app.json file. The docker-container-healthchecker tool can be used to generate healthcheck entries in app.json format from existing CHECKS files. See the zero-downtime deploy documentation for more information on how the new zero downtime check format works.
    • +
    • ARM support is now deprecated, and will be removed in the next minor release. ARM releases are not tested in CI and do not get testing locally. Users of ARM installations on platforms such as the Raspberry PI should consider migrating to ARM64. ARM64 will continue to be supported by Dokku, and there are no plans to remove support for ARM64.
    • +
    +

    Un-Deprecations

    +
      +
    • The bare apps and config cli aliases are no longer deprecated. This better follows Heroku's output and is more useful to users. The subcommands will be treated as the primary, documented versions, while the aliases are there for convenience.
    • +
    +

    Removals

    +
      +
    • The variable RAW_TCP_PORTS is no longer exposed for nginx.conf.sigil templating.
    • +
    • The environment variable DOKKU_DOCKERFILE_PORTS is no longer in use. Users wishing to change port mappings should instead use the ports plugin.
    • +
    • The common#get_app_raw_tcp_ports() function has been removed in the next release. Users should instead use the ports-get plugin trigger for fetching ports for an app.
    • +
    • The plugin trigger network-compute-ports has been removed. It's only use was in the scheduler-docker-local plugin, for exposing ports. It's functionality is now implemented via the ports plugin.
    • +
    • The plugin trigger network-get-port has been removed. It's only use was in the scheduler-docker-local plugin, for recording ports. It's functionality is now implemented via the ports plugin.
    • +
    + + + + + + +
    +
    + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/appendices/0.5.0-migration-guide/index.html b/docs/appendices/0.5.0-migration-guide/index.html index ddbbbfc4b..7c032a144 100644 --- a/docs/appendices/0.5.0-migration-guide/index.html +++ b/docs/appendices/0.5.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1739,6 +1755,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.6.0-migration-guide/index.html b/docs/appendices/0.6.0-migration-guide/index.html index 038bfa7e7..2304c008a 100644 --- a/docs/appendices/0.6.0-migration-guide/index.html +++ b/docs/appendices/0.6.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1746,6 +1762,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.7.0-migration-guide/index.html b/docs/appendices/0.7.0-migration-guide/index.html index 967f2db3c..17ab14354 100644 --- a/docs/appendices/0.7.0-migration-guide/index.html +++ b/docs/appendices/0.7.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1746,6 +1762,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.8.0-migration-guide/index.html b/docs/appendices/0.8.0-migration-guide/index.html index 2652711d2..57ca45ba4 100644 --- a/docs/appendices/0.8.0-migration-guide/index.html +++ b/docs/appendices/0.8.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1753,6 +1769,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/appendices/0.9.0-migration-guide/index.html b/docs/appendices/0.9.0-migration-guide/index.html index 7d6ff32f8..a45bcf9a9 100644 --- a/docs/appendices/0.9.0-migration-guide/index.html +++ b/docs/appendices/0.9.0-migration-guide/index.html @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1732,6 +1748,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/assets/favicons/browserconfig.xml b/docs/assets/favicons/browserconfig.xml index 43885688d..195b2b3b8 100644 --- a/docs/assets/favicons/browserconfig.xml +++ b/docs/assets/favicons/browserconfig.xml @@ -2,10 +2,10 @@ - - - - + + + + #da532c diff --git a/docs/assets/favicons/manifest.json b/docs/assets/favicons/manifest.json index d625ed9ca..69bc6dde3 100644 --- a/docs/assets/favicons/manifest.json +++ b/docs/assets/favicons/manifest.json @@ -2,37 +2,37 @@ "name": "Dokku", "icons": [ { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-36x36.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-36x36.png", "sizes": "36x36", "type": "image\/png", "density": "0.75" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-48x48.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-48x48.png", "sizes": "48x48", "type": "image\/png", "density": "1.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-72x72.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-72x72.png", "sizes": "72x72", "type": "image\/png", "density": "1.5" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-96x96.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-96x96.png", "sizes": "96x96", "type": "image\/png", "density": "2.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-144x144.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-144x144.png", "sizes": "144x144", "type": "image\/png", "density": "3.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.10\/docs\/assets\/favicons\/android-chrome-192x192.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.11\/docs\/assets\/favicons\/android-chrome-192x192.png", "sizes": "192x192", "type": "image\/png", "density": "4.0" diff --git a/docs/community/clients/index.html b/docs/community/clients/index.html index 6cf1acd5f..441231821 100644 --- a/docs/community/clients/index.html +++ b/docs/community/clients/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/community/plugins/index.html b/docs/community/plugins/index.html index 41856184a..b8c666894 100644 --- a/docs/community/plugins/index.html +++ b/docs/community/plugins/index.html @@ -689,6 +689,8 @@ + + @@ -719,6 +721,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1685,6 +1701,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/configuration/domains/index.html b/docs/configuration/domains/index.html index a9bb82854..b2cffea14 100644 --- a/docs/configuration/domains/index.html +++ b/docs/configuration/domains/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1751,6 +1767,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/configuration/environment-variables/index.html b/docs/configuration/environment-variables/index.html index d96da88e6..02e4f94fb 100644 --- a/docs/configuration/environment-variables/index.html +++ b/docs/configuration/environment-variables/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1730,6 +1746,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy @@ -2785,12 +2817,6 @@

    Special Config Variables -DOKKU_DOCKERFILE_PORTS -dockerfile ports -dokku config:set - - - DOKKU_DOCKERFILE_START_CMD none dokku config:set @@ -2815,12 +2841,6 @@

    Special Config Variables -DOKKU_PROXY_PORT_MAP -automatically assigned -dokku proxy:ports-add
    dokku proxy:ports-remove, dokku proxy:ports-clear - - - DOKKU_SKIP_ALL_CHECKS none dokku config:set diff --git a/docs/configuration/ssl/index.html b/docs/configuration/ssl/index.html index a5f844692..1abab13d7 100644 --- a/docs/configuration/ssl/index.html +++ b/docs/configuration/ssl/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1831,6 +1847,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy @@ -2827,7 +2859,7 @@

    HSTS HeaderHTTP/2 support

    Certain versions of nginx have bugs that prevent HTTP/2 from properly responding to all clients, thus causing applications to be unavailable. For HTTP/2 to be enabled in your applications' nginx configs, you need to have installed nginx 1.11.5 or higher. See issue 2435 for more details.

    SSL Port Exposure

    -

    When your app is served from port 80 then the /home/dokku/APP/nginx.conf file will automatically be updated to instruct nginx to respond to ssl on port 443 as a new cert is added. If your app uses a non-standard port (perhaps you have a dockerfile deploy exposing port 99999) you may need to manually expose an ssl port via dokku proxy:ports-add <APP> https:443:99999.

    +

    When your app is served from port 80 then the /home/dokku/APP/nginx.conf file will automatically be updated to instruct nginx to respond to ssl on port 443 as a new cert is added. If your app uses a non-standard port (perhaps you have a dockerfile deploy exposing port 99999) you may need to manually expose an ssl port via dokku ports:add <APP> https:443:99999.

    Other

    Running behind a proxy (X-Forwarded-Ssl, etc.)

    See the running behind another proxy documentation for more information on how to configure your Nginx config when your server is running behind a proxy (e.g. load balancer, etc.).

    diff --git a/docs/deployment/application-deployment/index.html b/docs/deployment/application-deployment/index.html index 97ca75016..4f6ee6942 100644 --- a/docs/deployment/application-deployment/index.html +++ b/docs/deployment/application-deployment/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1869,6 +1885,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/application-management/index.html b/docs/deployment/application-management/index.html index 1aa0f0485..748c578f3 100644 --- a/docs/deployment/application-management/index.html +++ b/docs/deployment/application-management/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1806,6 +1822,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/builders/builder-management/index.html b/docs/deployment/builders/builder-management/index.html index adb2b251b..2003efd72 100644 --- a/docs/deployment/builders/builder-management/index.html +++ b/docs/deployment/builders/builder-management/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1777,6 +1793,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/builders/cloud-native-buildpacks/index.html b/docs/deployment/builders/cloud-native-buildpacks/index.html index 671bf6e6c..e91f4cd50 100644 --- a/docs/deployment/builders/cloud-native-buildpacks/index.html +++ b/docs/deployment/builders/cloud-native-buildpacks/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1785,6 +1801,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy @@ -2744,14 +2776,14 @@

    Customizing the Buildpack stack

    New

    Introduced in 0.23.0

  • -

    The default stack builder in use by CNB buildpacks in Dokku is based on heroku/buildpacks. Users may desire to switch the stack builder to a custom version, either to update the operating system or to customize packages included with the stack builder. This can be performed via the buildpacks:set-property command.

    +

    The default stack builder in use by CNB buildpacks in Dokku is based on heroku/builder:22. Users may desire to switch the stack builder to a custom version, either to update the operating system or to customize packages included with the stack builder. This can be performed via the buildpacks:set-property command.

    dokku buildpacks:set-property node-js-app stack paketobuildpacks/build:base-cnb
     

    The specified stack builder can also be unset by omitting the name of the stack builder when calling buildpacks:set-property.

    dokku buildpacks:set-property node-js-app stack
     

    A change in the stack builder value will execute the post-stack-set trigger.

    -

    Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set DOKKU_CNB_BUILDER environment variable (heroku/buildpacks by default).

    +

    Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set DOKKU_CNB_BUILDER environment variable (heroku/builder:22 by default).

    # set globally
     dokku buildpacks:set-property --global stack paketobuildpacks/build:base-cnb
     
    diff --git a/docs/deployment/builders/dockerfiles/index.html b/docs/deployment/builders/dockerfiles/index.html
    index edddb0b45..ae3165eee 100644
    --- a/docs/deployment/builders/dockerfiles/index.html
    +++ b/docs/deployment/builders/dockerfiles/index.html
    @@ -691,6 +691,8 @@
               
             
               
    +        
    +          
             
               
             
    @@ -721,6 +723,20 @@
       
       
       
    +    
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1812,6 +1828,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy @@ -2699,7 +2731,7 @@

    DetectionSwitching from buildpack deployments

    If an application was previously deployed via buildpacks, the following commands should be run before a Dockerfile deploy will succeed:

    -
    dokku config:unset --no-restart node-js-app DOKKU_PROXY_PORT_MAP
    +
    dokku proxy:clear node-js-app
     

    Changing the Dockerfile location

    @@ -2779,8 +2811,8 @@

    Displaying builder-doc

    Build-time configuration variables

    For security reasons - and as per Docker recommendations - Dockerfile-based deploys have variables available only during runtime.

    -

    For users that require customization in the build phase, you may use build arguments via the docker-options plugin:

    -
    dokku docker-options:add node-js-app build '--build-arg NODE_ENV=production'
    +

    For users that require customization in the build phase, you may use build arguments via the docker-options plugin. All environment variables set by the config plugin are automatically exported during a docker build, and thus --build-arg only requires setting a key without a value.

    +
    dokku docker-options:add node-js-app build '--build-arg NODE_ENV'
     

    Once set, the Dockerfile usage would be as follows:

    FROM ubuntu:20.04
    diff --git a/docs/deployment/builders/herokuish-buildpacks/index.html b/docs/deployment/builders/herokuish-buildpacks/index.html
    index c5e5a2355..f2b517907 100644
    --- a/docs/deployment/builders/herokuish-buildpacks/index.html
    +++ b/docs/deployment/builders/herokuish-buildpacks/index.html
    @@ -691,6 +691,8 @@
               
             
               
    +        
    +          
             
               
             
    @@ -721,6 +723,20 @@
       
       
       
    +    
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1854,6 +1870,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy @@ -2887,7 +2919,7 @@

    Customizing the Buildpack stack
    dokku buildpacks:set-property node-js-app stack
     

    A change in the stack builder value will execute the post-stack-set trigger.

    -

    Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set DOKKU_IMAGE environment variable (gliderlabs/herokuish:latest-20 by default).

    +

    Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set DOKKU_IMAGE environment variable (gliderlabs/herokuish:latest-22 by default).

    # set globally
     dokku buildpacks:set-property --global stack gliderlabs/herokuish:latest
     
    @@ -2922,18 +2954,18 @@ 

    Displaying buildpack reports fo

    =====> node-js-app buildpacks information
    -       Buildpacks computed stack:  gliderlabs/herokuish:v0.5.23-20
    -       Buildpacks global stack:    gliderlabs/herokuish:latest-20
    +       Buildpacks computed stack:  gliderlabs/herokuish:v0.7.0-22
    +       Buildpacks global stack:    gliderlabs/herokuish:latest-22
            Buildpacks list:            https://github.com/heroku/heroku-buildpack-nodejs.git
    -       Buildpacks stack:           gliderlabs/herokuish:v0.5.23-20
    +       Buildpacks stack:           gliderlabs/herokuish:v0.7.0-20
     =====> python-sample buildpacks information
    -       Buildpacks computed stack:  gliderlabs/herokuish:latest-20
    -       Buildpacks global stack:    gliderlabs/herokuish:latest-20
    +       Buildpacks computed stack:  gliderlabs/herokuish:latest-22
    +       Buildpacks global stack:    gliderlabs/herokuish:latest-22
            Buildpacks list:            https://github.com/heroku/heroku-buildpack-nodejs.git,https://github.com/heroku/heroku-buildpack-python.git
            Buildpacks stack:
     =====> ruby-sample buildpacks information
    -       Buildpacks computed stack:  gliderlabs/herokuish:latest-20
    -       Buildpacks global stack:    gliderlabs/herokuish:latest-20
    +       Buildpacks computed stack:  gliderlabs/herokuish:latest-22
    +       Buildpacks global stack:    gliderlabs/herokuish:latest-22
            Buildpacks list:
            Buildpacks stack:
     
    @@ -3018,7 +3050,7 @@

    Displaying builder-hero

    Errata

    Switching from Dockerfile deployments

    If an application was previously deployed via Dockerfile, the following commands should be run before a buildpack deploy will succeed:

    -
    dokku config:unset --no-restart node-js-app DOKKU_PROXY_PORT_MAP
    +
    dokku ports:clear node-js-app
     

    Using a specific buildpack version

    diff --git a/docs/deployment/builders/lambda/index.html b/docs/deployment/builders/lambda/index.html index d8296599a..19a1e9307 100644 --- a/docs/deployment/builders/lambda/index.html +++ b/docs/deployment/builders/lambda/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1771,6 +1787,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/builders/null/index.html b/docs/deployment/builders/null/index.html index 9976221c1..44b87b6d4 100644 --- a/docs/deployment/builders/null/index.html +++ b/docs/deployment/builders/null/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1743,6 +1759,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/continuous-integration/generic/index.html b/docs/deployment/continuous-integration/generic/index.html index 0f93863fb..6d4d39965 100644 --- a/docs/deployment/continuous-integration/generic/index.html +++ b/docs/deployment/continuous-integration/generic/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/continuous-integration/github-actions/index.html b/docs/deployment/continuous-integration/github-actions/index.html index 8813cc350..587a31fb9 100644 --- a/docs/deployment/continuous-integration/github-actions/index.html +++ b/docs/deployment/continuous-integration/github-actions/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/continuous-integration/gitlab-ci/index.html b/docs/deployment/continuous-integration/gitlab-ci/index.html index 8320273e1..43b7d3fe6 100644 --- a/docs/deployment/continuous-integration/gitlab-ci/index.html +++ b/docs/deployment/continuous-integration/gitlab-ci/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/logs/index.html b/docs/deployment/logs/index.html index 39bb0ff6d..4c46d3d3f 100644 --- a/docs/deployment/logs/index.html +++ b/docs/deployment/logs/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1824,6 +1840,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/methods/git/index.html b/docs/deployment/methods/git/index.html index 2347117d9..00ed402da 100644 --- a/docs/deployment/methods/git/index.html +++ b/docs/deployment/methods/git/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1813,6 +1829,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy @@ -2794,18 +2826,8 @@

    Initializing an app
    dokku git:from-image node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
     

    If the image is a private image that requires a docker login to access, the registry:login command should be used to log into the registry. See the registry documentation for more details on this process.

    -

    Building an app from an image will result in the following files being extracted from the source image (with all custom paths specified for each file being respected):

    -
      -
    • app.json
    • -
    • nginx.conf.sigil
    • -
    • Procfile
    • -
    -

    In the case where the repository is later modified to manually add any of the above files and deployed via git push, the files will still be extracted from the initial source image. To avoid this, please clear the source-image git property. It will be set back to the original source image on any subsequent git:from-image calls.

    -
    # sets an empty value
    -dokku git:set node-js-app source-image
    -

    Finally, certain images may require a custom build context in order for ONBUILD ADD and ONBUILD COPY statements to succeed. A custom build context can be specified via the --build-dir flag. All files in the specified build-dir will be copied into the repository for use within the docker build process. The build context must be specified on each deploy, and is not otherwise persisted between builds.

    -
    dokku git:from-image --build-dir path/to/build node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
    +
    dokku git:from-image --build-dir path/to/build node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
     

    See the dockerfile documentation to learn about the different ways to configure Dockerfile-based deploys.

    Initializing an app repository from an archive file

    @@ -2814,18 +2836,18 @@

    Initializing an app

    Introduced in 0.24.0

    A Dokku app repository can be initialized or updated from the contents of an archive file via the git:from-archive command. This is an excellent way of tracking changes when deploying pre-built binary archives, such as java jars or go binaries. This can also be useful when deploying directly from a GitHub repository at a specific commit.

    -
    dokku git:from-archive node-js-app https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar
    +
    dokku git:from-archive node-js-app https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar
     

    In the above example, Dokku will build the app as if the repository contained the extracted contents of the specified archive file.

    Triggering a build with the same archive file multiple times will result in Dokku exiting 0 early as there will be no changes detected.

    The git:from-archive command can optionally take a git user.name and user.email argument (in that order) to customize the author. If the arguments are left empty, they will fallback to Dokku and automated@dokku.sh, respectively.

    -
    dokku git:from-archive node-js-app https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar "Camila" "camila@example.com"
    +
    dokku git:from-archive node-js-app https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar "Camila" "camila@example.com"
     

    The default archive type is always set to .tar. To use a different archive type, specify the --archive-type flag. Failure to do so will result in a failure to extract the archive.

    -
    dokku git:from-archive --archive-type zip node-js-app https://github.com/dokku/smoke-test-app/archive/2.0.0.zip "Camila" "camila@example.com"
    +
    dokku git:from-archive --archive-type zip node-js-app https://github.com/dokku/smoke-test-app/archive/2.0.0.zip "Camila" "camila@example.com"
     

    Finally, if the archive url is specified as --, the archive will be fetched from stdin.

    -
    curl -sSL https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar | dokku git:from-archive node-js-app  --
    +
    curl -sSL https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar | dokku git:from-archive node-js-app  --
     

    Initializing an app repository from a remote image without a registry

    @@ -2833,33 +2855,23 @@

    I

    Introduced in 0.30.0

    A Dokku app repository can be initialized or updated from the contents of an image archive tar file via the git:load-image command. This method can be used when a Docker Registry is unavailable to act as an intermediary for storing an image, such as when building an image in CI and deploying directly from that image.

    -
    docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started:latest
    +
    docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started:latest
     

    In the above example, we are saving the image to a tar file via docker image save, streaming that to the Dokku host, and then running git:load-image on the incoming stream. Dokku will build the app as if the repository contained only a Dockerfile with the following content:

    -
    FROM dokku/node-js-getting-started:latest
    +
    FROM dokku/node-js-getting-started:latest
     

    When deploying an app via git:load-image, it is highly recommended to use a unique image tag when building the image. Not doing so will result in Dokku exiting 0 early as there will be no changes detected. If the image tag is reused but the underlying image is different, it is recommended to use the image digest instead of the tag. This can be retrieved via the following command:

    -
    docker inspect --format='{{index .RepoDigests 0}}' $IMAGE_NAME
    +
    docker inspect --format='{{index .RepoDigests 0}}' $IMAGE_NAME
     

    The resulting git:load-image call would then be:

    -
    # where the image sha is: sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
    -docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started@sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
    +
    # where the image sha is: sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
    +docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started@sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
     

    The git:load-image command can optionally take a git user.name and user.email argument (in that order) to customize the author. If the arguments are left empty, they will fallback to Dokku and automated@dokku.sh, respectively.

    -
    docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
    -
    -

    Building an app from an image will result in the following files being extracted from the source image (with all custom paths specified for each file being respected):

    -
      -
    • app.json
    • -
    • nginx.conf.sigil
    • -
    • Procfile
    • -
    -

    In the case where the repository is later modified to manually add any of the above files and deployed via git push, the files will still be extracted from the initial source image. To avoid this, please clear the source-image git property. It will be set back to the original source image on any subsequent git:load-image calls.

    -
    # sets an empty value
    -dokku git:set node-js-app source-image
    +
    docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
     

    Finally, certain images may require a custom build context in order for ONBUILD ADD and ONBUILD COPY statements to succeed. A custom build context can be specified via the --build-dir flag. All files in the specified build-dir will be copied into the repository for use within the docker build process. The build context must be specified on each deploy, and is not otherwise persisted between builds.

    -
    docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image --build-dir path/to/build node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
    +
    docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image --build-dir path/to/build node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
     

    See the dockerfile documentation to learn about the different ways to configure Dockerfile-based deploys.

    Initializing an app repository from a remote repository

    @@ -2872,20 +2884,20 @@

    Initializing an

    Info

    The application must exist before the repository can be initialized

    -
    dokku git:sync node-js-app https://github.com/heroku/node-js-getting-started.git
    +
    dokku git:sync node-js-app https://github.com/heroku/node-js-getting-started.git
     

    The git:sync command optionally takes an optional third parameter containing a git reference, which may be a branch, tag, or specific commit.

    -
    # specify a branch
    -dokku git:sync node-js-app https://github.com/heroku/node-js-getting-started.git main
    -
    -# specify a tag
    -dokku git:sync node-js-app https://github.com/heroku/node-js-getting-started.git 1
    -
    -# specify a commit
    -dokku git:sync node-js-app https://github.com/heroku/node-js-getting-started.git 97e6c72491c7531507bfc5413903e0e00e31e1b0
    +
    # specify a branch
    +dokku git:sync node-js-app https://github.com/heroku/node-js-getting-started.git main
    +
    +# specify a tag
    +dokku git:sync node-js-app https://github.com/heroku/node-js-getting-started.git 1
    +
    +# specify a commit
    +dokku git:sync node-js-app https://github.com/heroku/node-js-getting-started.git 97e6c72491c7531507bfc5413903e0e00e31e1b0
     

    By default, this command does not trigger an application build. To do so during a git:sync, specify the --build flag.

    -
    dokku git:sync --build node-js-app https://github.com/heroku/node-js-getting-started.git
    +
    dokku git:sync --build node-js-app https://github.com/heroku/node-js-getting-started.git
     

    Initializing from private repositories

    @@ -2898,21 +2910,21 @@

    Initializing from private reposi
  • A configured .netrc entry.
  • Dokku provides the git:auth command which can be used to configure a netrc entry for the remote server. This command can be used to add or remove configuration for any remote server.

    -
    # add credentials for github.com
    -dokku git:auth github.com username personal-access-token
    -
    -# remove credentials for github.com
    -dokku git:auth github.com
    +
    # add credentials for github.com
    +dokku git:auth github.com username personal-access-token
    +
    +# remove credentials for github.com
    +dokku git:auth github.com
     

    For syncing to a private repository stored on a remote Git product such as GitHub or GitLab, Dokku's recommendation is to use a personal access token on a bot user where possible. Please see your service's documentation for information regarding the recommended best practices.

    Allowing remote repository hosts

    By default, the Dokku host may not have access to a server containing the remote repository. This can be initialized via the git:allow-host command.

    -
    dokku git:allow-host github.com
    +
    dokku git:allow-host github.com
     

    Note that this command is currently not idempotent and may add duplicate entries to the ~dokku/.ssh/known_hosts file.

    Verifying the cloning public key

    In order to clone a remote repository, the remote server should have the Dokku host's public key configured. This plugin does not currently create this key, but if there is one available, it can be shown via the git:public-key command.

    -
    dokku git:public-key
    +
    dokku git:public-key
     

    If there is no key, an error message is shown that displays the command that can be run on the Dokku server to generate a new public/private ssh key pair.

    diff --git a/docs/deployment/remote-commands/index.html b/docs/deployment/remote-commands/index.html index 0d0c0d52a..82d065134 100644 --- a/docs/deployment/remote-commands/index.html +++ b/docs/deployment/remote-commands/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1784,6 +1800,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/schedulers/docker-local/index.html b/docs/deployment/schedulers/docker-local/index.html index 5ca7c5d65..5219d9eb2 100644 --- a/docs/deployment/schedulers/docker-local/index.html +++ b/docs/deployment/schedulers/docker-local/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/schedulers/kubernetes/index.html b/docs/deployment/schedulers/kubernetes/index.html index b12544c4b..824238bcf 100644 --- a/docs/deployment/schedulers/kubernetes/index.html +++ b/docs/deployment/schedulers/kubernetes/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/schedulers/nomad/index.html b/docs/deployment/schedulers/nomad/index.html index 1b86c570a..1a2f23108 100644 --- a/docs/deployment/schedulers/nomad/index.html +++ b/docs/deployment/schedulers/nomad/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/schedulers/null/index.html b/docs/deployment/schedulers/null/index.html index 6681a9744..4c3da9e7e 100644 --- a/docs/deployment/schedulers/null/index.html +++ b/docs/deployment/schedulers/null/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/schedulers/scheduler-management/index.html b/docs/deployment/schedulers/scheduler-management/index.html index 04ec89205..f936a6f79 100644 --- a/docs/deployment/schedulers/scheduler-management/index.html +++ b/docs/deployment/schedulers/scheduler-management/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/user-management/index.html b/docs/deployment/user-management/index.html index 726740d7e..331ac4734 100644 --- a/docs/deployment/user-management/index.html +++ b/docs/deployment/user-management/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1771,6 +1787,8 @@ + +
  • + + OpenResty Proxy + +
  • + + + + + + + + +
  • Traefik Proxy diff --git a/docs/deployment/zero-downtime-deploys/index.html b/docs/deployment/zero-downtime-deploys/index.html index c9967dd00..510ac4297 100644 --- a/docs/deployment/zero-downtime-deploys/index.html +++ b/docs/deployment/zero-downtime-deploys/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
  • + + 0.31.0 Migration Guide + +
  • + + + + + + + + +
  • 0.30.0 Migration Guide @@ -1270,33 +1286,6 @@ Customizing checks - -
  • @@ -1304,60 +1293,6 @@ Manually invoking checks -
  • - -
  • - - Example: Successful Rails deployment - - - - -
  • - -
  • - - Example: Failing Rails deployment - - - -
  • @@ -1865,6 +1800,8 @@ + +

    Zero Downtime Deploy Checkschecks:skip <app> [process-type(s)] Skip zero-downtime checks for all processes (or comma-separated process-type list)

    By default, Dokku will wait 10 seconds after starting each container before assuming it is up and proceeding with the deploy. Once this has occurred for all containers started by an application, traffic will be switched to point to your new containers. Dokku will also wait a further 60 seconds after the deploy is complete before terminating old containers in order to give time for long running connections to terminate. In either case, you may have more than one container running for a given application.

    -

    You may both create user-defined checks for web processes using a CHECKS file, as well as customize any and all parts of this experience using the checks plugin.

    +

    You may both create user-defined checks for web processes using the healthchecks key in the app.json file, as well as customize any and all parts of this experience using the checks plugin.

    Info

    Web checks are performed via curl on Dokku host. Some application code - such @@ -2816,7 +2686,7 @@

    Configuring check se
  • DOKKU_DEFAULT_CHECKS_WAIT: (default: 10) If no user-defined checks are specified - or if the process being checked is not a web process - this is the period of time Dokku will wait before checking that a container is still running.
  • DOKKU_DOCKER_STOP_TIMEOUT: (default: 10) Configurable grace period given to the docker stop command. If a container has not stopped by this time, a kill -9 signal or equivalent is sent in order to force-terminate the container. Both the ps:stop and apps:destroy commands also respect this value. If not specified, the Docker defaults for the docker stop command will be used.
  • -

    The following settings may also be specified in the CHECKS file, though are available as environment variables in order to ease application reuse.

    +

    The following settings may also be specified in the app.json file, though are available as environment variables in order to ease application reuse.

    • DOKKU_CHECKS_WAIT: (default: 5) Wait this many seconds for the container to start before running checks.
    • DOKKU_CHECKS_TIMEOUT: (default: 30) Wait this many seconds for each response before marking it as a failure.
    • @@ -2919,104 +2789,73 @@

      Displaying checks reports for an a
      dokku checks:report node-js-app --checks-disabled-list
       

      Customizing checks

      -

      If your application needs a longer period to boot up - perhaps to load data into memory, or because of slow boot time - you may also use Dokku's checks functionality to more precisely check whether an application can serve traffic or not.

      -

      Checks are run against the detected web process from your application's Procfile. For non-web processes, Dokku will fallback to the aforementioned process uptime check.

      -

      To specify checks, add a CHECKS file to the root of your project directory. The CHECKS file should be plain text and may contain:

      -
        -
      • check instructions
      • -
      • settings (NAME=VALUE)
      • -
      • comments (lines starting with #)
      • -
      • empty lines
      • -
      -
      -

      Info

      -

      For Dockerfile and Docker Image based deploys, the file must be in the WORKDIR directory of the built image. /app is used by default as the root container directory for buildpack-based deploys.

      -
      -

      Check instructions

      -

      The format of a check instruction is a path or relative URL, optionally followed by the expected content:

      -
      /about  Our Amazing Team
      -
      -

      The CHECKS file can contain multiple checks:

      -
      /                       My Amazing App
      -/stylesheets/index.css  .body
      -/scripts/index.js       $(function()
      -/images/logo.png
      -
      -

      To check an application that supports multiple hostnames, use relative URLs that include the hostname:

      -
      //admin.dokku.me  Admin Dashboard
      -//static.dokku.me/logo.png
      -
      -

      You can also specify the protocol to explicitly check HTTPS requests:

      -
      https://admin.dokku.me  Admin Dashboard
      -https://static.dokku.me/logo.png
      -
      -

      While a full URL may be used in order to invoke checks, if you are using relative URLs, the port must be omitted.

      -
      -

      Info

      -

      Changed as of 0.22.5

      -
      -

      Please note that dollar sign bracket characters ({ and }) must be escaped when used within a CHECKS file. Escaping follows golang template rules. The proper way to do this is via one of the following methods:

      -
      # escaping the `{` character
      -# using double-quotes
      -{{"{"}}
      -
      -# using raw string constants
      -{{`{`}}
      -
      -# escaping the `}` character
      -# using double-quotes
      -{{"}"}}
      -
      -# using raw string constants
      -{{`}`}}
      -
      -

      Templating Checks Files

      New

      -

      Introduced in 0.22.5

      +

      Introduced in 0.31.0

      -

      An app's CHECKS file is sent through a single pass of the sigil templating tool. This enables usage of Golang templating within application CHECKS files. In addition to general templating access, access to app environment variables is also allowed via the var function:

      -
      {{ var "SOME_ENV_VAR" }}
      -
      -

      This may be useful if certain zero-downtime checks require access to an app-specific value, such as a domain name.

      -

      Check settings

      -

      The default behavior is to wait for 5 seconds before running the checks, to timeout the checks after 30 seconds, and to attempt the checks 5 times. If the checks fail 5 times, the deployment is considered failed and the old container will continue serving traffic.

      -

      You can change the default behavior by setting WAIT, TIMEOUT, and ATTEMPTS to different values in the CHECKS file:

      -
      WAIT=30     # Wait 1/2 minute
      -TIMEOUT=60  # Timeout after a minute
      -ATTEMPTS=10 # Attempt checks 10 times
      -
      -/  My Amazing App
      +

      If your application needs a longer period to boot up - perhaps to load data into memory, or because of slow boot time - you may also use Dokku's checks functionality to more precisely check whether an application can serve traffic or not.

      +

      Healthchecks are run against all process from your application's Procfile. When no healthcheck is defined, Dokku will fallback to a process uptime check.

      +

      One or more healthchecks can be defined in the app.json file - see the deployment task documentation for more information on how this is extracted - under the healthchecks.web path:

      +
      {
      +  "healthchecks": {
      +    "web": [
      +        {
      +            "type":        "startup",
      +            "name":        "web check",
      +            "description": "Checking if the app responds to the /health/ready endpoint",
      +            "path":        "/health/ready",
      +            "attempts": 3
      +        }
      +    ]
      +}
       
      +

      A healthcheck entry takes the following properties:

      +
        +
      • attempts: (default: 3 seconds) Number of retry attempts to perform on failure.
      • +
      • command: (default '' - empty string) Command to execute within container.
      • +
      • content: (default: '' - empty string) Content to search in http path check output. +initialDelay default: 0, unit: seconds) Number of seconds to wait after a container has started before triggering the healthcheck.
      • +
      • name: (default: autogenerated) The name of the healthcheck. If unspecified, it will be autogenerated from the rest of the healthcheck information.
      • +
      • path: (default: / - for http checks): An http path to check.
      • +
      • timeout: (default: 5 seconds): Number of seconds to wait before timing out a healthcheck.
      • +
      • type: (default: "" - none): Type of the healthcheck. Options: liveness, readiness, startup.
      • +
      • uptime: (default: "" - none): Amount of time the container must be alive before the container is considered healthy. Any restarts will cause this to check to fail, and this check does not respect retries.
      • +
      • wait: (default: 5 seconds): Number of seconds to wait between healthcheck attempts.
      • +
      +
      +

      Warning

      +

      Healthchecks are implemented by specific scheduler plugins, and not all plugins support all options. Please consult the scheduler documentation for further details on what is supported.

      +
      +

      See the docker-container-healthchecker documentation for more details on how healthchecks are interpreted.

      Manually invoking checks

      Checks can also be manually invoked via the checks:run command. This can be used to check the status of an application via cron to provide integration with external healthchecking software.

      Checks are run against a specific application:

      -
      dokku checks:run APP
      +
      dokku checks:run APP
       
      -
      -----> Running pre-flight checks
      ------> Running checks for app (APP.web.1)
      -       For more efficient zero downtime deployments, create a file CHECKS.
      -       See https://dokku.com/docs/deployment/zero-downtime-deploys/ for examples
      -       CHECKS file not found in container: Running simple container check...
      ------> Waiting for 10 seconds ...
      ------> Default container check successful!
      ------> Running checks for app (APP.web.2)
      -       For more efficient zero downtime deployments, create a file CHECKS.
      -       See https://dokku.com/docs/deployment/zero-downtime-deploys/ for examples
      -       CHECKS file not found in container: Running simple container check...
      ------> Waiting for 10 seconds ...
      ------> Default container check successful!
      ------> Running checks for app (APP.worker.1)
      -       For more efficient zero downtime deployments, create a file CHECKS.
      -       See https://dokku.com/docs/deployment/zero-downtime-deploys/ for examples
      -       CHECKS file not found in container: Running simple container check...
      ------> Waiting for 10 seconds ...
      ------> Default container check successful!
      +
      -----> Running pre-flight checks
      +-----> Running checks for app (APP.web.1)
      +       For more efficient zero downtime deployments, create a file CHECKS.
      +       See https://dokku.com/docs/deployment/zero-downtime-deploys/ for examples
      +       CHECKS file not found in container: Running simple container check...
      +-----> Waiting for 10 seconds ...
      +-----> Default container check successful!
      +-----> Running checks for app (APP.web.2)
      +       For more efficient zero downtime deployments, create a file CHECKS.
      +       See https://dokku.com/docs/deployment/zero-downtime-deploys/ for examples
      +       CHECKS file not found in container: Running simple container check...
      +-----> Waiting for 10 seconds ...
      +-----> Default container check successful!
      +-----> Running checks for app (APP.worker.1)
      +       For more efficient zero downtime deployments, create a file CHECKS.
      +       See https://dokku.com/docs/deployment/zero-downtime-deploys/ for examples
      +       CHECKS file not found in container: Running simple container check...
      +-----> Waiting for 10 seconds ...
      +-----> Default container check successful!
       
      @@ -3025,17 +2864,17 @@

      Manually invoking checks
      -
      dokku checks:run node-js-app worker
      +
      dokku checks:run node-js-app worker
       
      -
      -----> Running pre-flight checks
      ------> Running checks for app (APP.worker.1)
      -       For more efficient zero downtime deployments, create a file CHECKS.
      -       See https://dokku.com/docs/deployment/zero-downtime-deploys/ for examples
      -       CHECKS file not found in container: Running simple container check...
      ------> Waiting for 10 seconds ...
      ------> Default container check successful!
      +
      -----> Running pre-flight checks
      +-----> Running checks for app (APP.worker.1)
      +       For more efficient zero downtime deployments, create a file CHECKS.
      +       See https://dokku.com/docs/deployment/zero-downtime-deploys/ for examples
      +       CHECKS file not found in container: Running simple container check...
      +-----> Waiting for 10 seconds ...
      +-----> Default container check successful!
       
      @@ -3044,17 +2883,17 @@

      Manually invoking checks
      -
      dokku checks:run node-js-app web.2
      +
      dokku checks:run node-js-app web.2
       
      -
      -----> Running pre-flight checks
      ------> Running checks for app (APP.web.2)
      -       For more efficient zero downtime deployments, create a file CHECKS.
      -       See https://dokku.com/docs/deployment/zero-downtime-deploys/ for examples
      -       CHECKS file not found in container: Running simple container check...
      ------> Waiting for 10 seconds ...
      ------> Default container check successful!
      +
      -----> Running pre-flight checks
      +-----> Running checks for app (APP.web.2)
      +       For more efficient zero downtime deployments, create a file CHECKS.
      +       See https://dokku.com/docs/deployment/zero-downtime-deploys/ for examples
      +       CHECKS file not found in container: Running simple container check...
      +-----> Waiting for 10 seconds ...
      +-----> Default container check successful!
       
      @@ -3063,12 +2902,12 @@

      Manually invoking checks
      -
      dokku checks:run node-js-app non-existent
      +
      dokku checks:run node-js-app non-existent
       
      -
      -----> Running pre-flight checks
      -Invalid process type specified (APP.non-existent)
      +
      -----> Running pre-flight checks
      +Invalid process type specified (APP.non-existent)
       
      @@ -3077,189 +2916,12 @@

      Manually invoking checks
      -
      dokku checks:run node-js-app web.3
      +
      dokku checks:run node-js-app web.3
       
      -
      -----> Running pre-flight checks
      -Invalid container id specified (APP.web.3)
      -
      -
      -
      -
      -

      Example: Successful Rails deployment

      -

      In this example, a Rails application is successfully deployed to Dokku. The initial round of checks fails while the server is starting, but once it starts they succeed and the deployment is successful. WAIT is set to 10 because our application takes a while to boot up. ATTEMPTS is set to 6, but the third attempt succeeds.

      -

      Successful CHECKS file

      -
      WAIT=10
      -ATTEMPTS=6
      -/check.txt  simple_check
      -
      -

      For this check to work, we've added a line to config/routes.rb that simply returns a string:

      -
      get '/check.txt', to: proc {[200, {}, ['simple_check']]}
      -
      -

      Successful deploy output

      -
      -

      Note

      -

      The output has been trimmed for brevity.

      -
      -
      -
      -
      -
      git push dokku master
      -
      -
      -
      -
      -----> Cleaning up...
      ------> Building node-js-app from herokuish...
      ------> Adding BUILD_ENV to build environment...
      ------> Ruby app detected
      ------> Compiling Ruby/Rails
      ------> Using Ruby version: ruby-2.0.0
      -
      -.....
      -
      ------> Discovering process types
      -       Procfile declares types -> web
      ------> Releasing node-js-app...
      ------> Deploying node-js-app...
      ------> Running pre-flight checks
      ------> Attempt 1/6 Waiting for 10 seconds ...
      -       CHECKS expected result:
      -       http://localhost/check.txt => "simple_check"
      - !
      -curl: (7) Failed to connect to 172.17.0.155 port 5000: Connection refused
      - !    Check attempt 1/6 failed.
      ------> Attempt 2/6 Waiting for 10 seconds ...
      -       CHECKS expected result:
      -       http://localhost/check.txt => "simple_check"
      - !
      -curl: (7) Failed to connect to 172.17.0.155 port 5000: Connection refused
      - !    Check attempt 2/6 failed.
      ------> Attempt 3/6 Waiting for 10 seconds ...
      -       CHECKS expected result:
      -       http://localhost/check.txt => "simple_check"
      ------> All checks successful!
      -=====> node-js-app container output:
      -       => Booting Thin
      -       => Rails 4.2.0 application starting in production on http://0.0.0.0:5000
      -       => Run `rails server -h` for more startup options
      -       => Ctrl-C to shutdown server
      -       Thin web server (v1.6.3 codename Protein Powder)
      -       Maximum connections set to 1024
      -       Listening on 0.0.0.0:5000, CTRL+C to stop
      -=====> end node-js-app container output
      ------> Running post-deploy
      ------> Configuring myapp.dokku.me...
      ------> Creating http nginx.conf
      -       Reloading nginx
      ------> Shutting down old container in 60 seconds
      -=====> Application deployed:
      -       http://myapp.dokku.me
      -
      -
      -
      -
      -

      Example: Failing Rails deployment

      -

      In this example, a Rails application fails to deploy. The reason for the failure is that the PostgreSQL database connection fails. The initial checks will fail while we wait for the server to start up, just like in the above example. However, once the server does start accepting connections, we will see an error 500 due to the PostgreSQL database connection failure.

      -

      Once the attempts have been exceeded, the deployment fails and we see the container output, which shows the PostgreSQL connection errors.

      -

      Failing CHECKS file

      -
      WAIT=10
      -ATTEMPTS=6
      -/
      -
      -
      -

      Info

      -

      The check to the root url / would normally access the database.

      -
      -

      Failing deploy output

      -
      -

      Note

      -

      The output has been trimmed for brevity.

      -
      -
      -
      -
      -
      git push dokku master
      -
      -
      -
      -
      -----> Cleaning up...
      ------> Building node-js-app from herokuish...
      ------> Adding BUILD_ENV to build environment...
      ------> Ruby app detected
      ------> Compiling Ruby/Rails
      ------> Using Ruby version: ruby-2.0.0
      -
      -.....
      -
      -Discovering process types
      -Procfile declares types -> web
      -Releasing node-js-app...
      -Deploying node-js-app...
      -Running pre-flight checks
      ------> Attempt 1/6 Waiting for 10 seconds ...
      -       CHECKS expected result:
      -       http://localhost/ => ""
      - !
      -curl: (7) Failed to connect to 172.17.0.188 port 5000: Connection refused
      - !    Check attempt 1/6 failed.
      ------> Attempt 2/6 Waiting for 10 seconds ...
      -       CHECKS expected result:
      -       http://localhost/ => ""
      - !
      -curl: (7) Failed to connect to 172.17.0.188 port 5000: Connection refused
      - !    Check attempt 2/6 failed.
      ------> Attempt 3/6 Waiting for 10 seconds ...
      -       CHECKS expected result:
      -       http://localhost/ => ""
      - !
      -curl: (22) The requested URL returned error: 500 Internal Server Error
      - !    Check attempt 3/6 failed.
      ------> Attempt 4/6 Waiting for 10 seconds ...
      -       CHECKS expected result:
      -       http://localhost/ => ""
      - !
      -curl: (22) The requested URL returned error: 500 Internal Server Error
      - !    Check attempt 4/6 failed.
      ------> Attempt 5/6 Waiting for 10 seconds ...
      -       CHECKS expected result:
      -       http://localhost/ => ""
      - !
      -curl: (22) The requested URL returned error: 500 Internal Server Error
      - !    Check attempt 5/6 failed.
      ------> Attempt 6/6 Waiting for 10 seconds ...
      -       CHECKS expected result:
      -       http://localhost/ => ""
      - !
      -curl: (22) The requested URL returned error: 500 Internal Server Error
      -Could not start due to 1 failed checks.
      - !    Check attempt 6/6 failed.
      -=====> node-js-app container output:
      -       => Booting Thin
      -       => Rails 4.2.0 application starting in production on http://0.0.0.0:5000
      -       => Run `rails server -h` for more startup options
      -       => Ctrl-C to shutdown server
      -       Thin web server (v1.6.3 codename Protein Powder)
      -       Maximum connections set to 1024
      -       Listening on 0.0.0.0:5000, CTRL+C to stop
      -       Started GET "/" for 172.17.42.1 at 2015-03-26 21:36:47 +0000
      -         Is the server running on host "172.17.42.1" and accepting
      -         TCP/IP connections on port 5431?
      -       PG::ConnectionBad (could not connect to server: Connection refused
      -         Is the server running on host "172.17.42.1" and accepting
      -         TCP/IP connections on port 5431?
      -       ):
      -         vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `initialize'
      -         vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `new'
      -         vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `connect'
      -         vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:242:in `initialize'
      -         vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:44:in `new'
      -         vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:44:in `postgresql_connection
      -=====> end node-js-app container output
      -/usr/bin/dokku: line 49: 23409 Killed                  dokku deploy "$APP"
      -To dokku@dokku.me:myapp
      - ! [remote rejected] dokku -> master (pre-receive hook declined)
      -error: failed to push some refs to 'dokku@dokku.me:myapp'
      +
      -----> Running pre-flight checks
      +Invalid container id specified (APP.web.3)
       
      diff --git a/docs/development/plugin-creation/index.html b/docs/development/plugin-creation/index.html index a55e9e437..36f1e9e79 100644 --- a/docs/development/plugin-creation/index.html +++ b/docs/development/plugin-creation/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
    • + + 0.31.0 Migration Guide + +
    • + + + + + + + + +
    • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
    • + + OpenResty Proxy + +
    • + + + + + + + + +
    • Traefik Proxy @@ -2931,7 +2963,7 @@

      Verify the existence of dependenci fi # `which` example -if ! which nginx >/dev/null 2>&1; then +if ! which nginx &>/dev/null; then dokku_log_fail "Missing nginx, install it" fi

    • diff --git a/docs/development/plugin-triggers/index.html b/docs/development/plugin-triggers/index.html index a7b9a7198..3f43f5093 100644 --- a/docs/development/plugin-triggers/index.html +++ b/docs/development/plugin-triggers/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
    • + + 0.31.0 Migration Guide + +
    • + + + + + + + + +
    • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
    • + + OpenResty Proxy + +
    • + + + + + + + + +
    • Traefik Proxy @@ -2213,6 +2245,13 @@ app-json-process-deploy-parallelism +
    • + +
    • + + app-json-get-content + +
    • @@ -2297,6 +2336,13 @@ certs-exists +
    • + +
    • + + certs-force + +
    • @@ -2402,6 +2448,13 @@ deployed-app-repository +
    • + +
    • + + deploy-source-set + +
    • @@ -2577,13 +2630,6 @@ network-clear-config -
    • - -
    • - - network-compute-ports - -
    • @@ -2605,13 +2651,6 @@ network-get-listeners -
    • - -
    • - - network-get-port - -
    • @@ -2668,6 +2707,48 @@ nginx-pre-reload +
    • + +
    • + + ports-clear + + +
    • + +
    • + + ports-configure + + +
    • + +
    • + + ports-get + + +
    • + +
    • + + ports-get-available + + +
    • + +
    • + + ports-get-property + + +
    • + +
    • + + ports-set-detected + +
    • @@ -2899,6 +2980,13 @@ procfile-get-command +
    • + +
    • + + procfile-exists + +
    • @@ -3498,6 +3586,13 @@ app-json-process-deploy-parallelism +
    • + +
    • + + app-json-get-content + +
    • @@ -3582,6 +3677,13 @@ certs-exists +
    • + +
    • + + certs-force + +
    • @@ -3687,6 +3789,13 @@ deployed-app-repository +
    • + +
    • + + deploy-source-set + +
    • @@ -3862,13 +3971,6 @@ network-clear-config -
    • - -
    • - - network-compute-ports - -
    • @@ -3890,13 +3992,6 @@ network-get-listeners -
    • - -
    • - - network-get-port - -
    • @@ -3953,6 +4048,48 @@ nginx-pre-reload +
    • + +
    • + + ports-clear + + +
    • + +
    • + + ports-configure + + +
    • + +
    • + + ports-get + + +
    • + +
    • + + ports-get-available + + +
    • + +
    • + + ports-get-property + + +
    • + +
    • + + ports-set-detected + +
    • @@ -4184,6 +4321,13 @@ procfile-get-command +
    • + +
    • + + procfile-exists + +
    • @@ -4570,10 +4714,10 @@

      app-json-process-deploy-paral # TODO

    -

    app-maybe-create

    +

    app-json-get-content

      -
    • Description: Creates an app (gated by whether this is globally enabled or not)
    • -
    • Invoked by:
    • +
    • Description: Outputs the contents of the app-json file, if any
    • +
    • Invoked by: Deployment checks
    • Arguments: $APP
    • Example:
    @@ -4583,10 +4727,10 @@

    app-maybe-create # TODO

    -

    app-restart

    +

    app-maybe-create

      -
    • Description: Triggers an app restart
    • -
    • Invoked by: dokku config:clear, dokku config:set, dokku config:unset
    • +
    • Description: Creates an app (gated by whether this is globally enabled or not)
    • +
    • Invoked by:
    • Arguments: $APP
    • Example:
    @@ -4596,46 +4740,46 @@

    app-restart # TODO

    -

    app-urls

    +

    app-restart

      -
    • Description: Allows you to change the urls Dokku reports for an application. Will override any auto-detected urls.
    • -
    • Invoked by: dokku deploy, dokku url, and dokku urls
    • -
    • Arguments: $APP $URL_TYPE
    • +
    • Description: Triggers an app restart
    • +
    • Invoked by: dokku config:clear, dokku config:set, dokku config:unset
    • +
    • Arguments: $APP
    • Example:
    #!/usr/bin/env bash
    -# Sets the domain to `internal.tld`
    +
     set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
     
    -APP="$1"; URL_TYPE="$2"
    -case "$URL_TYPE" in
    -  url)
    -    echo "https://internal.tld/${APP}/"
    -    ;;
    -  urls)
    -    echo "https://internal.tld/${APP}/"
    -    echo "http://internal.tld/${APP}/"
    -    ;;
    -esac
    +# TODO
     
    -

    builder-build

    +

    app-urls

      -
    • Description: Triggers the artifact build process
    • -
    • Invoked by: dokku deploy
    • -
    • Arguments: $BUILDER_TYPE $APP $SOURCECODE_WORK_DIR
    • +
    • Description: Allows you to change the urls Dokku reports for an application. Will override any auto-detected urls.
    • +
    • Invoked by: dokku deploy, dokku url, and dokku urls
    • +
    • Arguments: $APP $URL_TYPE
    • Example:
    #!/usr/bin/env bash
    -
    +# Sets the domain to `internal.tld`
     set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
     
    -# TODO
    +APP="$1"; URL_TYPE="$2"
    +case "$URL_TYPE" in
    +  url)
    +    echo "https://internal.tld/${APP}/"
    +    ;;
    +  urls)
    +    echo "https://internal.tld/${APP}/"
    +    echo "http://internal.tld/${APP}/"
    +    ;;
    +esac
     
    -

    builder-create-dokku-image

    +

    builder-build

      -
    • Description: Allows modification of the configured dokku-image
    • +
    • Description: Triggers the artifact build process
    • Invoked by: dokku deploy
    • -
    • Arguments: $BUILDER_TYPE $APP $SOURCECODE_WORK_DIR $DOKKU_IMAGE
    • +
    • Arguments: $BUILDER_TYPE $APP $SOURCECODE_WORK_DIR
    • Example:
    #!/usr/bin/env bash
    @@ -4644,65 +4788,65 @@ 

    builder-create-dokku-image # TODO

    -

    builder-detect

    +

    builder-create-dokku-image

      -
    • Description: Allows overriding the auto-detected herokuish builder in favor of a custom one. Dockerfile gets lowest builder precedence.
    • +
    • Description: Allows modification of the configured dokku-image
    • Invoked by: dokku deploy
    • -
    • Arguments: $APP $SOURCECODE_WORK_DIR
    • +
    • Arguments: $BUILDER_TYPE $APP $SOURCECODE_WORK_DIR $DOKKU_IMAGE
    • Example:
    #!/usr/bin/env bash
     
     set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -APP="$1"; SOURCECODE_WORK_DIR="$2"
    -
    -if [[ -f "$SOURCECODE_WORK_DIR/project.toml" ]]; then
    -  echo -n "pack"
    -fi
    +
    +# TODO
     
    -

    builder-dokku-image

    +

    builder-detect

      -
    • Description: Allows modification of the used dokku-image.
    • +
    • Description: Allows overriding the auto-detected herokuish builder in favor of a custom one. Dockerfile gets lowest builder precedence.
    • Invoked by: dokku deploy
    • -
    • Arguments: $BUILDER_TYPE $APP $SOURCECODE_WORK_DIR $DOKKU_IMAGE
    • +
    • Arguments: $APP $SOURCECODE_WORK_DIR
    • Example:
    #!/usr/bin/env bash
     
     set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -
    -# TODO
    +APP="$1"; SOURCECODE_WORK_DIR="$2"
    +
    +if [[ -f "$SOURCECODE_WORK_DIR/project.toml" ]]; then
    +  echo -n "pack"
    +fi
     
    -

    builder-get-property

    +

    builder-dokku-image

      -
    • Description: Return the value for an app's builder property
    • -
    • Invoked by:
    • -
    • Arguments: $APP $KEY
    • +
    • Description: Allows modification of the used dokku-image.
    • +
    • Invoked by: dokku deploy
    • +
    • Arguments: $BUILDER_TYPE $APP $SOURCECODE_WORK_DIR $DOKKU_IMAGE
    • Example:
    #!/usr/bin/env bash
     
     set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -APP="$1"; PROPERTY="$2"
    -
    -# TODO
    +
    +# TODO
     
    -

    builder-image-is-cnb

    +

    builder-get-property

      -
    • Description: Checks if an image is cnb-based
    • -
    • Invoked by: unit tests
    • -
    • Arguments: $APP $IMAGE_TAG
    • +
    • Description: Return the value for an app's builder property
    • +
    • Invoked by:
    • +
    • Arguments: $APP $KEY
    • Example:
    #!/usr/bin/env bash
     
     set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -
    -# TODO
    +APP="$1"; PROPERTY="$2"
    +
    +# TODO
     
    -

    builder-image-is-herokuish

    +

    builder-image-is-cnb

      -
    • Description: Checks if an image is herokuish-based
    • +
    • Description: Checks if an image is cnb-based
    • Invoked by: unit tests
    • Arguments: $APP $IMAGE_TAG
    • Example:
    • @@ -4713,11 +4857,11 @@

      builder-image-is-herokuish # TODO

    -

    builder-release

    +

    builder-image-is-herokuish

      -
    • Description: Triggers the artifact release process
    • -
    • Invoked by: dokku deploy
    • -
    • Arguments: $BUILDER_TYPE $APP $IMAGE_TAG
    • +
    • Description: Checks if an image is herokuish-based
    • +
    • Invoked by: unit tests
    • +
    • Arguments: $APP $IMAGE_TAG
    • Example:
    #!/usr/bin/env bash
    @@ -4726,11 +4870,11 @@ 

    builder-release # TODO

    -

    certs-exists

    +

    builder-release

      -
    • Description: Echos true if certs exists for the app, false otherwise
    • -
    • Invoked by:
    • -
    • Arguments: $APP
    • +
    • Description: Triggers the artifact release process
    • +
    • Invoked by: dokku deploy
    • +
    • Arguments: $BUILDER_TYPE $APP $IMAGE_TAG
    • Example:
    #!/usr/bin/env bash
    @@ -4739,114 +4883,140 @@ 

    certs-exists # TODO

    -

    check-deploy

    +

    certs-exists

      -
    • Description: Allows you to run checks on a deploy before Dokku allows the container to handle requests.
    • -
    • Invoked by: dokku deploy
    • -
    • Arguments: $APP $CONTAINER_ID $PROC_TYPE $PORT $IP
    • +
    • Description: Echos true if certs exists for the app, false otherwise
    • +
    • Invoked by:
    • +
    • Arguments: $APP
    • Example:
    #!/usr/bin/env bash
    -# Disables deploys of containers based on whether the
    -# `DOKKU_DISABLE_DEPLOY` env var is set to `true` for an app
    +
    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
     
    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -source "$PLUGIN_AVAILABLE_PATH/config/functions"
    -
    -APP="$1"; CONTAINER_ID="$2"; PROC_TYPE="$3"; PORT="$4" ; IP="$5"
    -
    -eval "$(config_export app $APP)"
    -DOKKU_DISABLE_DEPLOY="${DOKKU_DISABLE_DEPLOY:-false}"
    -
    -if [[ "$DOKKU_DISABLE_DEPLOY" = "true" ]]; then
    -  echo -e "\033[31m\033[1mDeploys disabled, sorry.\033[0m"
    -  exit 1
    -fi
    +# TODO
     
    -

    checks-get-property

    +

    certs-force

      -
    • Description: Return the value for an app's checks property
    • +
    • Description: Echos true if a cert should be simulated for the app, no output otherwise
    • Invoked by:
    • -
    • Arguments: $APP $KEY
    • +
    • Arguments: $APP
    • Example:
    #!/usr/bin/env bash
     
     set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -APP="$1"; PROPERTY="$2"
    -
    -# TODO
    +
    +# TODO
     
    -

    commands help and commands <PLUGIN_NAME>:help

    +

    check-deploy

      -
    • Description: Your plugin should implement a help command in your commands file to take advantage of this plugin trigger. commands help is used by dokku help to aggregate all plugins abbreviated help output. Implementing <PLUGIN_NAME>:help in your commands file gives users looking for help, a more detailed output. 'commands help' must be implemented inside the commands plugin file. It's recommended that PLUGIN_NAME:help be added to the commands file to ensure consistency among community plugins and give you a new avenue to share rich help content with your user.
    • -
    • Invoked by: dokku help and commands <PLUGIN_NAME>:help
    • -
    • Arguments: None
    • +
    • Description: Allows you to run checks on a deploy before Dokku allows the container to handle requests.
    • +
    • Invoked by: dokku deploy
    • +
    • Arguments: $APP $CONTAINER_ID $PROC_TYPE $PORT $IP
    • Example:
    #!/usr/bin/env bash
    -# Outputs help for the derp plugin
    -
    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -
    -case "$1" in
    -  help | hello:help)
    -    help_content_func () {
    -      declare desc="return help_content string"
    -      cat<<help_content
    -    hello <app>, Says "Hello <app>"
    -    hello:world, Says "Hello world"
    -help_content
    -    }
    -
    -    if [[ $1 = "hello:help" ]] ; then
    -        echo -e 'Usage: dokku hello[:world] [<app>]'
    -        echo ''
    -        echo 'Say Hello World.'
    -        echo ''
    -        echo 'Example:'
    -        echo ''
    -        echo '$ dokku hello:world'
    -        echo 'Hello world'
    -        echo ''
    -        echo 'Additional commands:'
    -        help_content_func | sort | column -c2 -t -s,
    -    else
    -        help_content_func
    -    fi
    -    ;;
    -
    -  *)
    -    exit $DOKKU_NOT_IMPLEMENTED_EXIT
    -    ;;
    -
    -esac
    +# Disables deploys of containers based on whether the
    +# `DOKKU_DISABLE_DEPLOY` env var is set to `true` for an app
    +
    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    +source "$PLUGIN_AVAILABLE_PATH/config/functions"
    +
    +APP="$1"; CONTAINER_ID="$2"; PROC_TYPE="$3"; PORT="$4" ; IP="$5"
    +
    +eval "$(config_export app $APP)"
    +DOKKU_DISABLE_DEPLOY="${DOKKU_DISABLE_DEPLOY:-false}"
    +
    +if [[ "$DOKKU_DISABLE_DEPLOY" = "true" ]]; then
    +  echo -e "\033[31m\033[1mDeploys disabled, sorry.\033[0m"
    +  exit 1
    +fi
     
    -

    config-export

    +

    checks-get-property

      -
    • Description: Returns the environment variables in a specified format
    • -
    • Invoked by: app-json plugin
    • -
    • Arguments: $APP $GLOBAL $MERGED $FORMAT
    • +
    • Description: Return the value for an app's checks property
    • +
    • Invoked by:
    • +
    • Arguments: $APP $KEY
    • Example:
    #!/usr/bin/env bash
     
     set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -
    -# TODO
    +APP="$1"; PROPERTY="$2"
    +
    +# TODO
     
    -

    config-get

    +

    commands help and commands <PLUGIN_NAME>:help

    +
      +
    • Description: Your plugin should implement a help command in your commands file to take advantage of this plugin trigger. commands help is used by dokku help to aggregate all plugins abbreviated help output. Implementing <PLUGIN_NAME>:help in your commands file gives users looking for help, a more detailed output. 'commands help' must be implemented inside the commands plugin file. It's recommended that PLUGIN_NAME:help be added to the commands file to ensure consistency among community plugins and give you a new avenue to share rich help content with your user.
    • +
    • Invoked by: dokku help and commands <PLUGIN_NAME>:help
    • +
    • Arguments: None
    • +
    • Example:
    • +
    +
    #!/usr/bin/env bash
    +# Outputs help for the derp plugin
    +
    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    +
    +case "$1" in
    +  help | hello:help)
    +    help_content_func () {
    +      declare desc="return help_content string"
    +      cat<<help_content
    +    hello <app>, Says "Hello <app>"
    +    hello:world, Says "Hello world"
    +help_content
    +    }
    +
    +    if [[ $1 = "hello:help" ]] ; then
    +        echo -e 'Usage: dokku hello[:world] [<app>]'
    +        echo ''
    +        echo 'Say Hello World.'
    +        echo ''
    +        echo 'Example:'
    +        echo ''
    +        echo '$ dokku hello:world'
    +        echo 'Hello world'
    +        echo ''
    +        echo 'Additional commands:'
    +        help_content_func | sort | column -c2 -t -s,
    +    else
    +        help_content_func
    +    fi
    +    ;;
    +
    +  *)
    +    exit $DOKKU_NOT_IMPLEMENTED_EXIT
    +    ;;
    +
    +esac
    +
    +

    config-export

    +
      +
    • Description: Returns the environment variables in a specified format
    • +
    • Invoked by: app-json plugin
    • +
    • Arguments: $APP $GLOBAL $MERGED $FORMAT
    • +
    • Example:
    • +
    +
    #!/usr/bin/env bash
    +
    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    +
    +# TODO
    +
    +

    config-get

    • Description: Fetches the app config value for a key
    • Invoked by:
    • Arguments: $APP $KEY
    • Example:
    -
    #!/usr/bin/env bash
    -
    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -
    -# TODO
    +
    #!/usr/bin/env bash
    +
    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    +
    +# TODO
     

    config-get-global

    -
    #!/usr/bin/env bash
    -
    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -
    -# TODO
    +
    #!/usr/bin/env bash
    +
    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    +
    +# TODO
     

    core-post-deploy

  • Example:
  • -
    #!/usr/bin/env bash
    -# Notify an external service that a successful deploy has occurred.
    -
    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -
    -curl "http://httpstat.us/200"
    +
    #!/usr/bin/env bash
    +# Notify an external service that a successful deploy has occurred.
    +
    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    +
    +curl "http://httpstat.us/200"
     

    core-post-extract

    @@ -4890,19 +5060,19 @@

    core-post-extractArguments: $APP $TMP_WORK_DIR $REV

  • Example:
  • -
    #!/usr/bin/env bash
    -# Adds a clock process to an app's Procfile
    -
    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
    -APP="$1"
    -TMP_WORK_DIR="$2"
    -REV="$3" # optional, may not be sent for tar-based builds
    -
    -pushd "$TMP_WORK_DIR" >/dev/null
    -touch Procfile
    -echo "clock: some-command" >> Procfile
    -popd &>/dev/null
    +
    #!/usr/bin/env bash
    +# Adds a clock process to an app's Procfile
    +
    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
    +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
    +APP="$1"
    +TMP_WORK_DIR="$2"
    +REV="$3" # optional, may not be sent for tar-based builds
    +
    +pushd "$TMP_WORK_DIR" >/dev/null
    +touch Procfile
    +echo "clock: some-command" >> Procfile
    +popd &>/dev/null
     

    cron-write

      @@ -4911,12 +5081,12 @@

      cron-write
      #!/usr/bin/env bash
      -
      -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
      -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
      -
      -# TODO
      +
      #!/usr/bin/env bash
      +
      +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
      +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
      +
      +# TODO
       

      cron-entries

        @@ -4925,14 +5095,14 @@

        cron-entries
        #!/usr/bin/env bash
        -
        -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
        -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
        -
        -DOKKU_SCHEDULER="$1"
        -
        -# TODO
        +
        #!/usr/bin/env bash
        +
        +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
        +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
        +
        +DOKKU_SCHEDULER="$1"
        +
        +# TODO
         

        dependencies

          @@ -4941,21 +5111,21 @@

          dependencies
          #!/usr/bin/env bash
          -# Installs nginx for the current plugin
          -
          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
          -
          -export DEBIAN_FRONTEND=noninteractive
          -
          -case "$DOKKU_DISTRO" in
          -  debian|raspbian|ubuntu)
          -    apt-get -qq -y --no-install-recommends install nginx
          -    ;;
          -  *)
          -    echo "Installation on $DOKKU_DISTRO not supported" 1>&2
          -    ;;
          -esac
          +
          #!/usr/bin/env bash
          +# Installs nginx for the current plugin
          +
          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
          +
          +export DEBIAN_FRONTEND=noninteractive
          +
          +case "$DOKKU_DISTRO" in
          +  debian|raspbian|ubuntu)
          +    apt-get -qq -y --no-install-recommends install nginx
          +    ;;
          +  *)
          +    echo "Installation on $DOKKU_DISTRO not supported" 1>&2
          +    ;;
          +esac
           

          deploy

            @@ -4964,14 +5134,14 @@

            deploy
            #!/usr/bin/env bash
            -
            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
            -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
            -
            -APP="$1" IMAGE_TAG="$2" PROC_TYPE="$3"
            -
            -# TODO
            +
            #!/usr/bin/env bash
            +
            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
            +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
            +
            +APP="$1" IMAGE_TAG="$2" PROC_TYPE="$3"
            +
            +# TODO
             

            deployed-app-image-repo

              @@ -4980,13 +5150,13 @@

              deployed-app-image-repo
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -
              -APP="$1"
              -# change the repo from dokku/APP to dokkupaas/APP
              -echo "dokkupaas/$APP"
              +
              #!/usr/bin/env bash
              +
              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              +
              +APP="$1"
              +# change the repo from dokku/APP to dokkupaas/APP
              +echo "dokkupaas/$APP"
               

              deployed-app-image-tag

                @@ -4995,12 +5165,12 @@

                deployed-app-image-tag
                #!/usr/bin/env bash
                -
                -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                -
                -# customize the tag version
                -echo 'not-latest'
                +
                #!/usr/bin/env bash
                +
                +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                +
                +# customize the tag version
                +echo 'not-latest'
                 

                deployed-app-repository

                  @@ -5009,11 +5179,24 @@

                  deployed-app-repository
                  #!/usr/bin/env bash
                  -
                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  -
                  -echo 'derp.dkr.ecr.us-east-1.amazonaws.com'
                  +
                  #!/usr/bin/env bash
                  +
                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  +
                  +echo 'derp.dkr.ecr.us-east-1.amazonaws.com'
                  +
                  +

                  deploy-source-set

                  +
                    +
                  • Description: Used to set metadata about how the app is being deployed
                  • +
                  • Invoked by: git:from-archive, git:from-image, git:load-image, git:sync, and all git push commands
                  • +
                  • Arguments: $APP $SOURCE_TYPE $METADATA
                  • +
                  • Example:
                  • +
                  +
                  #!/usr/bin/env bash
                  +
                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  +
                  +# TODO
                   

                  docker-args-build

                  @@ -5026,19 +5209,19 @@

                  docker-args-buildArguments: $APP $IMAGE_SOURCE_TYPE
                • Example:
                -
                #!/usr/bin/env bash
                -# Sets a docker build-arg called CACHEBUST which can be used
                -# to bust cache at any arbitrary point in a Dockerfile build
                -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                -
                -STDIN=$(cat)
                -APP="$1"; IMAGE_SOURCE_TYPE="$2"
                -output=""
                -
                -if [[ "$IMAGE_SOURCE_TYPE" == "dockerfile" ]]; then
                -  output=" --build-arg CACHEBUST=$(date +%s)"
                -fi
                -echo -n "$STDIN$output"
                +
                #!/usr/bin/env bash
                +# Sets a docker build-arg called CACHEBUST which can be used
                +# to bust cache at any arbitrary point in a Dockerfile build
                +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                +
                +STDIN=$(cat)
                +APP="$1"; IMAGE_SOURCE_TYPE="$2"
                +output=""
                +
                +if [[ "$IMAGE_SOURCE_TYPE" == "dockerfile" ]]; then
                +  output=" --build-arg CACHEBUST=$(date +%s)"
                +fi
                +echo -n "$STDIN$output"
                 

                docker-args-deploy

              -
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
              -APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
              -
              -# TODO
              +
              #!/usr/bin/env bash
              +
              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
              +APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
              +
              +# TODO
               

              docker-args-process-build

              -
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
              -
              -APP="$1"; IMAGE_SOURCE_TYPE="$2"
              -
              -# TODO
              +
              #!/usr/bin/env bash
              +
              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
              +
              +APP="$1"; IMAGE_SOURCE_TYPE="$2"
              +
              +# TODO
               

              docker-args-process-deploy

              -
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
              -APP="$1"; $IMAGE_SOURCE_TYPE="$2" IMAGE_TAG="$3"; PROC_TYPE="$4"; CONTAINER_INDEX="$5"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
              -
              -# TODO
              +
              #!/usr/bin/env bash
              +
              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
              +APP="$1"; $IMAGE_SOURCE_TYPE="$2" IMAGE_TAG="$3"; PROC_TYPE="$4"; CONTAINER_INDEX="$5"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
              +
              +# TODO
               

              docker-args-process-run

                @@ -5097,13 +5280,13 @@

                docker-args-process-run
                #!/usr/bin/env bash
                -
                -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                -APP="$1"; IMAGE_SOURCE_TYPE="$3"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
                -
                -# TODO
                +
                #!/usr/bin/env bash
                +
                +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                +APP="$1"; IMAGE_SOURCE_TYPE="$3"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
                +
                +# TODO
                 

                docker-args-run

                @@ -5116,58 +5299,19 @@

                docker-args-runArguments: $APP $IMAGE_TAG
              • Example:
              -
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
              -APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
              -
              -# TODO
              -
              -

              domains-add

              -
                -
              • Description: Adds a domain to an app
              • -
              • Invoked by:
              • -
              • Arguments: $APP $DOMAIN
              • -
              • Example:
              • -
              -
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -
              -# TODO
              -
              -

              domains-disable

              -
                -
              • Description: Disables domains for an app
              • -
              • Invoked by:
              • -
              • Arguments: $APP $RESTART_APP
              • -
              • Example:
              • -
              -
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -
              -# TODO
              -
              -

              domains-enable

              -
                -
              • Description: Enables domains for an app
              • -
              • Invoked by:
              • -
              • Arguments: $APP $RESTART_APP
              • -
              • Example:
              • -
              #!/usr/bin/env bash
               
               set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -
              -# TODO
              +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
              +APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
              +
              +# TODO
               
              -

              domains-list

              +

              domains-add

                -
              • Description: Lists all domains for an app
              • +
              • Description: Adds a domain to an app
              • Invoked by:
              • -
              • Arguments: $APP
              • +
              • Arguments: $APP $DOMAIN
              • Example:
              #!/usr/bin/env bash
              @@ -5176,11 +5320,11 @@ 

              domains-list # TODO

              -

              domains-urls

              +

              domains-disable

                -
              • Description: Gets an app's url(s)
              • +
              • Description: Disables domains for an app
              • Invoked by:
              • -
              • Arguments: $APP $URL_TYPE
              • +
              • Arguments: $APP $RESTART_APP
              • Example:
              #!/usr/bin/env bash
              @@ -5189,11 +5333,11 @@ 

              domains-urls # TODO

              -

              domains-vhost-enabled

              +

              domains-enable

                -
              • Description: Checks if a virtual hosts are enabled for an app
              • +
              • Description: Enables domains for an app
              • Invoked by:
              • -
              • Arguments: $APP
              • +
              • Arguments: $APP $RESTART_APP
              • Example:
              #!/usr/bin/env bash
              @@ -5202,9 +5346,9 @@ 

              domains-vhost-enabled # TODO

              -

              git-deploy-branch

              +

              domains-list

                -
              • Description: Outputs the deploy branch for an app, inherited or not
              • +
              • Description: Lists all domains for an app
              • Invoked by:
              • Arguments: $APP
              • Example:
              • @@ -5215,25 +5359,24 @@

                git-deploy-branch # TODO

              -

              git-get-property

              +

              domains-urls

                -
              • Description: Return the value for an app's git property
              • +
              • Description: Gets an app's url(s)
              • Invoked by:
              • -
              • Arguments: $APP $KEY
              • +
              • Arguments: $APP $URL_TYPE
              • Example:
              #!/usr/bin/env bash
               
               set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -APP="$1"; PROPERTY="$2"
              -
              -# TODO
              +
              +# TODO
               
              -

              git-from-archive

              +

              domains-vhost-enabled

                -
              • Description: Updates an app's git repository from an archive and then triggers a build
              • -
              • Invoked by: git:from-archive
              • -
              • Arguments: $APP $ARCHIVE_URL $ARCHIVE_TYPE $USER_NAME $USER_EMAIL
              • +
              • Description: Checks if a virtual hosts are enabled for an app
              • +
              • Invoked by:
              • +
              • Arguments: $APP
              • Example:
              #!/usr/bin/env bash
              @@ -5242,11 +5385,11 @@ 

              git-from-archive # TODO

              -

              git-from-directory

              +

              git-deploy-branch

                -
              • Description: Updates an app's git repository from a source directory and then triggers a build
              • -
              • Invoked by: git:from-image and git:from-archive
              • -
              • Arguments: $APP $SOURCECODE_WORK_DIR $USER_NAME $USER_EMAIL
              • +
              • Description: Outputs the deploy branch for an app, inherited or not
              • +
              • Invoked by:
              • +
              • Arguments: $APP
              • Example:
              #!/usr/bin/env bash
              @@ -5255,23 +5398,25 @@ 

              git-from-directory # TODO

              -

              git-from-image

              +

              git-get-property

                -
              • Description: Updates an app's git repository from a docker image and then triggers a build as necessary
              • -
              • Invoked by: git:from-image
              • -
              • Arguments: $APP $DOCKER_IMAGE $BUILD_DIR $USER_NAME $USER_EMAIL
              • +
              • Description: Return the value for an app's git property
              • +
              • Invoked by:
              • +
              • Arguments: $APP $KEY
              • Example:
              #!/usr/bin/env bash
               
               set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -
              -# TODO
              +APP="$1"; PROPERTY="$2"
              +
              +# TODO
               
              -

              git-has-code

              +

              git-from-archive

                -
              • Description: Checks to see if there is code at the specified branch
              • -
              • Arguments: $APP $BRANCH_NAME
              • +
              • Description: Updates an app's git repository from an archive and then triggers a build
              • +
              • Invoked by: git:from-archive
              • +
              • Arguments: $APP $ARCHIVE_URL $ARCHIVE_TYPE $USER_NAME $USER_EMAIL
              • Example:
              #!/usr/bin/env bash
              @@ -5280,11 +5425,11 @@ 

              git-has-code # TODO

              -

              git-post-pull

              +

              git-from-directory

                -
              • Description:
              • -
              • Invoked by: dokku git-upload-pack
              • -
              • Arguments: $APP
              • +
              • Description: Updates an app's git repository from a source directory and then triggers a build
              • +
              • Invoked by: git:from-image and git:from-archive
              • +
              • Arguments: $APP $SOURCECODE_WORK_DIR $USER_NAME $USER_EMAIL
              • Example:
              #!/usr/bin/env bash
              @@ -5293,11 +5438,11 @@ 

              git-post-pull # TODO

              -

              git-pre-pull

              +

              git-from-image

                -
              • Description:
              • -
              • Invoked by: dokku git-upload-pack
              • -
              • Arguments: $APP
              • +
              • Description: Updates an app's git repository from a docker image and then triggers a build as necessary
              • +
              • Invoked by: git:from-image
              • +
              • Arguments: $APP $DOCKER_IMAGE $BUILD_DIR $USER_NAME $USER_EMAIL
              • Example:
              #!/usr/bin/env bash
              @@ -5306,15 +5451,10 @@ 

              git-pre-pull # TODO

              -
              -

              Warning

              -

              The git-pre-pull trigger should not be used for authentication since it does not get called for commands that use git-upload-archive such as git archive. Instead, use the user-auth trigger.

              -
              -

              git-revision

              +

              git-has-code

                -
              • Description: Allows you to fetch the current git revision for a given application
              • -
              • Invoked by:
              • -
              • Arguments: $APP
              • +
              • Description: Checks to see if there is code at the specified branch
              • +
              • Arguments: $APP $BRANCH_NAME
              • Example:
              #!/usr/bin/env bash
              @@ -5323,41 +5463,40 @@ 

              git-revision # TODO

              -

              install

              +

              git-post-pull

                -
              • Description: Used to setup any files/configuration for a plugin.
              • -
              • Invoked by: dokku plugin:install.
              • -
              • Arguments: None
              • +
              • Description:
              • +
              • Invoked by: dokku git-upload-pack
              • +
              • Arguments: $APP
              • Example:
              #!/usr/bin/env bash
              -# Sets the hostname of the Dokku server
              -# based on the output of `hostname -f`
              +
              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
               
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -
              -if [[ ! -f  "$DOKKU_ROOT/VHOST" ]]; then
              -  hostname -f > $DOKKU_ROOT/VHOST
              -fi
              +# TODO
               
              -

              logs-get-property

              +

              git-pre-pull

                -
              • Description: Return the value for an app's log property
              • -
              • Invoked by:
              • -
              • Arguments: $APP $KEY
              • +
              • Description:
              • +
              • Invoked by: dokku git-upload-pack
              • +
              • Arguments: $APP
              • Example:
              #!/usr/bin/env bash
               
               set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -APP="$1"; PROPERTY="$2"
              -
              -# TODO
              +
              +# TODO
               
              -

              network-build-config

              +
              +

              Warning

              +

              The git-pre-pull trigger should not be used for authentication since it does not get called for commands that use git-upload-archive such as git archive. Instead, use the user-auth trigger.

              +
              +

              git-revision

                -
              • Description: Rebuilds network configuration
              • -
              • Invoked by: internally triggered by proxy-build-config within proxy implementations
              • +
              • Description: Allows you to fetch the current git revision for a given application
              • +
              • Invoked by:
              • Arguments: $APP
              • Example:
              @@ -5367,36 +5506,41 @@

              network-build-config # TODO

              -

              network-clear-config

              +

              install

                -
              • Description: Clears network configuration
              • -
              • Invoked by: internally triggered within proxy implementations
              • -
              • Arguments: $APP
              • +
              • Description: Used to setup any files/configuration for a plugin.
              • +
              • Invoked by: dokku plugin:install.
              • +
              • Arguments: None
              • Example:
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              +# Sets the hostname of the Dokku server
              +# based on the output of `hostname -f`
               
              -# TODO
              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              +
              +if [[ ! -f  "$DOKKU_ROOT/VHOST" ]]; then
              +  hostname -f > $DOKKU_ROOT/VHOST
              +fi
               
              -

              network-compute-ports

              +

              logs-get-property

                -
              • Description: Computes the ports for a given app container
              • -
              • Invoked by: internally triggered by proxy-build-config within proxy implementations
              • -
              • Arguments: $APP $PROC_TYPE $IS_HEROKUISH_CONTAINER $CONTAINER_INDEX
              • +
              • Description: Return the value for an app's log property
              • +
              • Invoked by:
              • +
              • Arguments: $APP $KEY
              • Example:
              #!/usr/bin/env bash
               
               set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -
              -# TODO
              +APP="$1"; PROPERTY="$2"
              +
              +# TODO
               
              -

              network-config-exists

              +

              network-build-config

                -
              • Description: Returns whether the network configuration for a given app exists
              • -
              • Invoked by: internally triggered by core-post-deploy within proxy implementations
              • +
              • Description: Rebuilds network configuration
              • +
              • Invoked by: internally triggered by proxy-build-config within proxy implementations
              • Arguments: $APP
              • Example:
              @@ -5406,11 +5550,11 @@

              network-config-exists # TODO

              -

              network-get-ipaddr

              +

              network-clear-config

                -
              • Description: Return the ipaddr for a given app container
              • -
              • Invoked by: internally triggered by a deploy
              • -
              • Arguments: $APP $PROC_TYPE $CONTAINER_ID
              • +
              • Description: Clears network configuration
              • +
              • Invoked by: internally triggered within proxy implementations
              • +
              • Arguments: $APP
              • Example:
              #!/usr/bin/env bash
              @@ -5419,11 +5563,11 @@ 

              network-get-ipaddr # TODO

              -

              network-get-listeners

              +

              network-config-exists

                -
              • Description: Return the listeners (host:port combinations) for a given app container
              • -
              • Invoked by: internally triggered by a deploy
              • -
              • Arguments: $APP $PROCESS_TYPE
              • +
              • Description: Returns whether the network configuration for a given app exists
              • +
              • Invoked by: internally triggered by core-post-deploy within proxy implementations
              • +
              • Arguments: $APP
              • Example:
              #!/usr/bin/env bash
              @@ -5432,11 +5576,11 @@ 

              network-get-listeners # TODO

              -

              network-get-port

              +

              network-get-ipaddr

                -
              • Description: Return the port for a given app container
              • +
              • Description: Return the ipaddr for a given app container
              • Invoked by: internally triggered by a deploy
              • -
              • Arguments: $APP $PROCESS_TYPE $CONTAINER_ID $IS_HEROKUISH_CONTAINER
              • +
              • Arguments: $APP $PROC_TYPE $CONTAINER_ID
              • Example:
              #!/usr/bin/env bash
              @@ -5445,11 +5589,11 @@ 

              network-get-port # TODO

              -

              network-get-property

              +

              network-get-listeners

                -
              • Description: Return the value for an app's network property
              • +
              • Description: Return the listeners (host:port combinations) for a given app container
              • Invoked by: internally triggered by a deploy
              • -
              • Arguments: $APP $KEY
              • +
              • Arguments: $APP $PROCESS_TYPE
              • Example:
              #!/usr/bin/env bash
              @@ -5458,11 +5602,11 @@ 

              network-get-property # TODO

              -

              network-get-static-listeners

              +

              network-get-property

                -
              • Description: Return the network value for an app's property
              • -
              • Invoked by: internally triggered by proxy-build-config
              • -
              • Arguments: $APP $PROCESS_TYPE
              • +
              • Description: Return the value for an app's network property
              • +
              • Invoked by: internally triggered by a deploy
              • +
              • Arguments: $APP $KEY
              • Example:
              #!/usr/bin/env bash
              @@ -5471,11 +5615,11 @@ 

              network-get-static-listeners< # TODO

              -

              network-write-ipaddr

              +

              network-get-static-listeners

                -
              • Description: Write the ipaddr for a given app index
              • -
              • Invoked by: internally triggered by a deploy
              • -
              • Arguments: $APP $PROC_TYPE $CONTAINER_INDEX $IP_ADDRESS
              • +
              • Description: Return the network value for an app's property
              • +
              • Invoked by: internally triggered by proxy-build-config
              • +
              • Arguments: $APP $PROCESS_TYPE
              • Example:
              #!/usr/bin/env bash
              @@ -5484,11 +5628,11 @@ 

              network-write-ipaddr # TODO

              -

              network-write-port

              +

              network-write-ipaddr

                -
              • Description: Write the port for a given app index
              • +
              • Description: Write the ipaddr for a given app index
              • Invoked by: internally triggered by a deploy
              • -
              • Arguments: $APP $PROC_TYPE $CONTAINER_INDEX $PORT
              • +
              • Arguments: $APP $PROC_TYPE $CONTAINER_INDEX $IP_ADDRESS
              • Example:
              #!/usr/bin/env bash
              @@ -5497,6 +5641,19 @@ 

              network-write-port # TODO

              +

              network-write-port

              +
                +
              • Description: Write the port for a given app index
              • +
              • Invoked by: internally triggered by a deploy
              • +
              • Arguments: $APP $PROC_TYPE $CONTAINER_INDEX $PORT
              • +
              • Example:
              • +
              +
              #!/usr/bin/env bash
              +
              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              +
              +# TODO
              +

              nginx-app-template-source

              -
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
              -
              -APP="$1"
              -TEMPLATE_TYPE="$2"
              -case "$TEMPLATE_TYPE" in
              -  app-config)
              -    echo "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/app.conf.sigil";;
              -  hsts-config)
              -    echo "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/hsts.conf.sigil";;
              -  validate-config)
              -    echo "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/validate.conf.sigil";;
              -  *)
              -    dokku_log_fail "Invalid template type: ${TEMPLATE_TYPE}"
              -esac
              +
              #!/usr/bin/env bash
              +
              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
              +
              +APP="$1"
              +TEMPLATE_TYPE="$2"
              +case "$TEMPLATE_TYPE" in
              +  app-config)
              +    echo "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/app.conf.sigil";;
              +  hsts-config)
              +    echo "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/hsts.conf.sigil";;
              +  validate-config)
              +    echo "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/validate.conf.sigil";;
              +  *)
              +    dokku_log_fail "Invalid template type: ${TEMPLATE_TYPE}"
              +esac
               

              The default templates are viewable here: plugins/nginx-vhosts/templates/

              nginx-dokku-template-source

              @@ -5531,11 +5688,11 @@

              nginx-dokku-template-sourceArguments: None, however the sigil template can make use of the following variables: $.DOKKU_ROOT $.NGINX_ROOT
            • Example:
            -
            #!/usr/bin/env bash
            -
            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
            -
            -echo "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/dokku.conf.sigil"
            +
            #!/usr/bin/env bash
            +
            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
            +
            +echo "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/dokku.conf.sigil"
             

            The default template is viewable here: plugins/nginx-vhosts/templates/dokku.conf.sigil

            nginx-hostname

            @@ -5545,15 +5702,15 @@

            nginx-hostname
            #!/usr/bin/env bash
            -# Reverses the hostname for the app
            -
            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
            -
            -APP="$1"; SUBDOMAIN="$2"; VHOST="$3"
            -
            -NEW_SUBDOMAIN=`echo $SUBDOMAIN | rev`
            -echo "$NEW_SUBDOMAIN.$VHOST"
            +
            #!/usr/bin/env bash
            +# Reverses the hostname for the app
            +
            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
            +
            +APP="$1"; SUBDOMAIN="$2"; VHOST="$3"
            +
            +NEW_SUBDOMAIN=`echo $SUBDOMAIN | rev`
            +echo "$NEW_SUBDOMAIN.$VHOST"
             

            nginx-pre-reload

            @@ -5566,13 +5723,92 @@

            nginx-pre-reloadArguments: $APP $INTERNAL_PORT $INTERNAL_IP_ADDRESS
          • Example:
          -
          #!/usr/bin/env bash
          -# Runs a check against all nginx conf files
          -# to ensure they are valid
          -
          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
          -
          -nginx -t
          +
          #!/usr/bin/env bash
          +# Runs a check against all nginx conf files
          +# to ensure they are valid
          +
          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
          +
          +nginx -t
          +
          +

          ports-clear

          +
            +
          • Description: Clears the ports for a given app without triggering further restarts or rebuilds
          • +
          • Invoked by: internally
          • +
          • Arguments: $APP
          • +
          • Example:
          • +
          +
          #!/usr/bin/env bash
          +
          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
          +
          +# TODO
          +
          +

          ports-configure

          +
            +
          • Description: Configures the initial proxy ports
          • +
          • Invoked by: internally triggered by proxy plugins
          • +
          • Arguments: $APP
          • +
          • Example:
          • +
          +
          #!/usr/bin/env bash
          +
          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
          +
          +# TODO
          +
          +

          ports-get

          +
            +
          • Description: Returns a list of port mappings, newline delimited
          • +
          • Invoked by: Various networking plugins
          • +
          • Arguments: $APP
          • +
          • Example:
          • +
          +
          #!/usr/bin/env bash
          +
          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
          +
          +# TODO
          +
          +

          ports-get-available

          +
            +
          • Description: Prints out an available port greater than 1024
          • +
          • Invoked by: Various networking plugins
          • +
          • Arguments: $APP
          • +
          • Example:
          • +
          +
          #!/usr/bin/env bash
          +
          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
          +
          +# TODO
          +
          +

          ports-get-property

          +
            +
          • Description: Return the value for an app's ports property
          • +
          • Invoked by:
          • +
          • Arguments: $APP $KEY
          • +
          • Example:
          • +
          +
          #!/usr/bin/env bash
          +
          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
          +APP="$1"; PROPERTY="$2"
          +
          +# TODO
          +
          +

          ports-set-detected

          +
            +
          • Description: Allows builders to specify detected port mappings for a given app
          • +
          • Invoked by: Builder plugins
          • +
          • Arguments: $APP [$PORT_MAPPING...]
          • +
          • Example:
          • +
          +
          #!/usr/bin/env bash
          +
          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
          +
          +# TODO
           

          post-app-clone

            @@ -5581,11 +5817,11 @@

            post-app-clone
            #!/usr/bin/env bash
            -
            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
            -
            -# TODO
            +
            #!/usr/bin/env bash
            +
            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
            +
            +# TODO
             

            post-app-clone-setup

              @@ -5594,11 +5830,11 @@

              post-app-clone-setup
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -
              -# TODO
              +
              #!/usr/bin/env bash
              +
              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              +
              +# TODO
               

              post-app-rename

              -
              #!/usr/bin/env bash
              -
              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              -
              -# TODO
              +
              #!/usr/bin/env bash
              +
              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
              +
              +# TODO
               

              post-app-rename-setup

                @@ -5620,11 +5856,11 @@

                post-app-rename-setup
                #!/usr/bin/env bash
                -
                -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                -
                -# TODO
                +
                #!/usr/bin/env bash
                +
                +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                +
                +# TODO
                 

                post-build-buildpack

                  @@ -5633,11 +5869,11 @@

                  post-build-buildpack
                  #!/usr/bin/env bash
                  -
                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  -
                  -# TODO
                  +
                  #!/usr/bin/env bash
                  +
                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  +
                  +# TODO
                   

                  post-build-pack

                  @@ -5651,11 +5887,11 @@

                  post-build-packArguments: $APP $SOURCECODE_WORK_DIR
                • Example:
                -
                #!/usr/bin/env bash
                -
                -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                -
                -# TODO
                +
                #!/usr/bin/env bash
                +
                +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                +
                +# TODO
                 

                post-build-dockerfile

                  @@ -5664,11 +5900,11 @@

                  post-build-dockerfile
                  #!/usr/bin/env bash
                  -
                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  -
                  -# TODO
                  +
                  #!/usr/bin/env bash
                  +
                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  +
                  +# TODO
                   

                  post-certs-remove

                  -
                  #!/usr/bin/env bash
                  -
                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                  -APP="$1"
                  -
                  -# TODO
                  +
                  #!/usr/bin/env bash
                  +
                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                  +APP="$1"
                  +
                  +# TODO
                   

                  post-certs-update

                  -
                  #!/usr/bin/env bash
                  -
                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                  -APP="$1"
                  -
                  -# TODO
                  +
                  #!/usr/bin/env bash
                  +
                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                  +APP="$1"
                  +
                  +# TODO
                   

                  post-config-update

                  -
                  #!/usr/bin/env bash
                  -
                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  -
                  -# TODO
                  +
                  #!/usr/bin/env bash
                  +
                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  +
                  +# TODO
                   

                  post-container-create

                  • Description: This trigger should be used to do stuff to containers after they are created but before they are started. They are explicitely for commands that may involve network traffic, and not for commands that are self-contained, such as chown or tar.
                  • Invoked by: dokku run, dokku ps:rebuild, dokku deploy
                  • -
                  • Arguments "app|service" "$CONTAINER_ID" "$APP|$SERVICE" "$PHASE"
                  • +
                  • Arguments: "app|service" "$CONTAINER_ID" "$APP|$SERVICE" "$PHASE"
                  -
                  #!/usr/bin/env bash
                  -
                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  -
                  -# TODO
                  +
                  #!/usr/bin/env bash
                  +
                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                  +
                  +# TODO
                   

                  post-create

                    @@ -5732,17 +5968,17 @@

                    post-create
                    #!/usr/bin/env bash
                    -# Runs a command to ensure that an app
                    -# has a postgres database when it is starting
                    -
                    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                    -
                    -APP="$1";
                    -POSTGRES="$1"
                    -
                    -dokku postgres:create $POSTGRES
                    -dokku postgres:link $POSTGRES $APP
                    +
                    #!/usr/bin/env bash
                    +# Runs a command to ensure that an app
                    +# has a postgres database when it is starting
                    +
                    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                    +
                    +APP="$1";
                    +POSTGRES="$1"
                    +
                    +dokku postgres:create $POSTGRES
                    +dokku postgres:link $POSTGRES $APP
                     

                    post-delete

                      @@ -5751,15 +5987,15 @@

                      post-delete
                      #!/usr/bin/env bash
                      -# Runs a command to ensure that an app's
                      -# postgres installation is removed
                      -
                      -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                      -
                      -APP="$1";
                      -
                      -dokku postgres:destroy $APP
                      +
                      #!/usr/bin/env bash
                      +# Runs a command to ensure that an app's
                      +# postgres installation is removed
                      +
                      +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                      +
                      +APP="$1";
                      +
                      +dokku postgres:destroy $APP
                       

                      post-deploy

                      @@ -5772,12 +6008,12 @@

                      post-deploy
                      #!/usr/bin/env bash
                      -# Notify an external service that a successful deploy has occurred.
                      -
                      -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                      -
                      -curl "http://httpstat.us/200"
                      +
                      #!/usr/bin/env bash
                      +# Notify an external service that a successful deploy has occurred.
                      +
                      +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                      +
                      +curl "http://httpstat.us/200"
                       

                      post-domains-update

                        @@ -5786,13 +6022,13 @@

                        post-domains-update
                        #!/usr/bin/env bash
                        -# Reloads haproxy for our imaginary haproxy plugin
                        -# that replaces the nginx-vhosts plugin
                        -
                        -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                        -
                        -sudo service haproxy reload
                        +
                        #!/usr/bin/env bash
                        +# Reloads haproxy for our imaginary haproxy plugin
                        +# that replaces the nginx-vhosts plugin
                        +
                        +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                        +
                        +sudo service haproxy reload
                         

                        post-extract

                          @@ -5801,37 +6037,37 @@

                          post-extract
                          #!/usr/bin/env bash
                          -# Adds a clock process to an app's Procfile
                          -
                          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                          -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                          -APP="$1"
                          -TMP_WORK_DIR="$2"
                          -REV="$3" # optional, may not be sent for tar-based builds
                          -
                          -pushd "$TMP_WORK_DIR" >/dev/null
                          -touch Procfile
                          -echo "clock: some-command" >> Procfile
                          -popd &>/dev/null
                          +
                          #!/usr/bin/env bash
                          +# Adds a clock process to an app's Procfile
                          +
                          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                          +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                          +APP="$1"
                          +TMP_WORK_DIR="$2"
                          +REV="$3" # optional, may not be sent for tar-based builds
                          +
                          +pushd "$TMP_WORK_DIR" >/dev/null
                          +touch Procfile
                          +echo "clock: some-command" >> Procfile
                          +popd &>/dev/null
                           

                          post-proxy-ports-update

                            -
                          • Description: Allows you to run commands once the proxy port mappings for an app have been updated. It also sends the invoking command. This can be "add", "clear" or "remove".
                          • -
                          • Invoked by: dokku proxy:ports-add, dokku proxy:ports-clear, dokku proxy:ports-remove
                          • +
                          • Description: Allows you to run commands once the port mappings for an app have been updated. It also sends the invoking command. This can be "add", "clear" or "remove".
                          • +
                          • Invoked by: dokku ports:add, dokku ports:clear, dokku ports:remove
                          • Arguments: $APP action name
                          • Example:
                          -
                          #!/usr/bin/env bash
                          -# Rebuilds haproxy config for our imaginary haproxy plugin
                          -# that replaces the nginx-vhosts plugin
                          -
                          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                          -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                          -source "$PLUGIN_AVAILABLE_PATH/haproxy/functions"
                          -APP="$1"
                          -
                          -haproxy-build-config "$APP"
                          +
                          #!/usr/bin/env bash
                          +# Rebuilds haproxy config for our imaginary haproxy plugin
                          +# that replaces the nginx-vhosts plugin
                          +
                          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                          +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                          +source "$PLUGIN_AVAILABLE_PATH/haproxy/functions"
                          +APP="$1"
                          +
                          +haproxy-build-config "$APP"
                           

                          post-release-builder

                          @@ -5844,13 +6080,13 @@

                          post-release-builder
                          #!/usr/bin/env bash
                          -
                          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                          -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                          -BUILDER_TYPE="$1"; APP="$2"; IMAGE=$3
                          -
                          -# TODO
                          +
                          #!/usr/bin/env bash
                          +
                          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                          +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                          +BUILDER_TYPE="$1"; APP="$2"; IMAGE=$3
                          +
                          +# TODO
                           

                          post-stop

                          -
                          #!/usr/bin/env bash
                          -# Marks an app as manually stopped
                          -
                          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                          -
                          -APP="$1";
                          -
                          -dokku config:set --no-restart $APP MANUALLY_STOPPED=1
                          +
                          #!/usr/bin/env bash
                          +# Marks an app as manually stopped
                          +
                          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                          +
                          +APP="$1";
                          +
                          +dokku config:set --no-restart $APP MANUALLY_STOPPED=1
                           

                          pre-build-buildpack

                            @@ -5875,11 +6111,11 @@

                            pre-build-buildpack
                            #!/usr/bin/env bash
                            -
                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                            -
                            -# TODO
                            +
                            #!/usr/bin/env bash
                            +
                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                            +
                            +# TODO
                             

                            pre-build-pack

                            @@ -5893,11 +6129,11 @@

                            pre-build-pack
                            #!/usr/bin/env bash
                            -
                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                            -
                            -# TODO
                            +
                            #!/usr/bin/env bash
                            +
                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                            +
                            +# TODO
                             

                            pre-build-dockerfile

                              @@ -5906,11 +6142,11 @@

                              pre-build-dockerfile
                              #!/usr/bin/env bash
                              -
                              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                              -
                              -# TODO
                              +
                              #!/usr/bin/env bash
                              +
                              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                              +
                              +# TODO
                               

                              pre-delete

                                @@ -5919,17 +6155,17 @@

                                pre-delete
                                #!/usr/bin/env bash
                                -# Clears out the gulp asset build cache for apps
                                -
                                -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                -
                                -APP="$1"; GULP_CACHE_DIR="$DOKKU_ROOT/$APP/gulp"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
                                -
                                -if [[ -d $GULP_CACHE_DIR ]]; then
                                -  docker run "${DOCKER_COMMIT_LABEL_ARGS[@]}" --rm -v "$GULP_CACHE_DIR:/gulp" "$IMAGE" find /gulp -depth -mindepth 1 -maxdepth 1 -exec rm -Rf {} \; || true
                                -fi
                                +
                                #!/usr/bin/env bash
                                +# Clears out the gulp asset build cache for apps
                                +
                                +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                +
                                +APP="$1"; GULP_CACHE_DIR="$DOKKU_ROOT/$APP/gulp"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
                                +
                                +if [[ -d $GULP_CACHE_DIR ]]; then
                                +  docker run "${DOCKER_COMMIT_LABEL_ARGS[@]}" --rm -v "$GULP_CACHE_DIR:/gulp" "$IMAGE" find /gulp -depth -mindepth 1 -maxdepth 1 -exec rm -Rf {} \; || true
                                +fi
                                 

                                pre-deploy

                                  @@ -5938,18 +6174,18 @@

                                  pre-deploy
                                  #!/usr/bin/env bash
                                  -# Runs gulp in our container
                                  -
                                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                  -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                  -APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
                                  -
                                  -dokku_log_info1 "Running gulp"
                                  -CID=$(docker run "${DOCKER_COMMIT_LABEL_ARGS[@]}" -d $IMAGE /bin/bash -c "cd /app && gulp default")
                                  -test $(docker wait $CID) -eq 0
                                  -DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP")
                                  -docker commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" $CID $IMAGE >/dev/null
                                  +
                                  #!/usr/bin/env bash
                                  +# Runs gulp in our container
                                  +
                                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                  +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                  +APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
                                  +
                                  +dokku_log_info1 "Running gulp"
                                  +CID=$(docker run "${DOCKER_COMMIT_LABEL_ARGS[@]}" -d $IMAGE /bin/bash -c "cd /app && gulp default")
                                  +test $(docker wait $CID) -eq 0
                                  +DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP")
                                  +docker commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" $CID $IMAGE >/dev/null
                                   

                                  pre-disable-vhost

                                  -
                                  #!/usr/bin/env bash
                                  -
                                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                  -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                  -APP="$1"
                                  -
                                  -# TODO
                                  +
                                  #!/usr/bin/env bash
                                  +
                                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                  +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                  +APP="$1"
                                  +
                                  +# TODO
                                   

                                  pre-enable-vhost

                                  -
                                  #!/usr/bin/env bash
                                  -
                                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                  -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                  -APP="$1"
                                  -
                                  -# TODO
                                  +
                                  #!/usr/bin/env bash
                                  +
                                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                  +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                  +APP="$1"
                                  +
                                  +# TODO
                                   

                                  pre-receive-app

                                  -
                                  #!/usr/bin/env bash
                                  -# Adds a file called `dokku-is-awesome` to the repository
                                  -# the contents will be the app name
                                  -
                                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                  -
                                  -APP="$1"; IMAGE_SOURCE_TYPE="$2"; TMP_WORK_DIR="$3"; REV="$4"
                                  -
                                  -echo "$APP" > "$TMP_WORK_DIR/dokku-is-awesome"
                                  +
                                  #!/usr/bin/env bash
                                  +# Adds a file called `dokku-is-awesome` to the repository
                                  +# the contents will be the app name
                                  +
                                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                  +
                                  +APP="$1"; IMAGE_SOURCE_TYPE="$2"; TMP_WORK_DIR="$3"; REV="$4"
                                  +
                                  +echo "$APP" > "$TMP_WORK_DIR/dokku-is-awesome"
                                   

                                  pre-release-buildpack

                                    @@ -6005,23 +6241,23 @@

                                    pre-release-buildpack
                                    #!/usr/bin/env bash
                                    -# Installs the graphicsmagick package into the container
                                    -
                                    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                    -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                    -APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
                                    -
                                    -dokku_log_info1 "Installing GraphicsMagick..."
                                    -
                                    -CMD="cat > gm && \
                                    -  dpkg -s graphicsmagick >/dev/null 2>&1 || \
                                    -  (apt-get update -qq && apt-get -qq -y --no-install-recommends install graphicsmagick && apt-get clean)"
                                    -
                                    -CID=$(docker run $DOKKU_GLOBAL_RUN_ARGS -i -a stdin $IMAGE /bin/bash -c "$CMD")
                                    -test $(docker wait $CID) -eq 0
                                    -DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP")
                                    -docker commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" $CID $IMAGE >/dev/null
                                    +
                                    #!/usr/bin/env bash
                                    +# Installs the graphicsmagick package into the container
                                    +
                                    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                    +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                    +APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
                                    +
                                    +dokku_log_info1 "Installing GraphicsMagick..."
                                    +
                                    +CMD="cat > gm && \
                                    +  dpkg -s graphicsmagick &>/dev/null || \
                                    +  (apt-get update -qq && apt-get -qq -y --no-install-recommends install graphicsmagick && apt-get clean)"
                                    +
                                    +CID=$(docker run $DOKKU_GLOBAL_RUN_ARGS -i -a stdin $IMAGE /bin/bash -c "$CMD")
                                    +test $(docker wait $CID) -eq 0
                                    +DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP")
                                    +docker commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" $CID $IMAGE >/dev/null
                                     

                                    pre-release-pack

                                    @@ -6035,13 +6271,13 @@

                                    pre-release-packArguments: $APP $IMAGE_TAG
                                  • Example:
                                  -
                                  #!/usr/bin/env bash
                                  -
                                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                  -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                  -APP="$1"; IMAGE_TAG="$2";
                                  -
                                  -# TODO
                                  +
                                  #!/usr/bin/env bash
                                  +
                                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                  +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                  +APP="$1"; IMAGE_TAG="$2";
                                  +
                                  +# TODO
                                   

                                  pre-release-dockerfile

                                    @@ -6050,13 +6286,13 @@

                                    pre-release-dockerfile
                                    #!/usr/bin/env bash
                                    -
                                    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                    -source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                    -APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
                                    -
                                    -# TODO
                                    +
                                    #!/usr/bin/env bash
                                    +
                                    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                    +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
                                    +APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
                                    +
                                    +# TODO
                                     

                                    pre-restore

                                      @@ -6065,12 +6301,12 @@

                                      pre-restore
                                      #!/usr/bin/env bash
                                      -
                                      -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                      -DOKKU_SCHEDULER="$1"
                                      -
                                      -# TODO
                                      +
                                      #!/usr/bin/env bash
                                      +
                                      +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                      +DOKKU_SCHEDULER="$1"
                                      +
                                      +# TODO
                                       

                                      pre-start

                                      -
                                      #!/usr/bin/env bash
                                      -# Notifies an example url that an app is starting
                                      -
                                      -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                      -
                                      -APP="$1";
                                      -
                                      -curl "https://dokku.me/starting/${APP}" || true
                                      +
                                      #!/usr/bin/env bash
                                      +# Notifies an example url that an app is starting
                                      +
                                      +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                      +
                                      +APP="$1";
                                      +
                                      +curl "https://dokku.me/starting/${APP}" || true
                                       

                                      procfile-get-command

                                        @@ -6095,11 +6331,24 @@

                                        procfile-get-command
                                        #!/usr/bin/env bash
                                        -
                                        -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                        -
                                        -# TODO
                                        +
                                        #!/usr/bin/env bash
                                        +
                                        +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                        +
                                        +# TODO
                                        +
                                        +

                                        procfile-exists

                                        +
                                          +
                                        • Description: Checks if a procfile exists for the specified app
                                        • +
                                        • Invoked by: internally
                                        • +
                                        • Arguments: $APP
                                        • +
                                        • Example:
                                        • +
                                        +
                                        #!/usr/bin/env bash
                                        +
                                        +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                        +
                                        +# TODO
                                         

                                        proxy-build-config

                                        -
                                        #!/usr/bin/env bash
                                        -
                                        -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                        -
                                        -# TODO
                                        +
                                        #!/usr/bin/env bash
                                        +
                                        +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                        +
                                        +# TODO
                                         

                                        proxy-clear-config

                                        -
                                        #!/usr/bin/env bash
                                        -
                                        -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                        -
                                        -# TODO
                                        +
                                        #!/usr/bin/env bash
                                        +
                                        +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                        +
                                        +# TODO
                                         

                                        proxy-configure-ports

                                        +
                                        +

                                        Warning

                                        +

                                        Deprecated, please use ports-configure instead

                                        +
                                          -
                                        • Description: Configures the proxy port mapping
                                        • +
                                        • Description: Configures the port mapping
                                        • Invoked by: internally triggered by proxy plugins
                                        • Arguments: $APP
                                        • Example:
                                        -
                                        #!/usr/bin/env bash
                                        -
                                        -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                        -
                                        -# TODO
                                        +
                                        #!/usr/bin/env bash
                                        +
                                        +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                        +
                                        +# TODO
                                         

                                        proxy-disable

                                          @@ -6147,11 +6400,11 @@

                                          proxy-disable
                                          #!/usr/bin/env bash
                                          -
                                          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                          -
                                          -# TODO
                                          +
                                          #!/usr/bin/env bash
                                          +
                                          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                          +
                                          +# TODO
                                           

                                          proxy-enable

                                            @@ -6160,11 +6413,11 @@

                                            proxy-enable
                                            #!/usr/bin/env bash
                                            -
                                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            -
                                            -# TODO
                                            +
                                            #!/usr/bin/env bash
                                            +
                                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            +
                                            +# TODO
                                             

                                            proxy-is-enabled

                                            -
                                            #!/usr/bin/env bash
                                            -
                                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            -
                                            -# TODO
                                            +
                                            #!/usr/bin/env bash
                                            +
                                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            +
                                            +# TODO
                                             

                                            proxy-type

                                              @@ -6186,11 +6439,11 @@

                                              proxy-type
                                              #!/usr/bin/env bash
                                              -
                                              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                              -
                                              -# TODO
                                              +
                                              #!/usr/bin/env bash
                                              +
                                              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                              +
                                              +# TODO
                                               

                                              ps-can-scale

                                                @@ -6200,11 +6453,11 @@

                                                ps-can-scaleps-current-scale

                                                -
                                                #!/usr/bin/env bash
                                                -
                                                -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                -
                                                -# TODO
                                                +
                                                #!/usr/bin/env bash
                                                +
                                                +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                +
                                                +# TODO
                                                 
                                                • Description: Prints out the current scale contents (process-type=quantity) delimited by newlines.
                                                • @@ -6212,11 +6465,11 @@

                                                  ps-current-scaleArguments: $APP
                                                • Example:
                                                -
                                                #!/usr/bin/env bash
                                                -
                                                -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                -
                                                -# TODO
                                                +
                                                #!/usr/bin/env bash
                                                +
                                                +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                +
                                                +# TODO
                                                 

                                                ps-set-scale

                                                  @@ -6225,11 +6478,11 @@

                                                  ps-set-scale
                                                  #!/usr/bin/env bash
                                                  -
                                                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                  -
                                                  -# TODO
                                                  +
                                                  #!/usr/bin/env bash
                                                  +
                                                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                  +
                                                  +# TODO
                                                   

                                                  receive-app

                                                    @@ -6238,14 +6491,14 @@

                                                    receive-app
                                                    #!/usr/bin/env bash
                                                    -# For our imaginary mercurial plugin, triggers a rebuild
                                                    -
                                                    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    -
                                                    -APP="$1"; REV="$2"
                                                    -
                                                    -dokku hg-build $APP $REV
                                                    +
                                                    #!/usr/bin/env bash
                                                    +# For our imaginary mercurial plugin, triggers a rebuild
                                                    +
                                                    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    +
                                                    +APP="$1"; REV="$2"
                                                    +
                                                    +dokku hg-build $APP $REV
                                                     

                                                    receive-branch

                                                      @@ -6254,20 +6507,20 @@

                                                      receive-branch
                                                      #!/bin/bash
                                                      -# Gives Dokku the ability to support multiple branches for a given service
                                                      -# Allowing you to have multiple staging environments on a per-branch basis
                                                      -
                                                      -reference_app=$1
                                                      -refname=$3
                                                      -newrev=$2
                                                      -APP=${refname/*\//}.$reference_app
                                                      -
                                                      -if [[ ! -d "$DOKKU_ROOT/$APP" ]]; then
                                                      -  REFERENCE_REPO="$DOKKU_ROOT/$reference_app"
                                                      -  git clone --bare --shared --reference "$REFERENCE_REPO" "$REFERENCE_REPO" "$DOKKU_ROOT/$APP" >/dev/null
                                                      -fi
                                                      -plugn trigger receive-app $APP $newrev
                                                      +
                                                      #!/bin/bash
                                                      +# Gives Dokku the ability to support multiple branches for a given service
                                                      +# Allowing you to have multiple staging environments on a per-branch basis
                                                      +
                                                      +reference_app=$1
                                                      +refname=$3
                                                      +newrev=$2
                                                      +APP=${refname/*\//}.$reference_app
                                                      +
                                                      +if [[ ! -d "$DOKKU_ROOT/$APP" ]]; then
                                                      +  REFERENCE_REPO="$DOKKU_ROOT/$reference_app"
                                                      +  git clone --bare --shared --reference "$REFERENCE_REPO" "$REFERENCE_REPO" "$DOKKU_ROOT/$APP" >/dev/null
                                                      +fi
                                                      +plugn trigger receive-app $APP $newrev
                                                       

                                                      release-and-deploy

                                                      -
                                                      #!/usr/bin/env bash
                                                      -
                                                      -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                      -APP="$1";
                                                      -
                                                      -# TODO
                                                      +
                                                      #!/usr/bin/env bash
                                                      +
                                                      +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                      +APP="$1";
                                                      +
                                                      +# TODO
                                                       

                                                      report

                                                        @@ -6290,12 +6543,12 @@

                                                        report
                                                        #!/usr/bin/env bash
                                                        -
                                                        -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                        -APP="$1";
                                                        -
                                                        -# TODO
                                                        +
                                                        #!/usr/bin/env bash
                                                        +
                                                        +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                        +APP="$1";
                                                        +
                                                        +# TODO
                                                         

                                                        resource-get-property

                                                          @@ -6304,12 +6557,12 @@

                                                          resource-get-property
                                                          #!/usr/bin/env bash
                                                          -
                                                          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                          -APP="$1"; PROC_TYPE="$2" RESOURCE_TYPE="$3" PROPERTY="$4"
                                                          -
                                                          -# TODO
                                                          +
                                                          #!/usr/bin/env bash
                                                          +
                                                          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                          +APP="$1"; PROC_TYPE="$2" RESOURCE_TYPE="$3" PROPERTY="$4"
                                                          +
                                                          +# TODO
                                                           

                                                          retire-container-failed

                                                            @@ -6318,13 +6571,13 @@

                                                            retire-container-failed
                                                            #!/usr/bin/env bash
                                                            -# Send an email when a container failed to retire
                                                            -
                                                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                            -APP="$1"; HOSTNAME=$(hostname -s)
                                                            -
                                                            -mail -s "$APP containers on $HOSTNAME failed to retire" ops@dokku.me
                                                            +
                                                            #!/usr/bin/env bash
                                                            +# Send an email when a container failed to retire
                                                            +
                                                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                            +APP="$1"; HOSTNAME=$(hostname -s)
                                                            +
                                                            +mail -s "$APP containers on $HOSTNAME failed to retire" ops@dokku.me
                                                             

                                                            scheduler-app-status

                                                            @@ -6338,12 +6591,12 @@

                                                            scheduler-app-status
                                                            #!/usr/bin/env bash
                                                            -
                                                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                            -DOKKU_SCHEDULER="$1"; APP="$2";
                                                            -
                                                            -# TODO
                                                            +
                                                            #!/usr/bin/env bash
                                                            +
                                                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                            +DOKKU_SCHEDULER="$1"; APP="$2";
                                                            +
                                                            +# TODO
                                                             

                                                            scheduler-deploy

                                                            @@ -6357,12 +6610,12 @@

                                                            scheduler-deployArguments: $DOKKU_SCHEDULER $APP $IMAGE_TAG
                                                          • Example:
                                                          -
                                                          #!/usr/bin/env bash
                                                          -
                                                          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                          -DOKKU_SCHEDULER="$1"; APP="$2"; IMAGE_TAG="$3";
                                                          -
                                                          -# TODO
                                                          +
                                                          #!/usr/bin/env bash
                                                          +
                                                          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                          +DOKKU_SCHEDULER="$1"; APP="$2"; IMAGE_TAG="$3";
                                                          +
                                                          +# TODO
                                                           

                                                          scheduler-detect

                                                          @@ -6376,12 +6629,12 @@

                                                          scheduler-detectArguments: $APP
                                                        • Example:
                                                        -
                                                        #!/usr/bin/env bash
                                                        -
                                                        -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                        -APP="$1"
                                                        -
                                                        -# TODO
                                                        +
                                                        #!/usr/bin/env bash
                                                        +
                                                        +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                        +APP="$1"
                                                        +
                                                        +# TODO
                                                         

                                                        scheduler-enter

                                                        @@ -6395,12 +6648,12 @@

                                                        scheduler-enterArguments: $DOKKU_SCHEDULER $APP $@
                                                      • Example:
                                                      -
                                                      #!/usr/bin/env bash
                                                      -
                                                      -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                      -DOKKU_SCHEDULER="$1"; APP="$2"; ARGS="$@"
                                                      -
                                                      -# TODO
                                                      +
                                                      #!/usr/bin/env bash
                                                      +
                                                      +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                      +DOKKU_SCHEDULER="$1"; APP="$2"; ARGS="$@"
                                                      +
                                                      +# TODO
                                                       

                                                      scheduler-inspect

                                                      @@ -6414,12 +6667,12 @@

                                                      scheduler-inspectArguments: $DOKKU_SCHEDULER $APP
                                                    • Example:
                                                    -
                                                    #!/usr/bin/env bash
                                                    -
                                                    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    -DOKKU_SCHEDULER="$1"; APP="$2";
                                                    -
                                                    -# TODO
                                                    +
                                                    #!/usr/bin/env bash
                                                    +
                                                    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    +DOKKU_SCHEDULER="$1"; APP="$2";
                                                    +
                                                    +# TODO
                                                     

                                                    scheduler-logs

                                                    @@ -6433,12 +6686,12 @@

                                                    scheduler-logs
                                                    #!/usr/bin/env bash
                                                    -
                                                    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    -DOKKU_SCHEDULER="$1"; APP="$2"; PROCESS_TYPE="$3"; TAIL="$4"; PRETTY_PRINT="$5"; NUM="$6"
                                                    -
                                                    -# TODO
                                                    +
                                                    #!/usr/bin/env bash
                                                    +
                                                    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    +DOKKU_SCHEDULER="$1"; APP="$2"; PROCESS_TYPE="$3"; TAIL="$4"; PRETTY_PRINT="$5"; NUM="$6"
                                                    +
                                                    +# TODO
                                                     

                                                    scheduler-logs-failed

                                                    @@ -6452,12 +6705,12 @@

                                                    scheduler-logs-failed
                                                    #!/usr/bin/env bash
                                                    -
                                                    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    -DOKKU_SCHEDULER="$1"; APP="$2";
                                                    -
                                                    -# TODO
                                                    +
                                                    #!/usr/bin/env bash
                                                    +
                                                    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    +DOKKU_SCHEDULER="$1"; APP="$2";
                                                    +
                                                    +# TODO
                                                     

                                                    scheduler-pre-restore

                                                    @@ -6471,12 +6724,12 @@

                                                    scheduler-pre-restore
                                                    #!/usr/bin/env bash
                                                    -
                                                    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    -DOKKU_SCHEDULER="$1"; APP="$2";
                                                    -
                                                    -# TODO
                                                    +
                                                    #!/usr/bin/env bash
                                                    +
                                                    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    +DOKKU_SCHEDULER="$1"; APP="$2";
                                                    +
                                                    +# TODO
                                                     

                                                    scheduler-post-delete

                                                    @@ -6490,12 +6743,12 @@

                                                    scheduler-post-delete
                                                    #!/usr/bin/env bash
                                                    -
                                                    -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    -DOKKU_SCHEDULER="$1"; APP="$2"; IMAGE_TAG="$3";
                                                    -
                                                    -# TODO
                                                    +
                                                    #!/usr/bin/env bash
                                                    +
                                                    +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                    +DOKKU_SCHEDULER="$1"; APP="$2"; IMAGE_TAG="$3";
                                                    +
                                                    +# TODO
                                                     

                                                    scheduler-post-run

                                                    @@ -6509,12 +6762,12 @@

                                                    scheduler-post-runArguments: $DOKKU_SCHEDULER $APP $CONTAINER_ID
                                                  • Example:
                                                  -
                                                  #!/usr/bin/env bash
                                                  -
                                                  -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                  -DOKKU_SCHEDULER="$1"; APP="$2"; CONTAINER_ID="$3";
                                                  -
                                                  -# TODO
                                                  +
                                                  #!/usr/bin/env bash
                                                  +
                                                  +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                  +DOKKU_SCHEDULER="$1"; APP="$2"; CONTAINER_ID="$3";
                                                  +
                                                  +# TODO
                                                   

                                                  scheduler-register-retired

                                                  @@ -6528,13 +6781,13 @@

                                                  scheduler-register-retiredArguments: $APP $CONTAINER_ID
                                                • Example:
                                                -
                                                #!/usr/bin/env bash
                                                -
                                                -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                -APP="$1";
                                                -CONTAINER_ID="$2";
                                                -
                                                -# TODO
                                                +
                                                #!/usr/bin/env bash
                                                +
                                                +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                                +APP="$1";
                                                +CONTAINER_ID="$2";
                                                +
                                                +# TODO
                                                 

                                                scheduler-retire

                                                @@ -6548,12 +6801,12 @@

                                                scheduler-retireArguments: $DOKKU_SCHEDULER $APP
                                              • Example:
                                              -
                                              #!/usr/bin/env bash
                                              -
                                              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                              -DOKKU_SCHEDULER="$1"; APP="$2";
                                              -
                                              -# TODO
                                              +
                                              #!/usr/bin/env bash
                                              +
                                              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                              +DOKKU_SCHEDULER="$1"; APP="$2";
                                              +
                                              +# TODO
                                               

                                              scheduler-run

                                              @@ -6567,12 +6820,12 @@

                                              scheduler-run
                                              #!/usr/bin/env bash
                                              -
                                              -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                              -DOKKU_SCHEDULER="$1"; APP="$2"; ARGS="${@:3}";
                                              -
                                              -# TODO
                                              +
                                              #!/usr/bin/env bash
                                              +
                                              +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                              +DOKKU_SCHEDULER="$1"; APP="$2"; ARGS="${@:3}";
                                              +
                                              +# TODO
                                               

                                              scheduler-run-list

                                              @@ -6586,12 +6839,12 @@

                                              scheduler-run-listArguments: $DOKKU_SCHEDULER $APP $FORMAT
                                            • Example:
                                            -
                                            #!/usr/bin/env bash
                                            -
                                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            -DOKKU_SCHEDULER="$1"; APP="$2"; FORMAT="$3";
                                            -
                                            -# TODO
                                            +
                                            #!/usr/bin/env bash
                                            +
                                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            +DOKKU_SCHEDULER="$1"; APP="$2"; FORMAT="$3";
                                            +
                                            +# TODO
                                             

                                            scheduler-run-logs

                                          -
                                          #!/usr/bin/env bash
                                          -
                                          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                          -DOKKU_SCHEDULER="$1"; APP="$2"; CONTAINER="$3"; TAIL="$4"; PRETTY_PRINT="$5"; NUM="$6"
                                          -
                                          -# TODO
                                          +
                                          #!/usr/bin/env bash
                                          +
                                          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                          +DOKKU_SCHEDULER="$1"; APP="$2"; CONTAINER="$3"; TAIL="$4"; PRETTY_PRINT="$5"; NUM="$6"
                                          +
                                          +# TODO
                                           

                                          scheduler-stop

                                          @@ -6624,12 +6877,12 @@

                                          scheduler-stop
                                          #!/usr/bin/env bash
                                          -
                                          -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                          -DOKKU_SCHEDULER="$1"; APP="$2"; REMOVE_CONTAINERS="$3";
                                          -
                                          -# TODO
                                          +
                                          #!/usr/bin/env bash
                                          +
                                          +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                          +DOKKU_SCHEDULER="$1"; APP="$2"; REMOVE_CONTAINERS="$3";
                                          +
                                          +# TODO
                                           

                                          storage-list

                                            @@ -6638,12 +6891,12 @@

                                            storage-list
                                            #!/usr/bin/env bash
                                            -
                                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            -APP="$1"
                                            -
                                            -# TODO
                                            +
                                            #!/usr/bin/env bash
                                            +
                                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            +APP="$1"
                                            +
                                            +# TODO
                                             

                                            uninstall

                                            -
                                            #!/usr/bin/env bash
                                            -# Cleanup up extra containers created
                                            -
                                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            -
                                            -PLUGIN="$1"
                                            -
                                            -[[ "$PLUGIN" = "my-plugin" ]] && docker rmi -f "${PLUGIN_IMAGE_DEPENDENCY}"
                                            +
                                            #!/usr/bin/env bash
                                            +# Cleanup up extra containers created
                                            +
                                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            +
                                            +PLUGIN="$1"
                                            +
                                            +[[ "$PLUGIN" = "my-plugin" ]] && docker rmi -f "${PLUGIN_IMAGE_DEPENDENCY}"
                                             

                                            To avoid uninstalling other plugins make sure to check the plugin name like shown in the example.

                                            @@ -6671,13 +6924,13 @@

                                            update
                                            #!/usr/bin/env bash
                                            -# Update the herokuish image from git source
                                            -
                                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            -
                                            -cd /root/dokku
                                            -sudo BUILD_STACK=true make install
                                            +
                                            #!/usr/bin/env bash
                                            +# Update the herokuish image from git source
                                            +
                                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            +
                                            +cd /root/dokku
                                            +sudo BUILD_STACK=true make install
                                             

                                            user-auth

                                            This is a special plugin trigger that is executed on every command run. As Dokku sometimes internally invokes the dokku command, special care should be taken to properly handle internal command redirects.

                                            @@ -6688,7 +6941,7 @@

                                            user-auth

                                            The SSH_USER is the original ssh user. If you are running remote commands, this user will typically be dokku, and as such should not be trusted when checking permissions. If you are connected via ssh as a different user who then invokes dokku, the value of this variable will be that user's name (root, myuser, etc.).

                                            The SSH_NAME is the NAME variable set via the sshcommand acl-add command. For reference, the following command can be run as the root user to specify a specific NAME for a given ssh key:

                                            -
                                            sshcommand acl-add dokku NAME < $PATH_TO_SSH_KEY
                                            +
                                            sshcommand acl-add dokku NAME < $PATH_TO_SSH_KEY
                                             

                                            Note that the NAME value is set at the first ssh key match. If an ssh key is set in the /home/dokku/.ssh/authorized_keys multiple times, the first match will decide the value.

                                            -
                                            #!/usr/bin/env bash
                                            -# Allow root/admin users to do everything
                                            -# Deny plugin access to default users
                                            -# Allow access to all other commands
                                            -
                                            -set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            -
                                            -SSH_USER=$1
                                            -SSH_NAME=$2
                                            -shift 2
                                            -[[ "$SSH_USER" == "root" ]] && exit 0
                                            -[[ "$SSH_NAME" == "admin" ]] && exit 0
                                            -[[ "$SSH_NAME" == "default" && $1 == plugin:* ]] && exit 1
                                            -exit 0
                                            +
                                            #!/usr/bin/env bash
                                            +# Allow root/admin users to do everything
                                            +# Deny plugin access to default users
                                            +# Allow access to all other commands
                                            +
                                            +set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
                                            +
                                            +SSH_USER=$1
                                            +SSH_NAME=$2
                                            +shift 2
                                            +[[ "$SSH_USER" == "root" ]] && exit 0
                                            +[[ "$SSH_NAME" == "admin" ]] && exit 0
                                            +[[ "$SSH_NAME" == "default" && $1 == plugin:* ]] && exit 1
                                            +exit 0
                                             

                                            user-auth-app

                                            This is a special plugin trigger that is executed when listing apps or checking if an app exists. All Dokku commands should check if an app exists at least once before interacting with them so as not to circumvent the check.

                                            Note that the trigger should exit 0, and each non-empty line on stdout is captured as a valid app name.

                                            The SSH_USER is the original ssh user. If you are running remote commands, this user will typically be dokku, and as such should not be trusted when checking permissions. If you are connected via ssh as a different user who then invokes dokku, the value of this variable will be that user's name (root, myuser, etc.).

                                            The SSH_NAME is the NAME variable set via the sshcommand acl-add command. For reference, the following command can be run as the root user to specify a specific NAME for a given ssh key:

                                            -
                                            sshcommand acl-add dokku NAME < $PATH_TO_SSH_KEY
                                            +
                                            sshcommand acl-add dokku NAME < $PATH_TO_SSH_KEY
                                             

                                            Note that the NAME value is set at the first ssh key match. If an ssh key is set in the /home/dokku/.ssh/authorized_keys multiple times, the first match will decide the value.

                                              @@ -6726,23 +6979,23 @@

                                              user-auth-app
                                              #!/usr/bin/env bash
                                              -# hide any apps with the prefix "admin"
                                              -# if the logged in user (SSH_USER) or SSH_NAME is not `root`
                                              -
                                              -main() {
                                              -  declare SSH_USER="$1" SSH_NAME="$2" ARGS=("${@:3}")
                                              -
                                              -  for arg in "${ARGS[@]}"; do
                                              -    if [[ "$arg" == admin-* ]] && [[ "$SSH_USER" != "root" ]] && [[ "$SSH_NAME" != "root" ]]; then
                                              -      continue
                                              -    fi
                                              -
                                              -    echo "${arg}"
                                              -  done
                                              -}
                                              -
                                              -main "$@"
                                              +
                                              #!/usr/bin/env bash
                                              +# hide any apps with the prefix "admin"
                                              +# if the logged in user (SSH_USER) or SSH_NAME is not `root`
                                              +
                                              +main() {
                                              +  declare SSH_USER="$1" SSH_NAME="$2" ARGS=("${@:3}")
                                              +
                                              +  for arg in "${ARGS[@]}"; do
                                              +    if [[ "$arg" == admin-* ]] && [[ "$SSH_USER" != "root" ]] && [[ "$SSH_NAME" != "root" ]]; then
                                              +      continue
                                              +    fi
                                              +
                                              +    echo "${arg}"
                                              +  done
                                              +}
                                              +
                                              +main "$@"
                                               
                                              diff --git a/docs/development/release-process/index.html b/docs/development/release-process/index.html index 376e0b8b5..b9416a138 100644 --- a/docs/development/release-process/index.html +++ b/docs/development/release-process/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy @@ -2569,7 +2601,7 @@

                                              Arch Linux Packages
                                              # having dokku-arch in ../dokku-arch
                                               vagrant up build-arch
                                              -# wait for "==> build-arch: ==> Finished making: dokku 0.30.10-2 (Mon Feb 22 23:20:37 CET 2016)"
                                              +# wait for "==> build-arch: ==> Finished making: dokku 0.30.11-2 (Mon Feb 22 23:20:37 CET 2016)"
                                               cd ../dokku-arch
                                               git add PKGBUILD .SRCINFO
                                               git commit -m 'Update to dokku 0.9.9'
                                              diff --git a/docs/development/testing/index.html b/docs/development/testing/index.html
                                              index 5a24ed103..b24c5a491 100644
                                              --- a/docs/development/testing/index.html
                                              +++ b/docs/development/testing/index.html
                                              @@ -691,6 +691,8 @@
                                                         
                                                       
                                                         
                                              +        
                                              +          
                                                       
                                                         
                                                       
                                              @@ -721,6 +723,20 @@
                                                 
                                                 
                                                 
                                              +    
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1687,6 +1703,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy diff --git a/docs/enterprise/pro/index.html b/docs/enterprise/pro/index.html index 09c7ffdcc..96a554866 100644 --- a/docs/enterprise/pro/index.html +++ b/docs/enterprise/pro/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1744,6 +1760,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy diff --git a/docs/getting-started/advanced-installation/index.html b/docs/getting-started/advanced-installation/index.html index 041bfc82a..ff1db5034 100644 --- a/docs/getting-started/advanced-installation/index.html +++ b/docs/getting-started/advanced-installation/index.html @@ -785,6 +785,8 @@ + + @@ -815,6 +817,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1781,6 +1797,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy diff --git a/docs/getting-started/install/azure/index.html b/docs/getting-started/install/azure/index.html index aee764ffc..f933e1c59 100644 --- a/docs/getting-started/install/azure/index.html +++ b/docs/getting-started/install/azure/index.html @@ -705,6 +705,8 @@ + + @@ -735,6 +737,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1701,6 +1717,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy diff --git a/docs/getting-started/install/debian/index.html b/docs/getting-started/install/debian/index.html index e518299a1..e57d51b77 100644 --- a/docs/getting-started/install/debian/index.html +++ b/docs/getting-started/install/debian/index.html @@ -749,6 +749,8 @@ + + @@ -779,6 +781,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1745,6 +1761,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy diff --git a/docs/getting-started/install/digitalocean/index.html b/docs/getting-started/install/digitalocean/index.html index 664f6ee2d..81865d317 100644 --- a/docs/getting-started/install/digitalocean/index.html +++ b/docs/getting-started/install/digitalocean/index.html @@ -705,6 +705,8 @@ + + @@ -735,6 +737,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1701,6 +1717,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy diff --git a/docs/getting-started/install/docker/index.html b/docs/getting-started/install/docker/index.html index 12660b83a..7b1d48b7c 100644 --- a/docs/getting-started/install/docker/index.html +++ b/docs/getting-started/install/docker/index.html @@ -770,6 +770,8 @@ + + @@ -800,6 +802,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1766,6 +1782,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy @@ -2581,7 +2613,7 @@

                                              Docker Installation Notes

                                              Pull the dokku/dokku image:

                                              -
                                              docker pull dokku/dokku:0.30.10
                                              +
                                              docker pull dokku/dokku:0.30.11
                                               

                                              Next, run the image.

                                              docker container run \
                                              @@ -2594,7 +2626,7 @@ 

                                              Docker Installation Notes --publish 8443:443 \ --volume /var/lib/dokku:/mnt/dokku \ --volume /var/run/docker.sock:/var/run/docker.sock \ - dokku/dokku:0.30.10 + dokku/dokku:0.30.11

                                              The above command will start a new docker container that is ready when a message similar to Runit started as PID 12345 appears.

                                              Dokku is run in the following configuration:

                                              @@ -2621,7 +2653,7 @@

                                              On Dokku startPrior to Dokku start

                                              The alternative is to build a custom docker image via a custom Dockerfile. This Dockerfile can run any plugin:install command. Note that the version installed at that time will be the one that persists. Below is an example Dockerfile showing this method.

                                              -
                                              FROM dokku/dokku:0.30.10
                                              +
                                              FROM dokku/dokku:0.30.11
                                               RUN dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres
                                               RUN dokku plugin:install https://github.com/dokku/dokku-redis.git redis
                                               
                                              diff --git a/docs/getting-started/install/dreamhost/index.html b/docs/getting-started/install/dreamhost/index.html index 94aebe3de..d938c6c4a 100644 --- a/docs/getting-started/install/dreamhost/index.html +++ b/docs/getting-started/install/dreamhost/index.html @@ -705,6 +705,8 @@ + + @@ -735,6 +737,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1701,6 +1717,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy diff --git a/docs/getting-started/install/vagrant/index.html b/docs/getting-started/install/vagrant/index.html index 90af3c0d2..c1c17d04a 100644 --- a/docs/getting-started/install/vagrant/index.html +++ b/docs/getting-started/install/vagrant/index.html @@ -705,6 +705,8 @@ + + @@ -735,6 +737,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1701,6 +1717,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy diff --git a/docs/getting-started/installation/index.html b/docs/getting-started/installation/index.html index cfa04fa5c..753118e12 100644 --- a/docs/getting-started/installation/index.html +++ b/docs/getting-started/installation/index.html @@ -693,6 +693,8 @@ + + @@ -723,6 +725,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1689,6 +1705,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy @@ -2545,8 +2577,8 @@

                                              Installing the latest stable versi

                                              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 -NP . https://dokku.com/install/v0.30.10/bootstrap.sh
                                              -sudo DOKKU_TAG=v0.30.10 bash bootstrap.sh
                                              +wget -NP . https://dokku.com/install/v0.30.11/bootstrap.sh
                                              +sudo DOKKU_TAG=v0.30.11 bash bootstrap.sh
                                               

                                              The installation process takes about 5-10 minutes, depending upon internet connection speed.

                                              2. Setup SSH key and Virtualhost Settings

                                              diff --git a/docs/getting-started/troubleshooting/index.html b/docs/getting-started/troubleshooting/index.html index 47ecec53d..cba8ee3c0 100644 --- a/docs/getting-started/troubleshooting/index.html +++ b/docs/getting-started/troubleshooting/index.html @@ -693,6 +693,8 @@ + + @@ -723,6 +725,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1827,6 +1843,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy @@ -2763,11 +2795,11 @@

                                              I deployed my

                                              For example, if you have an EXPOSE directive like so:

                                              EXPOSE 8000
                                               
                                              -

                                              The proxy port mapping will be http:8000:8000.

                                              +

                                              The port mapping will be http:8000:8000.

                                              To avoid this issue, either of the following can be done:

                                                -
                                              • Remove EXPOSE directive: This will require respecting the $PORT environment variable (automatically set by Dokku). Once that change is deployed, the port mapping should be cleared via the dokku proxy:ports-clear $APP command (where $APP is your app name).
                                              • -
                                              • Update the port mapping: Updating the port mapping to redirect port 80 to your app's exposed port via dokku proxy:ports-set $APP http:80:$EXPOSED_PORT can also fix the issue. This will also allow certificate management and the letsencrypt plugin to work correctly.
                                              • +
                                              • Remove EXPOSE directive: This will require respecting the $PORT environment variable (automatically set by Dokku). Once that change is deployed, the port mapping should be cleared via the dokku ports:clear $APP command (where $APP is your app name).
                                              • +
                                              • Update the port mapping: Updating the port mapping to redirect port 80 to your app's exposed port via dokku ports:set $APP http:80:$EXPOSED_PORT can also fix the issue. This will also allow certificate management and the letsencrypt plugin to work correctly.

                                              See the port management documentation for more information on how Dokku exposes ports for applications and how you can configure these for your app.

                                              I want to deploy my app, but while pushing I get the following error

                                              @@ -2858,13 +2890,11 @@

                                              configuring SSL.

                                              My application deploys properly, but won't load in browser "connection refused"

                                              -

                                              This could be a result of a bad proxy configuration (http:5000:5000 may be incorrect). Run dokku proxy:report myapp to check if your app has the correct proxy configuration. It should show something like the following.

                                              -
                                              =====> myapp proxy information
                                              -       Proxy enabled:                 true
                                              -       Proxy port map:                http:80:5000 https:443:5000
                                              -       Proxy type:                    nginx
                                              +

                                              This could be a result of a bad proxy configuration (http:5000:5000 may be incorrect). Run dokku ports:report node-js-app to check if your app has the correct proxy configuration. It should show something like the following.

                                              +
                                              =====> node-js-app ports information
                                              +       Port map:                http:80:5000 https:443:5000
                                               
                                              -

                                              Set dokku proxy:ports-set front http:80:5000 to get proxy correctly configured for http endpoint.

                                              +

                                              Set dokku ports:set node-js-app http:80:5000 to get proxy correctly configured for http endpoint.

                                              I deployed a new app but now subdomains are miss-routed

                                              Sometimes nginx does something funky and cant actually reload for whatever reason.

                                              # Validate the configuration
                                              diff --git a/docs/getting-started/uninstalling/index.html b/docs/getting-started/uninstalling/index.html
                                              index 68d3e312f..e6a95fa24 100644
                                              --- a/docs/getting-started/uninstalling/index.html
                                              +++ b/docs/getting-started/uninstalling/index.html
                                              @@ -693,6 +693,8 @@
                                                         
                                                       
                                                         
                                              +        
                                              +          
                                                       
                                                         
                                                       
                                              @@ -723,6 +725,20 @@
                                                 
                                                 
                                                 
                                              +    
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1744,6 +1760,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy diff --git a/docs/getting-started/upgrading/index.html b/docs/getting-started/upgrading/index.html index 496e302e4..769e6476c 100644 --- a/docs/getting-started/upgrading/index.html +++ b/docs/getting-started/upgrading/index.html @@ -33,7 +33,7 @@ - + @@ -695,6 +695,8 @@ + + @@ -725,6 +727,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1691,6 +1707,8 @@ + +
                                            • + + OpenResty Proxy + +
                                            • + + + + + + + + +
                                            • Traefik Proxy @@ -2526,6 +2558,7 @@

                                              Security UpdatesMigration Guides

                                              Before upgrading, check the migration guides to get comfortable with new features and prepare your deployment to be upgraded.

                                            • +

                                              Multiple networks can also be specified for the attach-post-create and attach-post-deploy phases.

                                              +
                                              # one or more networks can be specified
                                              +dokku network:set node-js-app attach-post-create test-network test-network-2
                                              +

                                              Setting the attach network property to an empty value will de-associate the container with the network.

                                              -
                                              dokku network:set node-js-app attach-post-create
                                              -dokku network:set node-js-app attach-post-deploy
                                              -dokku network:set node-js-app initial-network
                                              +
                                              dokku network:set node-js-app attach-post-create
                                              +dokku network:set node-js-app attach-post-deploy
                                              +dokku network:set node-js-app initial-network
                                               

                                              The network properties can also be set globally. The global default value is an empty string, and the global value is used when no app-specific value is set.

                                              -
                                              dokku network:set --global attach-post-create global-create-network
                                              -dokku network:set --global attach-post-deploy global-deploy-network
                                              -dokku network:set --global initial-network global-network
                                              +
                                              dokku network:set --global attach-post-create global-create-network
                                              +dokku network:set --global attach-post-deploy global-deploy-network
                                              +dokku network:set --global initial-network global-network
                                               

                                              The default value may be set by passing an empty value for the option.

                                              -
                                              dokku network:set --global attach-post-create
                                              -dokku network:set --global attach-post-deploy
                                              -dokku network:set --global initial-network
                                              +
                                              dokku network:set --global attach-post-create
                                              +dokku network:set --global attach-post-deploy
                                              +dokku network:set --global initial-network
                                               

                                              Network Aliases

                                              @@ -2926,30 +2962,30 @@

                                              Network Aliases
                                              node-js-app.web
                                              +
                                              node-js-app.web
                                               

                                              The fully-qualified URL for the resource will depend upon the PORT being listened to by the application. Applications built via buildpacks will have their PORT environment variable set to 5000, and as such internal network requests for the above example should point to the following:

                                              -
                                              http://node-js-app.web:5000
                                              +
                                              http://node-js-app.web:5000
                                               

                                              Dockerfile-based applications may listen on other ports. For more information on how ports are specified for applications, please refer to the port management documentation.

                                              Specifying a custom TLD

                                              When attaching applications to networks, a custom TLD can be specified via the network:set command. This TLD is suffixed to the network alias for the application/process-type combination for all networks to which the application is attached, and cannot be customized per network. The default value is an empty string.

                                              To specify a TLD of svc.cluster.local for your application, run the following command:

                                              -
                                              # replace node-js-app with your application name
                                              -dokku network:set node-js-app tld svc.cluster.local
                                              +
                                              # replace node-js-app with your application name
                                              +dokku network:set node-js-app tld svc.cluster.local
                                               

                                              With an application named node-js-app and a process-type named web, the above command will turn the network alias into:

                                              -
                                              node-js-app.web.svc.cluster.local
                                              +
                                              node-js-app.web.svc.cluster.local
                                               

                                              Note that this has no impact on container port handling, and users must still specify the container port when making internal network requests.

                                              The default value may be set by passing an empty value for the option:

                                              -
                                              dokku network:set node-js-app tld
                                              +
                                              dokku network:set node-js-app tld
                                               

                                              The tld property can also be set globally. The global default is emty string, and the global value is used when no app-specific value is set.

                                              -
                                              dokku network:set --global tld svc.cluster.local
                                              +
                                              dokku network:set --global tld svc.cluster.local
                                               

                                              The default value may be set by passing an empty value for the option.

                                              -
                                              dokku network:set --global tld
                                              +
                                              dokku network:set --global tld
                                               

                                              When to attach containers to a network

                                              Containers can be attached to a network for a variety of reasons:

                                              @@ -3001,7 +3037,7 @@

                                              When to attach containers to a n

                                              Rebuilding network settings

                                              There are cases where you may need to rebuild the network configuration for an app, such as on app boot or container restart. In these cases, you can use the network:rebuild command:

                                              -
                                              dokku network:rebuild node-js-app
                                              +
                                              dokku network:rebuild node-js-app
                                               

                                              Info

                                              @@ -3009,7 +3045,7 @@

                                              Rebuilding network settingsRebuilding all network settings

                                              In some cases, a docker upgrade may reset container IPs or Ports. In both cases, you can quickly rewrite those files by using the network:rebuildall command:

                                              -
                                              dokku network:rebuildall
                                              +
                                              dokku network:rebuildall
                                               

                                              Info

                                              @@ -3021,117 +3057,117 @@

                                              Container network interface binding

                                              This functionality does not control the --network docker flag. Please use the docker-options plugin to manage this flag.

                                              By default, an app will only bind to the internal interface. This behavior can be modified per app by changing the bind-all-interfaces network property.

                                              -
                                              # bind to the default docker interface (`docker0`) with a random internal ip
                                              -# this is the default behavior
                                              -dokku network:set node-js-app bind-all-interfaces false
                                              -
                                              -# bind to all interfaces (`0.0.0.0`) on a random port for each upstream port
                                              -# this will make the app container directly accessible by other hosts on your network
                                              -# ports are randomized for every deploy, e.g. `0.0.0.0:32771->5000/tcp`.
                                              -dokku network:set node-js-app bind-all-interfaces true
                                              +
                                              # bind to the default docker interface (`docker0`) with a random internal ip
                                              +# this is the default behavior
                                              +dokku network:set node-js-app bind-all-interfaces false
                                              +
                                              +# bind to all interfaces (`0.0.0.0`) on a random port for each upstream port
                                              +# this will make the app container directly accessible by other hosts on your network
                                              +# ports are randomized for every deploy, e.g. `0.0.0.0:32771->5000/tcp`.
                                              +dokku network:set node-js-app bind-all-interfaces true
                                               

                                              By way of example, in the default case, each container is bound to the docker interface:

                                              -
                                              docker ps
                                              +
                                              docker ps
                                               
                                              -
                                              CONTAINER ID        IMAGE                      COMMAND                CREATED              STATUS              PORTS               NAMES
                                              -1b88d8aec3d1        dokku/node-js-app:latest   "/bin/bash -c '/star   About a minute ago   Up About a minute                       node-js-app.web.1
                                              +
                                              CONTAINER ID        IMAGE                      COMMAND                CREATED              STATUS              PORTS               NAMES
                                              +1b88d8aec3d1        dokku/node-js-app:latest   "/bin/bash -c '/star   About a minute ago   Up About a minute                       node-js-app.web.1
                                               

                                              As such, the container's IP address will be an internal IP, and thus it is only accessible on the host itself:

                                              -
                                              docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' node-js-app.web.1
                                              +
                                              docker inspect --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' node-js-app.web.1
                                               
                                              -
                                              172.17.0.6
                                              +
                                              172.17.0.6
                                               

                                              However, you can disable the internal proxying via the network:set command so that it will listen on the host's IP address:

                                              -
                                              dokku network:set node-js-app bind-all-interfaces true
                                              -
                                              -# container bound to all interfaces
                                              -docker ps
                                              +
                                              dokku network:set node-js-app bind-all-interfaces true
                                              +
                                              +# container bound to all interfaces
                                              +docker ps
                                               
                                              -
                                              CONTAINER ID        IMAGE                      COMMAND                CREATED              STATUS              PORTS                     NAMES
                                              -d6499edb0edb        dokku/node-js-app:latest   "/bin/bash -c '/star   About a minute ago   Up About a minute   0.0.0.0:49153->5000/tcp   node-js-app.web.1
                                              +
                                              CONTAINER ID        IMAGE                      COMMAND                CREATED              STATUS              PORTS                     NAMES
                                              +d6499edb0edb        dokku/node-js-app:latest   "/bin/bash -c '/star   About a minute ago   Up About a minute   0.0.0.0:49153->5000/tcp   node-js-app.web.1
                                               

                                              The bind-all-interfaces property can also be set globally. The global default is false, and the global value is used when no app-specific value is set.

                                              -
                                              dokku network:set --global bind-all-interfaces true
                                              +
                                              dokku network:set --global bind-all-interfaces true
                                               

                                              The default value may be set by passing an empty value for the option.

                                              -
                                              dokku network:set --global bind-all-interfaces
                                              +
                                              dokku network:set --global bind-all-interfaces
                                               

                                              Displaying network reports for an app

                                              You can get a report about the app's network status using the network:report command:

                                              -
                                              dokku network:report
                                              +
                                              dokku network:report
                                               
                                              -
                                              =====> node-js-app network information
                                              -       Network attach post create:
                                              -       Network attach post deploy:
                                              -       Network bind all interfaces:   false
                                              -       Network computed attach post create:
                                              -       Network computed attach post deploy:
                                              -       Network computed bind all interfaces:false
                                              -       Network computed initial network:
                                              -       Network computed tld:
                                              -       Network global attach post create:
                                              -       Network global attach post deploy:
                                              -       Network global bind all interfaces:false
                                              -       Network global initial network:
                                              -       Network global tld:
                                              -       Network initial network:
                                              -       Network tld:
                                              -       Network web listeners: 172.17.0.1:5000
                                              -=====> python-sample network information
                                              -       Network attach post create:
                                              -       Network attach post deploy:
                                              -       Network bind all interfaces:   false
                                              -       Network computed attach post create:
                                              -       Network computed attach post deploy:
                                              -       Network computed bind all interfaces:false
                                              -       Network computed initial network:
                                              -       Network computed tld:
                                              -       Network global attach post create:
                                              -       Network global attach post deploy:
                                              -       Network global bind all interfaces:false
                                              -       Network global initial network:
                                              -       Network global tld:
                                              -       Network initial network:
                                              -       Network tld:
                                              -       Network web listeners:          172.17.0.2:5000
                                              -=====> ruby-sample network information
                                              -       Network attach post create:
                                              -       Network attach post deploy:
                                              -       Network bind all interfaces:   false
                                              -       Network computed attach post create:
                                              -       Network computed attach post deploy:
                                              -       Network computed bind all interfaces:false
                                              -       Network computed initial network:
                                              -       Network computed tld:
                                              -       Network global attach post create:
                                              -       Network global attach post deploy:
                                              -       Network global bind all interfaces:false
                                              -       Network global initial network:
                                              -       Network global tld:
                                              -       Network initial network:
                                              -       Network tld:
                                              -       Network web listeners:
                                              +
                                              =====> node-js-app network information
                                              +       Network attach post create:
                                              +       Network attach post deploy:
                                              +       Network bind all interfaces:   false
                                              +       Network computed attach post create:
                                              +       Network computed attach post deploy:
                                              +       Network computed bind all interfaces:false
                                              +       Network computed initial network:
                                              +       Network computed tld:
                                              +       Network global attach post create:
                                              +       Network global attach post deploy:
                                              +       Network global bind all interfaces:false
                                              +       Network global initial network:
                                              +       Network global tld:
                                              +       Network initial network:
                                              +       Network tld:
                                              +       Network web listeners: 172.17.0.1:5000
                                              +=====> python-sample network information
                                              +       Network attach post create:
                                              +       Network attach post deploy:
                                              +       Network bind all interfaces:   false
                                              +       Network computed attach post create:
                                              +       Network computed attach post deploy:
                                              +       Network computed bind all interfaces:false
                                              +       Network computed initial network:
                                              +       Network computed tld:
                                              +       Network global attach post create:
                                              +       Network global attach post deploy:
                                              +       Network global bind all interfaces:false
                                              +       Network global initial network:
                                              +       Network global tld:
                                              +       Network initial network:
                                              +       Network tld:
                                              +       Network web listeners:          172.17.0.2:5000
                                              +=====> ruby-sample network information
                                              +       Network attach post create:
                                              +       Network attach post deploy:
                                              +       Network bind all interfaces:   false
                                              +       Network computed attach post create:
                                              +       Network computed attach post deploy:
                                              +       Network computed bind all interfaces:false
                                              +       Network computed initial network:
                                              +       Network computed tld:
                                              +       Network global attach post create:
                                              +       Network global attach post deploy:
                                              +       Network global bind all interfaces:false
                                              +       Network global initial network:
                                              +       Network global tld:
                                              +       Network initial network:
                                              +       Network tld:
                                              +       Network web listeners:
                                               
                                              @@ -3140,33 +3176,33 @@

                                              Displaying network reports for an
                                              -
                                              dokku network:report node-js-app
                                              +
                                              dokku network:report node-js-app
                                               
                                              -
                                              =====> node-js-app network information
                                              -       Network attach post create:
                                              -       Network attach post deploy:
                                              -       Network bind all interfaces:   false
                                              -       Network computed attach post create:
                                              -       Network computed attach post deploy:
                                              -       Network computed bind all interfaces:false
                                              -       Network computed initial network:
                                              -       Network computed tld:
                                              -       Network global attach post create:
                                              -       Network global attach post deploy:
                                              -       Network global bind all interfaces:false
                                              -       Network global initial network:
                                              -       Network global tld:
                                              -       Network initial network:
                                              -       Network tld:
                                              -       Network web listeners: 172.17.0.1:5000
                                              +
                                              =====> node-js-app network information
                                              +       Network attach post create:
                                              +       Network attach post deploy:
                                              +       Network bind all interfaces:   false
                                              +       Network computed attach post create:
                                              +       Network computed attach post deploy:
                                              +       Network computed bind all interfaces:false
                                              +       Network computed initial network:
                                              +       Network computed tld:
                                              +       Network global attach post create:
                                              +       Network global attach post deploy:
                                              +       Network global bind all interfaces:false
                                              +       Network global initial network:
                                              +       Network global tld:
                                              +       Network initial network:
                                              +       Network tld:
                                              +       Network web listeners: 172.17.0.1:5000
                                               

                                              You can pass flags which will output only the value of the specific information you want. For example:

                                              -
                                              dokku network:report node-js-app --network-bind-all-interfaces
                                              +
                                              dokku network:report node-js-app --network-bind-all-interfaces
                                               
                                              diff --git a/docs/networking/port-management/index.html b/docs/networking/port-management/index.html index b2e52aaaa..ad3479286 100644 --- a/docs/networking/port-management/index.html +++ b/docs/networking/port-management/index.html @@ -691,6 +691,8 @@ + + @@ -721,6 +723,20 @@ +
                                            • + + 0.31.0 Migration Guide + +
                                            • + + + + + + + + +
                                            • 0.30.0 Migration Guide @@ -1688,6 +1704,13 @@
                                            • - - Docker Image + + Displaying ports reports for an app
                                            • @@ -1825,6 +1841,8 @@ + +