diff --git a/joal/config.json b/joal/config.json index 1b9b867af..590f50e94 100644 --- a/joal/config.json +++ b/joal/config.json @@ -1,11 +1,13 @@ { "name": "Joal", - "version": "2.1.24-10", + "version": "2.1.24-11", "upstream": "2.1.24", "slug": "joal", "description": "An open source command line RatioMaster with WebUI", "url": "https://github.com/alexbelgium/hassio-addons", "startup": "services", + "ingress": true, + "ingress_port": 8099, "arch": [ "aarch64", "amd64", diff --git a/joal/rootfs/etc/servers/ingress.conf b/joal/rootfs/etc/servers/ingress.conf index fc02958e2..fd6eca41b 100644 --- a/joal/rootfs/etc/servers/ingress.conf +++ b/joal/rootfs/etc/servers/ingress.conf @@ -9,7 +9,7 @@ server { location / { add_header Access-Control-Allow-Origin *; proxy_read_timeout 30; - proxy_pass http://backend/joal/ui; + proxy_pass http://backend/joal/ui/; } } diff --git a/joal/rootfs/run.sh b/joal/rootfs/run.sh index 458d3bb36..affbacd0f 100644 --- a/joal/rootfs/run.sh +++ b/joal/rootfs/run.sh @@ -1,5 +1,41 @@ #!/usr/bin/env bashio bashio::log.info "Starting addon..." + +################# +# NGINX SETTING # +################# +declare port +declare certfile +declare ingress_interface +declare ingress_port +declare keyfile + +port=$(bashio::addon.port 80) +if bashio::var.has_value "${port}"; then + bashio::config.require.ssl + + if bashio::config.true 'ssl'; then + certfile=$(bashio::config 'certfile') + keyfile=$(bashio::config 'keyfile') + + mv /etc/nginx/servers/direct-ssl.disabled /etc/nginx/servers/direct.conf + sed -i "s/%%certfile%%/${certfile}/g" /etc/nginx/servers/direct.conf + sed -i "s/%%keyfile%%/${keyfile}/g" /etc/nginx/servers/direct.conf + + else + mv /etc/nginx/servers/direct.disabled /etc/nginx/servers/direct.conf + fi +fi + +ingress_port=$(bashio::addon.ingress_port) +ingress_interface=$(bashio::addon.ip_address) +sed -i "s/%%port%%/${ingress_port}/g" /etc/nginx/servers/ingress.conf +sed -i "s/%%interface%%/${ingress_interface}/g" /etc/nginx/servers/ingress.conf + +################ +# JOAL SETTING # +################ + declare TOKEN TOKEN=$(bashio::config 'secret_token') @@ -11,8 +47,12 @@ tar zxvf /tmp/joal.tar.gz -C /data/joal >/dev/null chown -R $(id -u):$(id -g) /data/joal rm /data/joal/jack-of* bashio::log.info "... Joal updated" - mv -f /config.json /data/joal/ || true + +############### +# LAUNCH APPS # +############### + nohup java -jar /joal/joal.jar --joal-conf=/data/joal --spring.main.web-environment=true --server.port="8081" --joal.ui.path.prefix="joal" --joal.ui.secret-token=$TOKEN \ & bashio::log.info "... Joal started with secret token $TOKEN" # Wait for transmission to become available