diff --git a/birdnet-pi/rootfs/custom-services.d/00-php_pfm.sh b/birdnet-pi/rootfs/custom-services.d/00-php_pfm.sh index db5117b0a4..0519e60bf6 100755 --- a/birdnet-pi/rootfs/custom-services.d/00-php_pfm.sh +++ b/birdnet-pi/rootfs/custom-services.d/00-php_pfm.sh @@ -4,12 +4,12 @@ # Correct /config permissions after startup chown pi:pi /config -# Waiting for dbus -until [[ -e /var/run/dbus/system_bus_socket ]]; do - sleep 1s -done +# Set timezone without requiring Home Assistant Supervisor or D-Bus. +TZ_VALUE="${TZ:-}" +if [[ -S /var/run/dbus/system_bus_socket ]] && command -v timedatectl > /dev/null 2>&1; then + TZ_VALUE="$(timedatectl show -p Timezone --value 2> /dev/null || true)" +fi +export TZ="${TZ_VALUE:-Etc/UTC}" -TZ_VALUE="$(timedatectl show -p Timezone --value)" -export TZ="$TZ_VALUE" echo "Starting service: php pfm" exec /usr/sbin/php-fpm* -F diff --git a/birdnet-pi/rootfs/custom-services.d/01-avahi.sh b/birdnet-pi/rootfs/custom-services.d/01-avahi.sh index 2f78268082..c1cba7f6f9 100755 --- a/birdnet-pi/rootfs/custom-services.d/01-avahi.sh +++ b/birdnet-pi/rootfs/custom-services.d/01-avahi.sh @@ -1,4 +1,4 @@ -#!/usr/bin/with-contenv bashio +#!/usr/bin/with-contenv bash # shellcheck shell=bash # Waiting for dbus until [[ -e /var/run/dbus/system_bus_socket ]]; do diff --git a/birdnet-pi/rootfs/custom-services.d/02-caddy.sh b/birdnet-pi/rootfs/custom-services.d/02-caddy.sh index a5d18e8678..6162c5f49e 100755 --- a/birdnet-pi/rootfs/custom-services.d/02-caddy.sh +++ b/birdnet-pi/rootfs/custom-services.d/02-caddy.sh @@ -1,25 +1,29 @@ -#!/usr/bin/with-contenv bashio +#!/usr/bin/with-contenv bash # shellcheck shell=bash -# Dependencies -sockfile="empty" -until [[ -e /var/run/dbus/system_bus_socket ]] && [[ -e "$sockfile" ]]; do +# Wait for PHP-FPM only. D-Bus is optional in standalone Docker mode and must +# not prevent the web service from starting. +sockfile="" +until [[ -n "$sockfile" ]] && [[ -e "$sockfile" ]]; do sleep 1s - sockfile="$(find /run/php -name "*.sock")" + sockfile="$(find /run/php -name "*.sock" -print -quit 2> /dev/null || true)" done # Correct fpm.sock -chown caddy:caddy /run/php/php*-fpm.sock +chown caddy:caddy "$sockfile" sed -i "s|/run/php/php-fpm.sock|$sockfile|g" /helpers/caddy_ingress.sh sed -i "s|/run/php/php-fpm.sock|$sockfile|g" /etc/caddy/Caddyfile sed -i "s|/run/php/php-fpm.sock|$sockfile|g" "$HOME"/BirdNET-Pi/scripts/update_caddyfile.sh -# Set timezone -TZ_VALUE="$(timedatectl show -p Timezone --value)" -export TZ="$TZ_VALUE" +# Set timezone without requiring D-Bus. +TZ_VALUE="${TZ:-}" +if [[ -S /var/run/dbus/system_bus_socket ]] && command -v timedatectl > /dev/null 2>&1; then + TZ_VALUE="$(timedatectl show -p Timezone --value 2> /dev/null || true)" +fi +export TZ="${TZ_VALUE:-Etc/UTC}" # Update caddyfile with password -/."$HOME"/BirdNET-Pi/scripts/update_caddyfile.sh &> /dev/null || true +"$HOME"/BirdNET-Pi/scripts/update_caddyfile.sh &> /dev/null || true echo "Starting service: caddy" -/usr/bin/caddy run --config /etc/caddy/Caddyfile +exec /usr/bin/caddy run --config /etc/caddy/Caddyfile diff --git a/birdnet-pi/rootfs/custom-services.d/02-nginx.sh b/birdnet-pi/rootfs/custom-services.d/02-nginx.sh index 76f1773f84..50dae0f302 100755 --- a/birdnet-pi/rootfs/custom-services.d/02-nginx.sh +++ b/birdnet-pi/rootfs/custom-services.d/02-nginx.sh @@ -1,4 +1,4 @@ -#!/usr/bin/with-contenv bashio +#!/usr/bin/with-contenv bash # shellcheck shell=bash set -e