mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-07-21 05:20:31 +02:00
Update 90-ingress.sh
This commit is contained in:
@@ -1,36 +1,42 @@
|
|||||||
#!/usr/bin/with-contenv bashio
|
#!/usr/bin/with-contenv bashio
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
#################
|
# nginx Path
|
||||||
# NGINX SETTING #
|
NGINX_CONFIG=/etc/nginx/http.d/ingress.conf
|
||||||
#################
|
|
||||||
declare port
|
|
||||||
declare certfile
|
|
||||||
declare ingress_interface
|
|
||||||
declare ingress_port
|
|
||||||
declare keyfile
|
|
||||||
|
|
||||||
port=$(bashio::addon.port 80)
|
# user passed env vars
|
||||||
if bashio::var.has_value "${port}"; then
|
CPORT="${CUSTOM_PORT:-3000}"
|
||||||
bashio::config.require.ssl
|
CHPORT="${CUSTOM_HTTPS_PORT:-3001}"
|
||||||
|
CUSER="${CUSTOM_USER:-abc}"
|
||||||
|
|
||||||
if bashio::config.true 'ssl'; then
|
# create self signed cert
|
||||||
certfile=$(bashio::config 'certfile')
|
if [ ! -f "/config/ssl/cert.pem" ]; then
|
||||||
keyfile=$(bashio::config 'keyfile')
|
mkdir -p /config/ssl
|
||||||
|
openssl req -new -x509 \
|
||||||
mv /etc/nginx/servers/direct-ssl.disabled /etc/nginx/servers/direct.conf
|
-days 3650 -nodes \
|
||||||
sed -i "s/%%certfile%%/${certfile}/g" /etc/nginx/servers/direct.conf
|
-out /config/ssl/cert.pem \
|
||||||
sed -i "s/%%keyfile%%/${keyfile}/g" /etc/nginx/servers/direct.conf
|
-keyout /config/ssl/cert.key \
|
||||||
|
-subj "/C=US/ST=CA/L=Carlsbad/O=Linuxserver.io/OU=LSIO Server/CN=*"
|
||||||
else
|
chmod 600 /config/ssl/cert.key
|
||||||
mv /etc/nginx/servers/direct.disabled /etc/nginx/servers/direct.conf
|
chown -R abc:abc /config/ssl
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ingress_port=$(bashio::addon.ingress_port)
|
# modify nginx config
|
||||||
ingress_interface=$(bashio::addon.ip_address)
|
cp /defaults/default.conf ${NGINX_CONFIG}
|
||||||
sed -i "s/%%port%%/${ingress_port}/g" /etc/nginx/servers/ingress.conf
|
sed -i "s/3000/$CPORT/g" ${NGINX_CONFIG}
|
||||||
sed -i "s/%%interface%%/${ingress_interface}/g" /etc/nginx/servers/ingress.conf
|
sed -i "s/3001/$CHPORT/g" ${NGINX_CONFIG}
|
||||||
|
if [ ! -z ${DISABLE_IPV6+x} ]; then
|
||||||
|
sed -i '/listen \[::\]/d' ${NGINX_CONFIG}
|
||||||
|
fi
|
||||||
|
if [ ! -z ${PASSWORD+x} ]; then
|
||||||
|
printf "${CUSER}:$(openssl passwd -apr1 ${PASSWORD})\n" > /etc/nginx/.htpasswd
|
||||||
|
sed -i 's/#//g' ${NGINX_CONFIG}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add ingress parameters
|
||||||
|
sed -i '/server {/a include /etc/nginx/includes/server_params.conf;' ${NGINX_CONFIG}
|
||||||
|
sed -i '/server {/a include /etc/nginx/includes/proxy_params.conf;;' ${NGINX_CONFIG}
|
||||||
|
sed -i 's|3000 default_server;|%%interface%%:%%port%% default_server;|g' ${NGINX_CONFIG}
|
||||||
|
|
||||||
# Implement SUBFOLDER value
|
# Implement SUBFOLDER value
|
||||||
sed -i "1a SUBFOLDER=$(bashio::addon.ingress_url)" /etc/s6-overlay/s6-rc.d/svc-autostart/run
|
sed -i "1a SUBFOLDER=$(bashio::addon.ingress_url)" /etc/s6-overlay/s6-rc.d/svc-autostart/run || true
|
||||||
|
|||||||
Reference in New Issue
Block a user