From dde1531f4242b2a23049475eaf7354cb11e09cd3 Mon Sep 17 00:00:00 2001 From: Achilleas Pipinellis Date: Sun, 1 Oct 2017 12:09:22 +0200 Subject: [PATCH 01/71] Clarify the minimum Nginx version for HTTP/2 support Add docs for https://github.com/dokku/dokku/pull/2496 [ci skip] --- docs/configuration/ssl.md | 6 +++++- docs/getting-started/installation.md | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/configuration/ssl.md b/docs/configuration/ssl.md index de04c3348..5d2651218 100644 --- a/docs/configuration/ssl.md +++ b/docs/configuration/ssl.md @@ -117,6 +117,10 @@ The [HSTS header](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) Beware that if you enable the header and a subsequent deploy of your application results in an HTTP deploy (for whatever reason), the way the header works means that a browser will not attempt to request the HTTP version of your site if the HTTPS version fails. +## HTTP/2 support + +Certain versions of nginx have bugs that prevent [HTTP/2](https://nginx.org/en/docs/http/ngx_http_v2_module.html) 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](https://github.com/dokku/dokku/issues/2435) for more details. + ## Running behind a load balancer Your application has access to the HTTP headers `X-Forwarded-Proto`, `X-Forwarded-Port` and `X-Forwarded-For`. These headers indicate the protocol of the original request (HTTP or HTTPS), the port number, and the IP address of the client making the request, respectively. The default configuration is for Nginx to set these headers. @@ -162,4 +166,4 @@ This could result in security issue, for example, if your application looks at t ### 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 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 proxy:ports-add https:443:99999`. diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 832fb0c53..280681e78 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -25,9 +25,9 @@ wget https://raw.githubusercontent.com/dokku/dokku/v0.10.4/bootstrap.sh; sudo DOKKU_TAG=v0.10.4 bash bootstrap.sh ``` -The installation process takes about 5-10 minutes, depending upon internet connection speed. +The installation process takes about 5-10 minutes, depending upon internet connection speed. -If you're using Debian 8 or Ubuntu 14.04, make sure your package manager is configured to install a sufficiently recent version of nginx[3], otherwise, the installation may fail due to "unmet dependencies" relating nginx. +If you're using Debian 8 or Ubuntu 14.04, make sure your package manager is configured to install a sufficiently recent version of nginx[3], otherwise, the installation may fail due to "unmet dependencies" relating nginx. For [HTTP/2 support](configuration/ssl.md#http2-support), nginx >= 1.11.5[4] is required. #### 2. Setup SSH key and Virtualhost Settings @@ -61,3 +61,4 @@ As well, you may wish to customize your installation in some other fashion. or e - [1]: To check whether your system has an fqdn set, run `sudo hostname -f` - [2]: If your system has less than 1GB of memory, you can use [this workaround](/docs/getting-started/advanced-installation.md#vms-with-less-than-1gb-of-memory). - [3]: nginx >= 1.8.0 can be installed by enabling backports, or by adding [this PPA](https://launchpad.net/~nginx/+archive/ubuntu/stable) if you're using Ubuntu. +- [4]: nginx >= 1.11.5 can be installed by using the [nginx repositories](https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/), or by adding [this PPA](https://launchpad.net/~nginx/+archive/ubuntu/stable) if you're using Ubuntu. From 160a5c97601aa919f053b6410c3b5be150ba9a38 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 1 Oct 2017 14:42:07 -0400 Subject: [PATCH 02/71] fix: use a colon instead of a slash for remotes Using a slash is broken as it will assume that is part of the remote name. [ci skip] --- docs/deployment/application-deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deployment/application-deployment.md b/docs/deployment/application-deployment.md index bcad98b44..f9f33293f 100644 --- a/docs/deployment/application-deployment.md +++ b/docs/deployment/application-deployment.md @@ -60,7 +60,7 @@ git push dokku master ``` > Note: Some tools may not support the short-upstream syntax referenced above, and you may need to prefix -> the upstream with the scheme `ssh://` like so: `ssh://dokku@dokku.me/ruby-rails-sample` +> the upstream with the scheme `ssh://` like so: `ssh://dokku@dokku.me:ruby-rails-sample` > Please see the [Git](https://git-scm.com/docs/git-clone#_git_urls_a_id_urls_a) documentation for more details. ``` From e6f7d4a732da09ea0eef3515ff6cc3f49947a3be Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 1 Oct 2017 14:46:20 -0400 Subject: [PATCH 03/71] docs: remove unnecessary doc explanation [ci skip] --- docs/getting-started/installation.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md index 280681e78..76bb3ab1b 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -27,7 +27,7 @@ sudo DOKKU_TAG=v0.10.4 bash bootstrap.sh The installation process takes about 5-10 minutes, depending upon internet connection speed. -If you're using Debian 8 or Ubuntu 14.04, make sure your package manager is configured to install a sufficiently recent version of nginx[3], otherwise, the installation may fail due to "unmet dependencies" relating nginx. For [HTTP/2 support](configuration/ssl.md#http2-support), nginx >= 1.11.5[4] is required. +If you're using Debian 8 or Ubuntu 14.04, make sure your package manager is configured to install a sufficiently recent version of nginx[3], otherwise, the installation may fail due to "unmet dependencies" relating nginx. #### 2. Setup SSH key and Virtualhost Settings @@ -60,5 +60,4 @@ As well, you may wish to customize your installation in some other fashion. or e - [1]: To check whether your system has an fqdn set, run `sudo hostname -f` - [2]: If your system has less than 1GB of memory, you can use [this workaround](/docs/getting-started/advanced-installation.md#vms-with-less-than-1gb-of-memory). -- [3]: nginx >= 1.8.0 can be installed by enabling backports, or by adding [this PPA](https://launchpad.net/~nginx/+archive/ubuntu/stable) if you're using Ubuntu. -- [4]: nginx >= 1.11.5 can be installed by using the [nginx repositories](https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/), or by adding [this PPA](https://launchpad.net/~nginx/+archive/ubuntu/stable) if you're using Ubuntu. +- [3]: nginx >= 1.8.0 can be installed via the [nginx repositories](https://www.nginx.com/resources/admin-guide/installing-nginx-open-source/), or by adding [this PPA](https://launchpad.net/~nginx/+archive/ubuntu/stable) if you're using Ubuntu. nginx >= 1.11.5 is necessary for HTTP/2 support From 5b3506584ae3963971c1c455b63942237f5bd4b8 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 1 Oct 2017 15:12:30 -0400 Subject: [PATCH 04/71] Release 0.10.5 # History ## 0.10.5 ### Bug Fixes - #2912: @josegonzalez Add missing depends statement for rsyslog - #2906: @manuel-colmenero Check the location of nginx in a central way - #2895: @josegonzalez cd to app directory when calling git worktree add ### Documentation - #2922: @axilleas Clarify the minimum Nginx version for HTTP/2 support - #2919: @wootwoot1234 Update nginx documentation surrounding file uploading for php buildpack users - #2913: @znz Fix a typo in the rpm release script - #2910: @buckle2000 Add a note about using the full git url for non-compliant toolchains --- HISTORY.md | 15 ++++++++ README.md | 4 +- contrib/dokku-installer.py | 2 +- debian/control | 2 +- docs/advanced-usage/plugin-management.md | 48 ++++++++++++------------ docs/assets/favicons/browserconfig.xml | 8 ++-- docs/assets/favicons/manifest.json | 12 +++--- docs/assets/style.css | 4 +- docs/assets/versions.json | 2 +- docs/development/release-process.md | 2 +- docs/getting-started/installation.md | 4 +- docs/home.html | 40 ++++++++++---------- docs/template.html | 36 +++++++++--------- plugins/00_dokku-standard/plugin.toml | 2 +- plugins/20_events/plugin.toml | 2 +- plugins/apps/plugin.toml | 2 +- plugins/build-env/plugin.toml | 2 +- plugins/certs/plugin.toml | 2 +- plugins/checks/plugin.toml | 2 +- plugins/common/plugin.toml | 2 +- plugins/config/plugin.toml | 2 +- plugins/docker-options/plugin.toml | 2 +- plugins/domains/plugin.toml | 2 +- plugins/enter/plugin.toml | 2 +- plugins/git/plugin.toml | 2 +- plugins/logs/plugin.toml | 2 +- plugins/named-containers/plugin.toml | 2 +- plugins/nginx-vhosts/plugin.toml | 2 +- plugins/plugin/plugin.toml | 2 +- plugins/proxy/plugin.toml | 2 +- plugins/ps/plugin.toml | 2 +- plugins/repo/plugin.toml | 2 +- plugins/shell/plugin.toml | 2 +- plugins/ssh-keys/plugin.toml | 2 +- plugins/storage/plugin.toml | 2 +- plugins/tags/plugin.toml | 2 +- plugins/tar/plugin.toml | 2 +- 37 files changed, 121 insertions(+), 106 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 9c8b19bca..4d795e9e9 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,20 @@ # History +## 0.10.5 + +### Bug Fixes + +- #2912: @josegonzalez Add missing depends statement for rsyslog +- #2906: @manuel-colmenero Check the location of nginx in a central way +- #2895: @josegonzalez cd to app directory when calling git worktree add + +### Documentation + +- #2922: @axilleas Clarify the minimum Nginx version for HTTP/2 support +- #2919: @wootwoot1234 Update nginx documentation surrounding file uploading for php buildpack users +- #2913: @znz Fix a typo in the rpm release script +- #2910: @buckle2000 Add a note about using the full git url for non-compliant toolchains + ## 0.10.4 ### Bug Fixes diff --git a/README.md b/README.md index 0f0917dc0..95e2cd15a 100644 --- a/README.md +++ b/README.md @@ -99,8 +99,8 @@ A fresh VM running any of the following operating systems: To install the latest stable release, run the following commands as a user who has access to `sudo`: ```shell -wget https://raw.githubusercontent.com/dokku/dokku/v0.10.4/bootstrap.sh -sudo DOKKU_TAG=v0.10.4 bash bootstrap.sh +wget https://raw.githubusercontent.com/dokku/dokku/v0.10.5/bootstrap.sh +sudo DOKKU_TAG=v0.10.5 bash bootstrap.sh ``` You can then proceed to the ip address or domain name associated with your server to complete the web-based installation. diff --git a/contrib/dokku-installer.py b/contrib/dokku-installer.py index 2c6be2318..38fcabfa2 100755 --- a/contrib/dokku-installer.py +++ b/contrib/dokku-installer.py @@ -10,7 +10,7 @@ import subprocess import sys import threading -VERSION = 'v0.10.4' +VERSION = 'v0.10.5' hostname = '' try: diff --git a/debian/control b/debian/control index b2df67793..7ed5a88f3 100644 --- a/debian/control +++ b/debian/control @@ -1,5 +1,5 @@ Package: dokku -Version: 0.10.4 +Version: 0.10.5 Section: web Priority: optional Architecture: amd64 diff --git a/docs/advanced-usage/plugin-management.md b/docs/advanced-usage/plugin-management.md index ecf7a4bc9..618ed0302 100644 --- a/docs/advanced-usage/plugin-management.md +++ b/docs/advanced-usage/plugin-management.md @@ -31,30 +31,30 @@ dokku plugin ``` plugn: dev - 00_dokku-standard 0.10.4 enabled dokku core standard plugin - 20_events 0.10.4 enabled dokku core events logging plugin - apps 0.10.4 enabled dokku core apps plugin - build-env 0.10.4 enabled dokku core build-env plugin - certs 0.10.4 enabled dokku core certificate management plugin - checks 0.10.4 enabled dokku core checks plugin - common 0.10.4 enabled dokku core common plugin - config 0.10.4 enabled dokku core config plugin - docker-options 0.10.4 enabled dokku core docker-options plugin - domains 0.10.4 enabled dokku core domains plugin - enter 0.10.4 enabled dokku core enter plugin - git 0.10.4 enabled dokku core git plugin - logs 0.10.4 enabled dokku core logs plugin - named-containers 0.10.4 enabled dokku core named containers plugin - nginx-vhosts 0.10.4 enabled dokku core nginx-vhosts plugin - plugin 0.10.4 enabled dokku core plugin plugin - proxy 0.10.4 enabled dokku core proxy plugin - ps 0.10.4 enabled dokku core ps plugin - repo 0.10.4 enabled dokku core repo plugin - shell 0.10.4 enabled dokku core shell plugin - ssh-keys 0.10.4 enabled dokku core ssh-keys plugin - storage 0.10.4 enabled dokku core storage plugin - tags 0.10.4 enabled dokku core tags plugin - tar 0.10.4 enabled dokku core tar plugin + 00_dokku-standard 0.10.5 enabled dokku core standard plugin + 20_events 0.10.5 enabled dokku core events logging plugin + apps 0.10.5 enabled dokku core apps plugin + build-env 0.10.5 enabled dokku core build-env plugin + certs 0.10.5 enabled dokku core certificate management plugin + checks 0.10.5 enabled dokku core checks plugin + common 0.10.5 enabled dokku core common plugin + config 0.10.5 enabled dokku core config plugin + docker-options 0.10.5 enabled dokku core docker-options plugin + domains 0.10.5 enabled dokku core domains plugin + enter 0.10.5 enabled dokku core enter plugin + git 0.10.5 enabled dokku core git plugin + logs 0.10.5 enabled dokku core logs plugin + named-containers 0.10.5 enabled dokku core named containers plugin + nginx-vhosts 0.10.5 enabled dokku core nginx-vhosts plugin + plugin 0.10.5 enabled dokku core plugin plugin + proxy 0.10.5 enabled dokku core proxy plugin + ps 0.10.5 enabled dokku core ps plugin + repo 0.10.5 enabled dokku core repo plugin + shell 0.10.5 enabled dokku core shell plugin + ssh-keys 0.10.5 enabled dokku core ssh-keys plugin + storage 0.10.5 enabled dokku core storage plugin + tags 0.10.5 enabled dokku core tags plugin + tar 0.10.5 enabled dokku core tar plugin ``` Installing a plugin is easy as well using the `plugin:install` command. This command will also trigger the `install` pluginhook on all existing plugins. diff --git a/docs/assets/favicons/browserconfig.xml b/docs/assets/favicons/browserconfig.xml index cae873690..941a0d0a5 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 36db45984..83c626e10 100644 --- a/docs/assets/favicons/manifest.json +++ b/docs/assets/favicons/manifest.json @@ -2,37 +2,37 @@ "name": "Dokku", "icons": [ { - "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.4\/docs\/assets\/favicons\/android-chrome-36x36.png", + "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.5\/docs\/assets\/favicons\/android-chrome-36x36.png", "sizes": "36x36", "type": "image\/png", "density": "0.75" }, { - "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.4\/docs\/assets\/favicons\/android-chrome-48x48.png", + "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.5\/docs\/assets\/favicons\/android-chrome-48x48.png", "sizes": "48x48", "type": "image\/png", "density": "1.0" }, { - "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.4\/docs\/assets\/favicons\/android-chrome-72x72.png", + "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.5\/docs\/assets\/favicons\/android-chrome-72x72.png", "sizes": "72x72", "type": "image\/png", "density": "1.5" }, { - "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.4\/docs\/assets\/favicons\/android-chrome-96x96.png", + "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.5\/docs\/assets\/favicons\/android-chrome-96x96.png", "sizes": "96x96", "type": "image\/png", "density": "2.0" }, { - "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.4\/docs\/assets\/favicons\/android-chrome-144x144.png", + "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.5\/docs\/assets\/favicons\/android-chrome-144x144.png", "sizes": "144x144", "type": "image\/png", "density": "3.0" }, { - "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.4\/docs\/assets\/favicons\/android-chrome-192x192.png", + "src": "https:\/\/cdn.rawgit.com\/progrium\/dokku\/v0.10.5\/docs\/assets\/favicons\/android-chrome-192x192.png", "sizes": "192x192", "type": "image\/png", "density": "4.0" diff --git a/docs/assets/style.css b/docs/assets/style.css index 64c50df12..dab6efbe9 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -35,13 +35,13 @@ h1 { background-repeat: no-repeat; } .header .navbar-brand a { - background-image: url(https://cdn.rawgit.com/dokku/dokku/v0.10.4/docs/assets/dokku.png); + background-image: url(https://cdn.rawgit.com/dokku/dokku/v0.10.5/docs/assets/dokku.png); text-indent: 40px; } .blurb { color: #424242; background-color: #ededed; - background-image: url(https://cdn.rawgit.com/dokku/dokku/v0.10.4/docs/assets/gplaypattern.png); + background-image: url(https://cdn.rawgit.com/dokku/dokku/v0.10.5/docs/assets/gplaypattern.png); padding: 45px 0; text-align: center; } diff --git a/docs/assets/versions.json b/docs/assets/versions.json index 31ae0dea3..076eb6d9c 100644 --- a/docs/assets/versions.json +++ b/docs/assets/versions.json @@ -7,6 +7,6 @@ "0.7.2", "0.8.2", "0.9.4", - "0.10.4" + "0.10.5" ] } diff --git a/docs/development/release-process.md b/docs/development/release-process.md index 5eef03826..f4be7f759 100644 --- a/docs/development/release-process.md +++ b/docs/development/release-process.md @@ -67,7 +67,7 @@ The workflow looks like this: ```shell # having dokku-arch in ../dokku-arch vagrant up build-arch -# wait for "==> build-arch: ==> Finished making: dokku 0.10.4-2 (Mon Feb 22 23:20:37 CET 2016)" +# wait for "==> build-arch: ==> Finished making: dokku 0.10.5-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/getting-started/installation.md b/docs/getting-started/installation.md index 76bb3ab1b..49d2460b9 100644 --- a/docs/getting-started/installation.md +++ b/docs/getting-started/installation.md @@ -21,8 +21,8 @@ To install the latest stable version of dokku, you can run the following shell c ```shell # for debian systems, installs Dokku via apt-get -wget https://raw.githubusercontent.com/dokku/dokku/v0.10.4/bootstrap.sh; -sudo DOKKU_TAG=v0.10.4 bash bootstrap.sh +wget https://raw.githubusercontent.com/dokku/dokku/v0.10.5/bootstrap.sh; +sudo DOKKU_TAG=v0.10.5 bash bootstrap.sh ``` The installation process takes about 5-10 minutes, depending upon internet connection speed. diff --git a/docs/home.html b/docs/home.html index 037851209..e11a4ae6f 100644 --- a/docs/home.html +++ b/docs/home.html @@ -10,30 +10,30 @@ Dokku - The smallest PaaS implementation you've ever seen - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - + @@ -98,12 +98,12 @@

$ - wget https://raw.githubusercontent.com/dokku/dokku/v0.10.4/bootstrap.sh + wget https://raw.githubusercontent.com/dokku/dokku/v0.10.5/bootstrap.sh

$ - sudo DOKKU_TAG=v0.10.4 bash bootstrap.sh + sudo DOKKU_TAG=v0.10.5 bash bootstrap.sh

 # go to your server's IP and follow the web installer diff --git a/docs/template.html b/docs/template.html index a2b971f49..46dd4be7e 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - The smallest PaaS implementation you've ever seen - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + - +