From 27a64fd80bbf99892ba8834b258eabf2792e8553 Mon Sep 17 00:00:00 2001 From: Alexandre <44178713+alexbelgium@users.noreply.github.com> Date: Sun, 15 Feb 2026 08:33:14 +0100 Subject: [PATCH] birdnet-pipy: disable nginx service when ingress is unavailable --- birdnet-pipy/CHANGELOG.md | 5 +++++ birdnet-pipy/config.yaml | 2 +- birdnet-pipy/rootfs/etc/cont-init.d/32-nginx_ingress.sh | 8 ++++---- birdnet-pipy/rootfs/etc/nginx/includes/resolver.conf | 2 +- birdnet-pipy/rootfs/etc/services.d/nginx/run | 6 ++++++ 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/birdnet-pipy/CHANGELOG.md b/birdnet-pipy/CHANGELOG.md index c370752f9..cf016c690 100644 --- a/birdnet-pipy/CHANGELOG.md +++ b/birdnet-pipy/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.5.0-4 (2026-02-15) +- Disable nginx service when ingress is not active + +## 0.5.0-3 (2026-02-15) +- Fix nginx startup without ingress by removing templated resolver dependency ## 0.5.0-2 (2026-02-14) - Skip ingress nginx configuration when ingress is not active (empty/invalid ingress port) diff --git a/birdnet-pipy/config.yaml b/birdnet-pipy/config.yaml index 0f7d20e9b..6f384e553 100644 --- a/birdnet-pipy/config.yaml +++ b/birdnet-pipy/config.yaml @@ -99,5 +99,5 @@ schema: ssl: bool? slug: birdnet-pipy url: https://github.com/alexbelgium/hassio-addons/tree/master/birdnet-pipy -version: "0.5.0-2" +version: "0.5.0-4" webui: "[PROTO:ssl]://[HOST]:[PORT:80]" diff --git a/birdnet-pipy/rootfs/etc/cont-init.d/32-nginx_ingress.sh b/birdnet-pipy/rootfs/etc/cont-init.d/32-nginx_ingress.sh index 3b63f1c44..7b4f890f2 100755 --- a/birdnet-pipy/rootfs/etc/cont-init.d/32-nginx_ingress.sh +++ b/birdnet-pipy/rootfs/etc/cont-init.d/32-nginx_ingress.sh @@ -14,10 +14,13 @@ ingress_interface="$(bashio::addon.ip_address)" ingress_entry="$(bashio::addon.ingress_entry)" if ! [[ "${ingress_port}" =~ ^[0-9]+$ ]] || [[ "${ingress_port}" -le 0 ]]; then - bashio::log.info "Ingress not active, skipping ingress nginx configuration" + bashio::log.info "Ingress not active, disabling nginx service" + touch /run/nginx-disabled exit 0 fi +rm -f /run/nginx-disabled + sed -i \ -e "s|proxy_pass http://api|proxy_pass http://127.0.0.1|g" \ -e "s|proxy_pass http://icecast|proxy_pass http://127.0.0.1|g" \ @@ -31,6 +34,3 @@ sed -i \ /etc/nginx/servers/ingress.conf sed -i "s#%%ingress_entry%%#${ingress_entry}#g" /etc/nginx/includes/ingress_params.conf - -# Set DNS resolver for internal requests -sed -i "s/%%dns_host%%/127.0.0.11/g" /etc/nginx/includes/resolver.conf diff --git a/birdnet-pipy/rootfs/etc/nginx/includes/resolver.conf b/birdnet-pipy/rootfs/etc/nginx/includes/resolver.conf index d86489993..70f4982b9 100644 --- a/birdnet-pipy/rootfs/etc/nginx/includes/resolver.conf +++ b/birdnet-pipy/rootfs/etc/nginx/includes/resolver.conf @@ -1 +1 @@ -resolver %%dns_host%%; +resolver 127.0.0.11 ipv6=off; diff --git a/birdnet-pipy/rootfs/etc/services.d/nginx/run b/birdnet-pipy/rootfs/etc/services.d/nginx/run index 1659b9f4e..108e66ee3 100644 --- a/birdnet-pipy/rootfs/etc/services.d/nginx/run +++ b/birdnet-pipy/rootfs/etc/services.d/nginx/run @@ -1,4 +1,10 @@ #!/usr/bin/with-contenv bashio # shellcheck shell=bash set -euo pipefail + +if [ -f /run/nginx-disabled ]; then + bashio::log.info "Nginx disabled because ingress is not active" + exec sleep infinity +fi + nginx