From 4b56417a7ca842d9b108dc5cf31638f786b4eacf Mon Sep 17 00:00:00 2001 From: Paul Sinclair Date: Mon, 15 Feb 2021 11:37:53 -0500 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=94=A8=20Refactor=20nginx=20config=20?= =?UTF-8?q?with=20template?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bookstack/config.json | 1 - bookstack/rootfs/etc/cont-init.d/nginx.sh | 29 ++++++------------- .../rootfs/etc/nginx/includes/resolver.conf | 1 - bookstack/rootfs/etc/nginx/nginx.conf | 8 ----- bookstack/rootfs/etc/nginx/servers/.gitkeep | 1 + .../etc/nginx/servers/direct-ssl.disabled | 11 ------- .../rootfs/etc/nginx/servers/direct.disabled | 7 ----- .../rootfs/etc/nginx/templates/direct.gtpl | 25 ++++++++++++++++ 8 files changed, 35 insertions(+), 48 deletions(-) delete mode 100644 bookstack/rootfs/etc/nginx/includes/resolver.conf create mode 100644 bookstack/rootfs/etc/nginx/servers/.gitkeep delete mode 100644 bookstack/rootfs/etc/nginx/servers/direct-ssl.disabled delete mode 100644 bookstack/rootfs/etc/nginx/servers/direct.disabled create mode 100644 bookstack/rootfs/etc/nginx/templates/direct.gtpl diff --git a/bookstack/config.json b/bookstack/config.json index 66516e9..8f5c484 100644 --- a/bookstack/config.json +++ b/bookstack/config.json @@ -7,7 +7,6 @@ "webui": "[PROTO:ssl]://[HOST]:[PORT:80]", "init": false, "arch": ["aarch64", "amd64", "armhf", "armv7", "i386"], - "hassio_api": true, "services": ["mysql:want"], "map": ["ssl"], "ports": { diff --git a/bookstack/rootfs/etc/cont-init.d/nginx.sh b/bookstack/rootfs/etc/cont-init.d/nginx.sh index 5640641..01e30d9 100644 --- a/bookstack/rootfs/etc/cont-init.d/nginx.sh +++ b/bookstack/rootfs/etc/cont-init.d/nginx.sh @@ -3,27 +3,16 @@ # Home Assistant Community Add-on: Bookstack # This file configures nginx # ============================================================================== -declare admin_port declare certfile -declare dns_host declare keyfile -admin_port=$(bashio::addon.port 80) -if bashio::var.has_value "${admin_port}"; then +if bashio::var.has_value "$(bashio::addon.port 80)"; then bashio::config.require.ssl - - if bashio::config.true 'ssl'; then - certfile=$(bashio::config 'certfile') - keyfile=$(bashio::config 'keyfile') - - mv /etc/nginx/servers/direct-ssl.disabled /etc/nginx/servers/direct.conf - sed -i "s#%%certfile%%#${certfile}#g" /etc/nginx/servers/direct.conf - sed -i "s#%%keyfile%%#${keyfile}#g" /etc/nginx/servers/direct.conf - else - mv /etc/nginx/servers/direct.disabled /etc/nginx/servers/direct.conf - fi - sed -i "s/%%port%%/80/g" /etc/nginx/servers/direct.conf -fi - -dns_host=$(bashio::dns.host) -sed -i "s/%%dns_host%%/${dns_host}/g" /etc/nginx/includes/resolver.conf + bashio::var.json \ + certfile "$(bashio::config 'certfile')" \ + keyfile "$(bashio::config 'keyfile')" \ + ssl "^$(bashio::config 'ssl')" \ + | tempio \ + -template /etc/nginx/templates/direct.gtpl \ + -out /etc/nginx/servers/direct.conf +fi \ No newline at end of file diff --git a/bookstack/rootfs/etc/nginx/includes/resolver.conf b/bookstack/rootfs/etc/nginx/includes/resolver.conf deleted file mode 100644 index d864899..0000000 --- a/bookstack/rootfs/etc/nginx/includes/resolver.conf +++ /dev/null @@ -1 +0,0 @@ -resolver %%dns_host%%; diff --git a/bookstack/rootfs/etc/nginx/nginx.conf b/bookstack/rootfs/etc/nginx/nginx.conf index 7ae5c82..b19a3c7 100644 --- a/bookstack/rootfs/etc/nginx/nginx.conf +++ b/bookstack/rootfs/etc/nginx/nginx.conf @@ -16,13 +16,6 @@ pcre_jit on; # Write error log to the add-on log. error_log /proc/1/fd/1 error; -# Load allowed environment vars -env SUPERVISOR_TOKEN; -env DISABLE_HA_AUTHENTICATION; - -# Load dynamic modules. -include /etc/nginx/modules/*.conf; - # Max num of simultaneous connections by a worker process. events { worker_connections 512; @@ -50,7 +43,6 @@ http { '' close; } - include /etc/nginx/includes/resolver.conf; include /etc/nginx/includes/upstream.conf; include /etc/nginx/servers/*.conf; diff --git a/bookstack/rootfs/etc/nginx/servers/.gitkeep b/bookstack/rootfs/etc/nginx/servers/.gitkeep new file mode 100644 index 0000000..eafb2f6 --- /dev/null +++ b/bookstack/rootfs/etc/nginx/servers/.gitkeep @@ -0,0 +1 @@ +Without requirements or design, programming is the art of adding bugs to an empty text file. (Louis Srygley) \ No newline at end of file diff --git a/bookstack/rootfs/etc/nginx/servers/direct-ssl.disabled b/bookstack/rootfs/etc/nginx/servers/direct-ssl.disabled deleted file mode 100644 index 48ed765..0000000 --- a/bookstack/rootfs/etc/nginx/servers/direct-ssl.disabled +++ /dev/null @@ -1,11 +0,0 @@ -server { - listen 80 default_server ssl http2; - - include /etc/nginx/includes/server_params.conf; - include /etc/nginx/includes/ssl_params.conf; - include /etc/nginx/includes/php.conf; - - ssl_certificate /ssl/%%certfile%%; - ssl_certificate_key /ssl/%%keyfile%%; - -} diff --git a/bookstack/rootfs/etc/nginx/servers/direct.disabled b/bookstack/rootfs/etc/nginx/servers/direct.disabled deleted file mode 100644 index a0eab1f..0000000 --- a/bookstack/rootfs/etc/nginx/servers/direct.disabled +++ /dev/null @@ -1,7 +0,0 @@ -server { - listen 80 default_server; - - include /etc/nginx/includes/server_params.conf; - include /etc/nginx/includes/php.conf; - -} diff --git a/bookstack/rootfs/etc/nginx/templates/direct.gtpl b/bookstack/rootfs/etc/nginx/templates/direct.gtpl new file mode 100644 index 0000000..65f8e2e --- /dev/null +++ b/bookstack/rootfs/etc/nginx/templates/direct.gtpl @@ -0,0 +1,25 @@ +server { + {{ if not .ssl }} + listen 80 default_server; + {{ else }} + listen 80 default_server ssl http2; + {{ end }} + + include /etc/nginx/includes/server_params.conf; + include /etc/nginx/includes/php.conf; + + {{ if .ssl }} + include /etc/nginx/includes/ssl_params.conf; + + ssl_certificate /ssl/{{ .certfile }}; + ssl_certificate_key /ssl/{{ .keyfile }}; + {{ end }} + + location ~ .php$ { + fastcgi_pass 127.0.0.1:9001; + fastcgi_read_timeout 900; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + } +} From 167ab6e971893d1502135808fa3f7355e5317c32 Mon Sep 17 00:00:00 2001 From: Paul Sinclair Date: Mon, 15 Feb 2021 11:45:28 -0500 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=94=A8=20Linting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bookstack/rootfs/etc/cont-init.d/nginx.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/bookstack/rootfs/etc/cont-init.d/nginx.sh b/bookstack/rootfs/etc/cont-init.d/nginx.sh index 01e30d9..e190b97 100644 --- a/bookstack/rootfs/etc/cont-init.d/nginx.sh +++ b/bookstack/rootfs/etc/cont-init.d/nginx.sh @@ -3,8 +3,6 @@ # Home Assistant Community Add-on: Bookstack # This file configures nginx # ============================================================================== -declare certfile -declare keyfile if bashio::var.has_value "$(bashio::addon.port 80)"; then bashio::config.require.ssl @@ -15,4 +13,4 @@ if bashio::var.has_value "$(bashio::addon.port 80)"; then | tempio \ -template /etc/nginx/templates/direct.gtpl \ -out /etc/nginx/servers/direct.conf -fi \ No newline at end of file +fi