Files
hassio-addons/codex/rootfs/etc/cont-init.d/99-run.sh
2025-07-23 08:58:09 +00:00

69 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bashio
# shellcheck shell=bash
############
# TIMEZONE #
############
if bashio::config.has_value 'TZ'; then
TIMEZONE=$(bashio::config 'TZ')
bashio::log.info "Setting timezone to $TIMEZONE"
if [ -f /usr/share/zoneinfo/"$TIMEZONE" ]; then
ln -snf /usr/share/zoneinfo/"$TIMEZONE" /etc/localtime
echo "$TIMEZONE" > /etc/timezone
else
bashio::log.fatal "$TIMEZONE not found, are you sure it is a valid timezone?"
fi
fi
#################
# NGINX SETTING #
#################
#declare port
#declare certfile
declare ingress_interface
declare ingress_port
#declare keyfile
FB_BASEURL="$(bashio::addon.ingress_entry)"
export FB_BASEURL
declare ADDON_PROTOCOL=http
# Generate Ingress configuration
if bashio::config.true 'ssl'; then
ADDON_PROTOCOL=https
fi
#port=$(bashio::addon.port 80)
ingress_port=$(bashio::addon.ingress_port)
ingress_interface=$(bashio::addon.ip_address)
sed -i "s|%%protocol%%|${ADDON_PROTOCOL}|g" /etc/nginx/servers/ingress.conf
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|%%subpath%%|${FB_BASEURL}/|g" /etc/nginx/servers/ingress.conf
mkdir -p /var/log/nginx && touch /var/log/nginx/error.log
# Correct baseurl
for file in /config/hypercorn.toml $(find /usr -name hypercorn.toml.default); do
if [ -f "$file" ]; then
sed -i "/root_path/d" "$file"
sed -i "1a root_path = \"${FB_BASEURL}\"" "$file"
fi
done
##############
# LAUNCH APP #
##############
bashio::log.warning "Default password admin:admin..."
bashio::log.info "Starting..."
# shellcheck disable=SC2086
/./usr/local/bin/codex &
true
bashio::net.wait_for 9810 localhost 900 || true
bashio::log.info "Started !"
exec nginx