Files
hassio-addons/birdnet-pi/rootfs/etc/cont-init.d/92-ssl.sh
2025-07-23 08:58:09 +00:00

50 lines
1.6 KiB
Bash
Executable File

#!/command/with-contenv bashio
# shellcheck shell=bash
set -e
##################
# ALLOW RESTARTS #
##################
if [[ "${BASH_SOURCE[0]}" == /etc/cont-init.d/* ]]; then
mkdir -p /etc/scripts-init
sed -i "s|/etc/cont-init.d|/etc/scripts-init|g" /ha_entrypoint.sh
sed -i "/ rm/d" /ha_entrypoint.sh
cp "${BASH_SOURCE[0]}" /etc/scripts-init/
fi
###############
# SSL SETTING #
###############
if bashio::config.true 'ssl'; then
bashio::log.info "SSL is enabled using addon options, setting up NGINX and Caddy."
# Check required SSL configurations
bashio::config.require.ssl
certfile=$(bashio::config 'certfile')
keyfile=$(bashio::config 'keyfile')
# Ensure Caddyfile exists before modifying
caddyfile="/etc/caddy/Caddyfile"
if [ -f "$caddyfile" ]; then
sed -i "2a\ tls /ssl/${certfile} /ssl/${keyfile}" "$caddyfile"
sed -i "s|http://:8081|https://:8081|g" "$caddyfile"
else
bashio::log.error "Caddyfile not found at $caddyfile, skipping SSL configuration."
exit 1
fi
# Ensure update_caddyfile.sh exists before modifying
update_script="$HOME/BirdNET-Pi/scripts/update_caddyfile.sh"
if [ -f "$update_script" ]; then
sed -i "s|http://:8081|https://:8081|g" "$update_script"
if ! grep -q "tls /ssl/${certfile} /ssl/${keyfile}" "$update_script"; then
sed -i "/https:/a\ tls /ssl/${certfile} /ssl/${keyfile}" "$update_script"
fi
else
bashio::log.error "Update script not found: $update_script, skipping SSL setup for update."
exit 1
fi
fi