From 95f4220448076bb3b6cb582afdba9adf010e4801 Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Thu, 6 May 2021 14:15:21 +0200 Subject: [PATCH] correct nginx --- portainer/rootfs/etc/cont-init.d/30-nginx.sh | 24 ++++++++++++++ portainer/rootfs/etc/cont-init.d/32-nginx | 32 ------------------- portainer/rootfs/etc/nginx/servers/.gitkeep | 1 + .../rootfs/etc/nginx/servers/ingress.conf | 14 -------- .../rootfs/etc/nginx/templates/ingress.gtpl | 17 ++++++++++ 5 files changed, 42 insertions(+), 46 deletions(-) create mode 100644 portainer/rootfs/etc/cont-init.d/30-nginx.sh delete mode 100644 portainer/rootfs/etc/cont-init.d/32-nginx create mode 100644 portainer/rootfs/etc/nginx/servers/.gitkeep delete mode 100644 portainer/rootfs/etc/nginx/servers/ingress.conf create mode 100644 portainer/rootfs/etc/nginx/templates/ingress.gtpl diff --git a/portainer/rootfs/etc/cont-init.d/30-nginx.sh b/portainer/rootfs/etc/cont-init.d/30-nginx.sh new file mode 100644 index 000000000..8cbbfe4de --- /dev/null +++ b/portainer/rootfs/etc/cont-init.d/30-nginx.sh @@ -0,0 +1,24 @@ +#!/usr/bin/with-contenv bashio + +################# +# NGINX SETTING # +################# + +declare admin_port +declare portainer_protocol=http + +# Generate Ingress configuration +if bashio::config.true 'ssl'; then +portainer_protocol=https + +bashio::var.json \ + interface "$(bashio::addon.ip_address)" \ + port "^$(bashio::addon.ingress_port)" \ + protocol "${portainer_protocol}" \ + certfile "$(bashio::config 'certfile')" \ + keyfile "$(bashio::config 'keyfile')" \ + ssl "^$(bashio::config 'ssl')" \ + | tempio \ + -template /etc/nginx/templates/ingress.gtpl \ + -out /etc/nginx/servers/ingress.conf +fi diff --git a/portainer/rootfs/etc/cont-init.d/32-nginx b/portainer/rootfs/etc/cont-init.d/32-nginx deleted file mode 100644 index 4204ba072..000000000 --- a/portainer/rootfs/etc/cont-init.d/32-nginx +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/with-contenv bashio - -################# -# NGINX SETTING # -################# -declare port -declare certfile -declare ingress_interface -declare ingress_port -declare keyfile - -port=$(bashio::addon.port 80) -if bashio::var.has_value "${port}"; 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 -fi - -ingress_port=$(bashio::addon.ingress_port) -ingress_interface=$(bashio::addon.ip_address) -sed -i "s/%%port%%/${ingress_port}/g" /etc/nginx/servers/ingress.conf -sed -i "s/%%interface%%/${ingress_interface}/g" /etc/nginx/servers/ingress.conf diff --git a/portainer/rootfs/etc/nginx/servers/.gitkeep b/portainer/rootfs/etc/nginx/servers/.gitkeep new file mode 100644 index 000000000..85ad51be5 --- /dev/null +++ b/portainer/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) diff --git a/portainer/rootfs/etc/nginx/servers/ingress.conf b/portainer/rootfs/etc/nginx/servers/ingress.conf deleted file mode 100644 index 2a3b39e5c..000000000 --- a/portainer/rootfs/etc/nginx/servers/ingress.conf +++ /dev/null @@ -1,14 +0,0 @@ -server { - listen %%interface%%:1337 default_server; - - include /etc/nginx/includes/server_params.conf; - include /etc/nginx/includes/proxy_params.conf; - - location / { - proxy_pass http://backend/; - } - - location /portainer/ws/ { - proxy_pass http://backend/ws/; - } -} diff --git a/portainer/rootfs/etc/nginx/templates/ingress.gtpl b/portainer/rootfs/etc/nginx/templates/ingress.gtpl new file mode 100644 index 000000000..f7dc63ce6 --- /dev/null +++ b/portainer/rootfs/etc/nginx/templates/ingress.gtpl @@ -0,0 +1,17 @@ +server { + listen {{ .interface }}:{{ .port }} default_server; + server_name vue.torrent; + include /etc/nginx/includes/server_params.conf; + include /etc/nginx/includes/proxy_params.conf; + + location / { + root /vuetorrent/public/; + } + + location /api { + proxy_pass {{ .protocol }}://backend; + http2_push_preload on; + client_max_body_size 10M; + } + +}