new LSIO logic

This commit is contained in:
Alexandre
2022-09-10 12:24:41 +02:00
parent c929398940
commit 047cdc739a
13 changed files with 208 additions and 179 deletions

View File

@@ -29,22 +29,33 @@ ENV S6_CMD_WAIT_FOR_SERVICES=1 \
S6_SERVICES_GRACETIME=0
RUN \
# Set config directory
sed -i 's|config|config/addons_config/ubooquity|g' /etc/cont-init.d/10-adduser \
&& sed -i 's|config|config/addons_config/ubooquity|g' /etc/cont-init.d/30-config \
&& sed -i 's|config|config/addons_config/ubooquity|g' /etc/services.d/ubooquity/run \
# Allow UID and GID setting
&& sed -i 's|bash|bashio|g' /etc/cont-init.d/10-adduser \
&& sed -i 's|{PUID:-911}|(bashio::config "PUID")|g' /etc/cont-init.d/10-adduser \
&& sed -i 's|{PGID:-911}|(bashio::config "PGID")|g' /etc/cont-init.d/10-adduser \
# Set default directory
&& sed -i 's|/files|/share/ubooquity/files|g' /defaults/preferences.json \
sed -i 's|/files|/share/ubooquity/files|g' /defaults/preferences.json \
&& sed -i 's|/comics|/share/ubooquity/comics|g' /defaults/preferences.json \
&& sed -i 's|/books|/share/ubooquity/books|g' /defaults/preferences.json \
# Allow maximum memory setting
&& sed -i 's|bash|bashio|g' /etc/services.d/ubooquity/run \
&& sed -i 's|{MAXMEM:-512}|(bashio::config "maxmem")|g' /etc/services.d/ubooquity/run
# Global LSIO modifications
ARG CONFIGLOCATION="/config/addons_config/ubooquity"
# hadolint ignore=SC2015, SC2013
RUN \
# Avoid custom-init.d duplications
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 \
\
# Create new config folder if needed
&& for file in $(grep -srl "PUID:-911" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do sed -i "1a mkdir -p $CONFIGLOCATION" "$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 \
\
# 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 #
##################