From 30d3994d9efbca1d01af45b05076b95e9e5515bc Mon Sep 17 00:00:00 2001 From: Alexandre Date: Fri, 9 Sep 2022 17:43:42 +0200 Subject: [PATCH] New LSIO logic --- flexget/Dockerfile | 20 ++++++++++---------- grav/Dockerfile | 24 +++++++++++------------- jackett/Dockerfile | 24 ++++++++++++------------ 3 files changed, 33 insertions(+), 35 deletions(-) diff --git a/flexget/Dockerfile b/flexget/Dockerfile index e891de91b..6dd53f9cb 100644 --- a/flexget/Dockerfile +++ b/flexget/Dockerfile @@ -37,21 +37,21 @@ RUN \ && sed -i 's/# set FG_WEBUI_PASSWD/if bashio::config.has_value "WebuiPass"; then FG_WEBUI_PASSWD=$(bashio::config "WebuiPass"); else FG_WEBUI_PASSWD=""; fi/g' "$files" \ && sed -i 's/# install custom plugins/if bashio::config.has_value "FG_PLUGINS"; then FG_PLUGINS=$(bashio::config "FG_PLUGINS"); else FG_PLUGINS=""; fi/g' "$files" -# GLOBAL LSIO MODIFICATIONS +# Global LSIO modifications ARG CONFIGLOCATION="/config/addons_config/flexget" -# hadolint ignore=SC2015 +# hadolint ignore=SC2015, SC2013 RUN \ # Avoid custom-init.d duplications - rm -f $(grep -sril "Potential tampering with custom" /etc/cont-init.d /etc/s6-overlay/s6-rc.d) \ - \ - # change config folder - && sed -i "s=/config=$CONFIGLOCATION || true=g" $(grep -sril '/config[ /$]' /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d) \ + for file in $(grep -sril 'Potential tampering with custom' /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d); do rm -f "$file"; done \ \ # Allow UID and GID setting - && for file in $(grep -srl "PUID:-911" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do \ - sed -i 's/bash/bashio/g' "$file" && \ - sed -i 's/{PUID:-911}/(bashio::config "PUID")/g' "$file" && \ - sed -i 's/{PGID:-911}/(bashio::config "PGID")/g' "$file"; done + && for file in $(grep -srl "PUID:-911" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do sed -i 's/bash/bashio/g' "$file" && sed -i 's/{PUID:-911}/(bashio::config "PUID")/g' "$file" && sed -i 's/{PGID:-911}/(bashio::config "PGID")/g' "$file"; done \ + \ + # Correct config location + && for file in $(grep -sril '/config[ /$]' /defaults /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d); do sed -i "s=/config=$CONFIGLOCATION=g" "$file"; done \ + \ + # Avoid changing /config permissions + && for file in $(grep -srl "chown abc:abc \/config" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do sed -i "/chown abc:abc \/config/d" "$file"; done ################## # 3 Install apps # diff --git a/grav/Dockerfile b/grav/Dockerfile index 66db36cae..770e9e24e 100644 --- a/grav/Dockerfile +++ b/grav/Dockerfile @@ -27,23 +27,21 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \ S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \ S6_SERVICES_GRACETIME=0 +# Global LSIO modifications +ARG CONFIGLOCATION="/share/grav" +# hadolint ignore=SC2015, SC2013 RUN \ - # use /data instead of /config for hass.io environment - sed -i "s|/config|/share/grav|g" /etc/cont-init.d/50-config \ - && sed -i "s|/share/grav/nginx|/config/nginx|g" /etc/cont-init.d/50-config \ - \ # Avoid custom-init.d duplications - && grep -sril "Potential tampering with custom" /etc/cont-init.d /etc/s6-overlay/s6-rc.d | xargs -r rm \ - \ - # Prevent changing ownership of /config - #&& grep -sril "/config" /etc/cont-init.d /etc/s6-overlay/s6-rc.d | xargs grep -riL "/config/" | xargs -r rm \ - && if [ -f /etc/cont-init.d/10-adduser ]; then sed -i "/chown abc:abc \/config$/d" /etc/cont-init.d/10-adduser; fi \ + for file in $(grep -sril 'Potential tampering with custom' /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d); do rm -f "$file"; done \ \ # Allow UID and GID setting - && for file in $(grep -srl "PUID:-911" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do \ - sed -i 's/bash/bashio/g' "$file" && \ - sed -i 's/{PUID:-911}/(bashio::config "PUID")/g' "$file" && \ - sed -i 's/{PGID:-911}/(bashio::config "PGID")/g' "$file"; done + && for file in $(grep -srl "PUID:-911" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do sed -i 's/bash/bashio/g' "$file" && sed -i 's/{PUID:-911}/(bashio::config "PUID")/g' "$file" && sed -i 's/{PGID:-911}/(bashio::config "PGID")/g' "$file"; done \ + \ + # Correct config location + && for file in $(grep -sril '/config[ /$]' /defaults /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d); do sed -i "s=/config=$CONFIGLOCATION=g" "$file"; done \ + \ + # Avoid changing /config permissions + && for file in $(grep -srl "chown abc:abc \/config" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do sed -i "/chown abc:abc \/config/d" "$file"; done ################## # 3 Install apps # diff --git a/jackett/Dockerfile b/jackett/Dockerfile index 33a1adfe8..db277ad1a 100644 --- a/jackett/Dockerfile +++ b/jackett/Dockerfile @@ -27,21 +27,21 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \ S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \ S6_SERVICES_GRACETIME=0 -# use /data instead of /config for hass.io environment -RUN sed -i "s|/config|/config/addons_config/Jackett|g" /etc/cont-init.d/30-config \ - \ +# Global LSIO modifications +ARG CONFIGLOCATION="/config/addons_config/Jackett" +# hadolint ignore=SC2015, SC2013 +RUN \ # Avoid custom-init.d duplications - && grep -sril "Potential tampering with custom" /etc/cont-init.d /etc/s6-overlay/s6-rc.d | xargs -r rm \ - \ - # Prevent changing ownership of /config - #&& grep -sril "/config" /etc/cont-init.d /etc/s6-overlay/s6-rc.d | xargs grep -riL "/config/" | xargs -r rm \ - && if [ -f /etc/cont-init.d/10-adduser ]; then sed -i "/chown abc:abc \/config$/d" /etc/cont-init.d/10-adduser; fi \ + for file in $(grep -sril 'Potential tampering with custom' /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d); do rm -f "$file"; done \ \ # Allow UID and GID setting - && for file in $(grep -srl "PUID:-911" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do \ - sed -i 's/bash/bashio/g' "$file" && \ - sed -i 's/{PUID:-911}/(bashio::config "PUID")/g' "$file" && \ - sed -i 's/{PGID:-911}/(bashio::config "PGID")/g' "$file"; done + && for file in $(grep -srl "PUID:-911" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do sed -i 's/bash/bashio/g' "$file" && sed -i 's/{PUID:-911}/(bashio::config "PUID")/g' "$file" && sed -i 's/{PGID:-911}/(bashio::config "PGID")/g' "$file"; done \ + \ + # Correct config location + && for file in $(grep -sril '/config[ /$]' /defaults /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d); do sed -i "s=/config=$CONFIGLOCATION=g" "$file"; done \ + \ + # Avoid changing /config permissions + && for file in $(grep -srl "chown abc:abc \/config" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do sed -i "/chown abc:abc \/config/d" "$file"; done # Changes config directory ENV XDG_CONFIG_HOME="/config/addons_config"