From 79a0f6c73c15aad542891d583b8d34acd8f9486e Mon Sep 17 00:00:00 2001 From: blowk <2361395+blowk@users.noreply.github.com> Date: Fri, 6 Oct 2023 13:10:45 +0200 Subject: [PATCH 01/14] Create direct.conf --- .../rootfs/etc/nginx/servers/direct.conf | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 tandoor_recipes/rootfs/etc/nginx/servers/direct.conf diff --git a/tandoor_recipes/rootfs/etc/nginx/servers/direct.conf b/tandoor_recipes/rootfs/etc/nginx/servers/direct.conf new file mode 100644 index 000000000..5dcb0921d --- /dev/null +++ b/tandoor_recipes/rootfs/etc/nginx/servers/direct.conf @@ -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; + + {{ 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; + include /etc/nginx/includes/fastcgi_params.conf; + } +} From 0e8e16f2b8ca8038a86ecfe003c98c7231fe0b99 Mon Sep 17 00:00:00 2001 From: blowk <2361395+blowk@users.noreply.github.com> Date: Fri, 6 Oct 2023 13:49:47 +0200 Subject: [PATCH 02/14] Update config.json --- tandoor_recipes/config.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tandoor_recipes/config.json b/tandoor_recipes/config.json index 6bf3ed179..9748f1a35 100644 --- a/tandoor_recipes/config.json +++ b/tandoor_recipes/config.json @@ -76,7 +76,10 @@ "DB_TYPE": "sqlite", "DEBUG": "0", "SECRET_KEY": "YOUR_SECRET_KEY", - "externalfiles_folder": "/config/addons_config/tandoor_recipes/externalfiles" + "externalfiles_folder": "/config/addons_config/tandoor_recipes/externalfiles", + "SSL" : "true", + "certfile" : "fullchain.pem" + "keyfile" : "privkey.pem" }, "panel_icon": "mdi:silverware-fork-knife", "panel_title": "Tandoor Recipes", @@ -97,6 +100,9 @@ "POSTGRES_USER": "str?", "SECRET_KEY": "str", "externalfiles_folder": "str?" + "SSL" : "str?", + "certfile" : "str?" + "keyfile" : "str?" }, "services": [ "mysql:want" From ff772331f084d58204e2ce517682f452fcf58e5f Mon Sep 17 00:00:00 2001 From: blowk <2361395+blowk@users.noreply.github.com> Date: Fri, 6 Oct 2023 13:51:24 +0200 Subject: [PATCH 03/14] Update config.json --- tandoor_recipes/config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tandoor_recipes/config.json b/tandoor_recipes/config.json index 9748f1a35..77e7732ab 100644 --- a/tandoor_recipes/config.json +++ b/tandoor_recipes/config.json @@ -77,7 +77,7 @@ "DEBUG": "0", "SECRET_KEY": "YOUR_SECRET_KEY", "externalfiles_folder": "/config/addons_config/tandoor_recipes/externalfiles", - "SSL" : "true", + "ssl" : "true", "certfile" : "fullchain.pem" "keyfile" : "privkey.pem" }, @@ -100,7 +100,7 @@ "POSTGRES_USER": "str?", "SECRET_KEY": "str", "externalfiles_folder": "str?" - "SSL" : "str?", + "ssl" : "str?", "certfile" : "str?" "keyfile" : "str?" }, From 1735927ad214c5935b1b5c9496947930bc5d9865 Mon Sep 17 00:00:00 2001 From: blowk <2361395+blowk@users.noreply.github.com> Date: Sat, 7 Oct 2023 11:07:50 +0200 Subject: [PATCH 04/14] Update config.json --- tandoor_recipes/config.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tandoor_recipes/config.json b/tandoor_recipes/config.json index 77e7732ab..420f564aa 100644 --- a/tandoor_recipes/config.json +++ b/tandoor_recipes/config.json @@ -78,7 +78,7 @@ "SECRET_KEY": "YOUR_SECRET_KEY", "externalfiles_folder": "/config/addons_config/tandoor_recipes/externalfiles", "ssl" : "true", - "certfile" : "fullchain.pem" + "certfile" : "fullchain.pem", "keyfile" : "privkey.pem" }, "panel_icon": "mdi:silverware-fork-knife", @@ -99,9 +99,9 @@ "POSTGRES_PORT": "str?", "POSTGRES_USER": "str?", "SECRET_KEY": "str", - "externalfiles_folder": "str?" + "externalfiles_folder": "str?", "ssl" : "str?", - "certfile" : "str?" + "certfile" : "str?", "keyfile" : "str?" }, "services": [ From 12b2cc6e54c9328a05be9a54ff22824696d4aba8 Mon Sep 17 00:00:00 2001 From: blowk <2361395+blowk@users.noreply.github.com> Date: Sat, 7 Oct 2023 22:02:14 +0200 Subject: [PATCH 05/14] Update README.md --- tandoor_recipes/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tandoor_recipes/README.md b/tandoor_recipes/README.md index a73b57642..7e7b16bbc 100644 --- a/tandoor_recipes/README.md +++ b/tandoor_recipes/README.md @@ -35,6 +35,9 @@ Required : "PORT": 9928 # By default, the webui is available on http://HAurl:9928. If you ever need to change the port, you should never do it within the app, but only through this option "Environment": 0|1 # 1 is debug mode, 0 is normal mode. You should run in normal mode unless actively developing. Optional : + "ssl" : "true|false", # Set ssl + "certfile" : "fullchain.pem", # Place where your ssl files are + "keyfile" : "privkey.pem", # Place where your ssl files are "POSTGRES_HOST": "str?", # Needed for postgresql_external "POSTGRES_PORT": "str?", # Needed for postgresql_external "POSTGRES_USER": "str?", # Needed for postgresql_external From 2c312b46db90ffe79b90ef0660422c3f1b12ba09 Mon Sep 17 00:00:00 2001 From: blowk <2361395+blowk@users.noreply.github.com> Date: Sun, 8 Oct 2023 11:08:51 +0200 Subject: [PATCH 06/14] Update config.json --- tandoor_recipes/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tandoor_recipes/config.json b/tandoor_recipes/config.json index 420f564aa..7206111be 100644 --- a/tandoor_recipes/config.json +++ b/tandoor_recipes/config.json @@ -100,7 +100,7 @@ "POSTGRES_USER": "str?", "SECRET_KEY": "str", "externalfiles_folder": "str?", - "ssl" : "str?", + "ssl" : "bool", "certfile" : "str?", "keyfile" : "str?" }, From 3bb35a4c47a9ee8bed623c6c9bae415099a11da7 Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sat, 14 Oct 2023 22:19:38 +0200 Subject: [PATCH 07/14] Add webui including ssl --- tandoor_recipes/config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tandoor_recipes/config.json b/tandoor_recipes/config.json index 7206111be..6e1c181a6 100644 --- a/tandoor_recipes/config.json +++ b/tandoor_recipes/config.json @@ -110,5 +110,6 @@ "slug": "tandoor_recipes", "udev": true, "url": "https://github.com/alexbelgium/hassio-addons", - "version": "1.5.6" + "version": "1.5.6", + "webui": "[PROTO:ssl]://[HOST]:[PORT:8080]" } From 73f477db0db253da3659f15c7b80490add95489d Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sat, 14 Oct 2023 22:21:22 +0200 Subject: [PATCH 08/14] Change normal port to 8081 --- tandoor_recipes/config.json | 1 + 1 file changed, 1 insertion(+) diff --git a/tandoor_recipes/config.json b/tandoor_recipes/config.json index 6e1c181a6..f35998c57 100644 --- a/tandoor_recipes/config.json +++ b/tandoor_recipes/config.json @@ -62,6 +62,7 @@ "DB_ENGINE": "django.db.backends.sqlite3", "DISABLE_INGRESS": "true", "POSTGRES_DB": "/config/addons_config/tandoor_recipes/recipes.db", + "TANDOOR_PORT": "8081", "TRUSTED_PROXIES": "**" }, "image": "ghcr.io/alexbelgium/tandoor_recipes-{arch}", From 0944ba45ecb5c72aede9e669c540b3ebfd777596 Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sat, 14 Oct 2023 22:22:42 +0200 Subject: [PATCH 09/14] Update and rename 32-ingress.sh to 32-nginx.sh --- .../rootfs/etc/cont-init.d/32-ingress.sh | 22 ------------------- .../rootfs/etc/cont-init.d/32-nginx.sh | 21 ++++++++++++++++++ 2 files changed, 21 insertions(+), 22 deletions(-) delete mode 100755 tandoor_recipes/rootfs/etc/cont-init.d/32-ingress.sh create mode 100755 tandoor_recipes/rootfs/etc/cont-init.d/32-nginx.sh diff --git a/tandoor_recipes/rootfs/etc/cont-init.d/32-ingress.sh b/tandoor_recipes/rootfs/etc/cont-init.d/32-ingress.sh deleted file mode 100755 index de22468fe..000000000 --- a/tandoor_recipes/rootfs/etc/cont-init.d/32-ingress.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/bashio -# shellcheck shell=bash -set -e - -if [[ -n "${DISABLE_INGRESS}" ]]; then - bashio::log.info "Ingress disabled" - sed -i "/nginx/d" /etc/cont-init.d/99-run.sh - exit 0 -fi - -################# -# NGINX SETTING # -################# -declare ingress_interface -declare ingress_port - -ingress_port="$(bashio::addon.ingress_port)" -ingress_interface="$(bashio::addon.ip_address)" -ingress_entry=$(bashio::addon.ingress_entry) -sed -i "s/%%port%%/${ingress_port}/g" /etc/nginx/servers/ingress.conf -sed -i "s/%%interface%%/${ingress_interface}/g" /etc/nginx/servers/ingress.conf -sed -i "s|%%ingress_entry%%|${ingress_entry}|g" /etc/nginx/servers/ingress.conf diff --git a/tandoor_recipes/rootfs/etc/cont-init.d/32-nginx.sh b/tandoor_recipes/rootfs/etc/cont-init.d/32-nginx.sh new file mode 100755 index 000000000..f966485a7 --- /dev/null +++ b/tandoor_recipes/rootfs/etc/cont-init.d/32-nginx.sh @@ -0,0 +1,21 @@ +#!/usr/bin/bashio +# shellcheck shell=bash +set -e + +if bashio::config.true 'ssl'; then + + # Validate ssl + bashio::config.require.ssl + + # Adapt nginx template + certfile=$(bashio::config 'certfile') + keyfile=$(bashio::config 'keyfile') + sed -i "s|%%certfile%%|${certfile}|g" /etc/nginx/servers/ssl.conf + sed -i "s|%%keyfile%%|${keyfile}|g" /etc/nginx/servers/ssl.conf + sed -i "s|3000;|3000 ssl;|g" /etc/nginx/servers/ssl.conf + +else + + sed -i "/ssl/d" /etc/nginx/servers/ssl.conf + +fi From ed5d1f35c791f35211724ef3e7ee4610d1b5ba58 Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sat, 14 Oct 2023 22:23:16 +0200 Subject: [PATCH 10/14] ssl.conf --- .../rootfs/etc/nginx/servers/direct.conf | 25 ------------------- .../rootfs/etc/nginx/servers/ssl.conf | 22 ++++++++++++++++ 2 files changed, 22 insertions(+), 25 deletions(-) delete mode 100644 tandoor_recipes/rootfs/etc/nginx/servers/direct.conf create mode 100644 tandoor_recipes/rootfs/etc/nginx/servers/ssl.conf diff --git a/tandoor_recipes/rootfs/etc/nginx/servers/direct.conf b/tandoor_recipes/rootfs/etc/nginx/servers/direct.conf deleted file mode 100644 index 5dcb0921d..000000000 --- a/tandoor_recipes/rootfs/etc/nginx/servers/direct.conf +++ /dev/null @@ -1,25 +0,0 @@ -server { - {{ if not .ssl }} - listen 80 default_server; - {{ else }} - listen 80 default_server ssl http2; - {{ end }} - - include /etc/nginx/includes/server_params.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; - include /etc/nginx/includes/fastcgi_params.conf; - } -} diff --git a/tandoor_recipes/rootfs/etc/nginx/servers/ssl.conf b/tandoor_recipes/rootfs/etc/nginx/servers/ssl.conf new file mode 100644 index 000000000..0ee7367f7 --- /dev/null +++ b/tandoor_recipes/rootfs/etc/nginx/servers/ssl.conf @@ -0,0 +1,22 @@ +server { + + listen 8080; + + include /etc/nginx/includes/server_params.conf; + include /etc/nginx/includes/proxy_params.conf; + + ssl_certificate /ssl/%%certfile%%; + ssl_certificate_key /ssl/%%keyfile%%; + + location / { + # Proxy pass + proxy_pass http://127.0.0.1:8081; + + # Next three lines allow websockets + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + } + +} From d7cbf5cc7a5a2432c3fa192e82e634e7944f973b Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sat, 14 Oct 2023 22:25:58 +0200 Subject: [PATCH 11/14] Update README.md --- tandoor_recipes/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tandoor_recipes/README.md b/tandoor_recipes/README.md index 7e7b16bbc..16079af72 100644 --- a/tandoor_recipes/README.md +++ b/tandoor_recipes/README.md @@ -36,8 +36,8 @@ Required : "Environment": 0|1 # 1 is debug mode, 0 is normal mode. You should run in normal mode unless actively developing. Optional : "ssl" : "true|false", # Set ssl - "certfile" : "fullchain.pem", # Place where your ssl files are - "keyfile" : "privkey.pem", # Place where your ssl files are + "certfile" : "fullchain.pem", # Name of your ssl files located in /ssl + "keyfile" : "privkey.pem", # Name of your ssl files located in /ssl "POSTGRES_HOST": "str?", # Needed for postgresql_external "POSTGRES_PORT": "str?", # Needed for postgresql_external "POSTGRES_USER": "str?", # Needed for postgresql_external From 1a4b043c556fdacb208ec57e55dd3c25cfe2567f Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sat, 14 Oct 2023 22:26:29 +0200 Subject: [PATCH 12/14] Update config.json --- tandoor_recipes/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tandoor_recipes/config.json b/tandoor_recipes/config.json index f35998c57..22a5dcd2e 100644 --- a/tandoor_recipes/config.json +++ b/tandoor_recipes/config.json @@ -111,6 +111,6 @@ "slug": "tandoor_recipes", "udev": true, "url": "https://github.com/alexbelgium/hassio-addons", - "version": "1.5.6", + "version": "1.5.6-test_ssl", "webui": "[PROTO:ssl]://[HOST]:[PORT:8080]" } From 15e96406b1573f34671f59c7a7e18802a0d3676e Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sat, 14 Oct 2023 22:26:56 +0200 Subject: [PATCH 13/14] Update 32-nginx.sh --- tandoor_recipes/rootfs/etc/cont-init.d/32-nginx.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tandoor_recipes/rootfs/etc/cont-init.d/32-nginx.sh b/tandoor_recipes/rootfs/etc/cont-init.d/32-nginx.sh index f966485a7..a1f98acc8 100755 --- a/tandoor_recipes/rootfs/etc/cont-init.d/32-nginx.sh +++ b/tandoor_recipes/rootfs/etc/cont-init.d/32-nginx.sh @@ -12,7 +12,7 @@ if bashio::config.true 'ssl'; then keyfile=$(bashio::config 'keyfile') sed -i "s|%%certfile%%|${certfile}|g" /etc/nginx/servers/ssl.conf sed -i "s|%%keyfile%%|${keyfile}|g" /etc/nginx/servers/ssl.conf - sed -i "s|3000;|3000 ssl;|g" /etc/nginx/servers/ssl.conf + sed -i "s|8080;|8080 ssl;|g" /etc/nginx/servers/ssl.conf else From 47f8a4b288f94a87e2f1416614aa4146b3677fac Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sat, 14 Oct 2023 22:30:19 +0200 Subject: [PATCH 14/14] Update CHANGELOG.md --- tandoor_recipes/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tandoor_recipes/CHANGELOG.md b/tandoor_recipes/CHANGELOG.md index 569c717c4..7c6863d2f 100644 --- a/tandoor_recipes/CHANGELOG.md +++ b/tandoor_recipes/CHANGELOG.md @@ -1,3 +1,5 @@ +## 1.5.6-test_ssl (14-10-2023) +- Test if ssl is working ## 1.5.6 (02-09-2023) - Update to latest version from TandoorRecipes/recipes