Merge pull request #3971 from dokku/3674-customize-dokku-conf
feat: allow users to customize the source of the dokku.conf nginx template
This commit is contained in:
4
debian/control
vendored
4
debian/control
vendored
@@ -3,9 +3,9 @@ Version: 0.20.4
|
|||||||
Section: web
|
Section: web
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Architecture: amd64
|
Architecture: amd64
|
||||||
Depends: locales, git, cpio, curl, man-db, netcat, sshcommand (>= 0.10.0), gliderlabs-sigil, docker-engine-cs (>= 1.13.0) | docker-engine (>= 1.13.0) | docker-io (>= 1.13.0) | docker.io (>= 1.13.0) | docker-ce (>= 1.13.0) | docker-ee (>= 1.13.0), net-tools, software-properties-common, procfile-util, python-software-properties | python3-software-properties, rsyslog, dos2unix, jq
|
Depends: locales, git, cpio, curl, man-db, netcat, sshcommand (>= 0.10.0), docker-engine-cs (>= 1.13.0) | docker-engine (>= 1.13.0) | docker-io (>= 1.13.0) | docker.io (>= 1.13.0) | docker-ce (>= 1.13.0) | docker-ee (>= 1.13.0), net-tools, software-properties-common, procfile-util, python-software-properties | python3-software-properties, rsyslog, dos2unix, jq
|
||||||
Recommends: herokuish (>= 0.3.4), parallel, dokku-update, dokku-event-listener
|
Recommends: herokuish (>= 0.3.4), parallel, dokku-update, dokku-event-listener
|
||||||
Pre-Depends: nginx (>= 1.8.0) | openresty, dnsutils, cgroupfs-mount | cgroup-lite, plugn (>= 0.3.0), sudo, python3, debconf
|
Pre-Depends: gliderlabs-sigil, nginx (>= 1.8.0) | openresty, dnsutils, cgroupfs-mount | cgroup-lite, plugn (>= 0.3.0), sudo, python3, debconf
|
||||||
Maintainer: Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>
|
Maintainer: Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>
|
||||||
Description: Docker-powered PaaS that helps build and manage the lifecycle of applications
|
Description: Docker-powered PaaS that helps build and manage the lifecycle of applications
|
||||||
Dokku is an extensible, open source Platform as a Service
|
Dokku is an extensible, open source Platform as a Service
|
||||||
|
|||||||
@@ -854,6 +854,21 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
|||||||
# TODO
|
# TODO
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### `nginx-dokku-template-source`
|
||||||
|
|
||||||
|
- Description: Customize the source location of the `dokku.conf` nginx configuration file
|
||||||
|
- Invoked by: `nginx-vhosts#install`
|
||||||
|
- Arguments:
|
||||||
|
- Example:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
```
|
||||||
|
|
||||||
### `nginx-hostname`
|
### `nginx-hostname`
|
||||||
|
|
||||||
- Description: Allows you to customize the hostname for a given app
|
- Description: Allows you to customize the hostname for a given app
|
||||||
|
|||||||
1
plugins/20_events/nginx-dokku-template-source
Symbolic link
1
plugins/20_events/nginx-dokku-template-source
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
hook
|
||||||
@@ -61,20 +61,14 @@ trigger-nginx-vhosts-install() {
|
|||||||
mkdir -p "$NGINX_ROOT/conf.d"
|
mkdir -p "$NGINX_ROOT/conf.d"
|
||||||
chown root:root "$NGINX_ROOT/dhparam.pem"
|
chown root:root "$NGINX_ROOT/dhparam.pem"
|
||||||
chown root:root "$NGINX_ROOT/conf.d"
|
chown root:root "$NGINX_ROOT/conf.d"
|
||||||
cat <<EOF >"$NGINX_ROOT/conf.d/dokku.conf"
|
# cat <<EOF >"$NGINX_ROOT/conf.d/dokku.conf"
|
||||||
include $DOKKU_ROOT/*/nginx.conf;
|
local DOKKU_TEMPLATE="$PLUGIN_AVAILABLE_PATH/nginx-vhosts/templates/dokku.conf.sigil"
|
||||||
|
CUSTOM_DOKKU_TEMPLATE="$(plugn trigger nginx-dokku-template-source)"
|
||||||
|
if [[ -n "$CUSTOM_DOKKU_TEMPLATE" ]] && [[ -f "$CUSTOM_DOKKU_TEMPLATE" ]]; then
|
||||||
|
DOKKU_TEMPLATE="$CUSTOM_DOKKU_TEMPLATE"
|
||||||
|
fi
|
||||||
|
|
||||||
server_tokens off;
|
sigil -f "$DOKKU_TEMPLATE" DOKKU_ROOT="$DOKKU_ROOT" NGINX_ROOT="$NGINX_ROOT" | cat -s >"$NGINX_ROOT/conf.d/dokku.conf"
|
||||||
|
|
||||||
# Settings from https://mozilla.github.io/server-side-tls/ssl-config-generator/
|
|
||||||
ssl_session_cache shared:SSL:20m;
|
|
||||||
ssl_session_timeout 1d;
|
|
||||||
ssl_session_tickets off;
|
|
||||||
|
|
||||||
ssl_dhparam $NGINX_ROOT/dhparam.pem;
|
|
||||||
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# allow users to override their server_names_hash_bucket_size
|
# allow users to override their server_names_hash_bucket_size
|
||||||
if [[ ! -f "$NGINX_ROOT/conf.d/server_names_hash_bucket_size.conf" ]]; then
|
if [[ ! -f "$NGINX_ROOT/conf.d/server_names_hash_bucket_size.conf" ]]; then
|
||||||
|
|||||||
11
plugins/nginx-vhosts/templates/dokku.conf.sigil
Normal file
11
plugins/nginx-vhosts/templates/dokku.conf.sigil
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
include {{ $.DOKKU_ROOT }}/*/nginx.conf;
|
||||||
|
|
||||||
|
server_tokens off;
|
||||||
|
|
||||||
|
# Settings from https://mozilla.github.io/server-side-tls/ssl-config-generator/
|
||||||
|
ssl_session_cache shared:SSL:20m;
|
||||||
|
ssl_session_timeout 1d;
|
||||||
|
ssl_session_tickets off;
|
||||||
|
|
||||||
|
ssl_dhparam {{ $.NGINX_ROOT }}/dhparam.pem;
|
||||||
|
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
|
||||||
Reference in New Issue
Block a user