From acddcf1bb4e0e6811a9a50927baba86794180c52 Mon Sep 17 00:00:00 2001 From: GilbN Date: Sat, 3 Sep 2022 11:20:32 +0200 Subject: [PATCH] Qbit s6 v3 hybrid mod --- .github/workflows/auto-build.yml | 2 +- .../dependencies.d/init-mods | 0 .../init-mod-themepark-add-package/run | 5 + .../init-mod-themepark-add-package/type | 1 + .../s6-rc.d/init-mod-themepark-add-package/up | 1 + .../init-mod-themepark-add-package | 0 .../s6-overlay/s6-rc.d/init-mod-themepark/run | 122 ++++++++++++++++++ .../s6-rc.d/init-mod-themepark/type | 1 + .../s6-overlay/s6-rc.d/init-mod-themepark/up | 1 + 9 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/dependencies.d/init-mods create mode 100644 docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run create mode 100644 docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type create mode 100644 docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up create mode 100644 docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mod-themepark-add-package create mode 100644 docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run create mode 100644 docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type create mode 100644 docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up diff --git a/.github/workflows/auto-build.yml b/.github/workflows/auto-build.yml index 654126be..1a7090c5 100644 --- a/.github/workflows/auto-build.yml +++ b/.github/workflows/auto-build.yml @@ -41,7 +41,7 @@ on: - thelounge append-tag: required: false - description: 'Append a the tag with "-custom" e.g :radarr-custom' + description: 'Append a the tag with "-custom" e.g :radarr-testing' jobs: push_to_ghcr_io: runs-on: ubuntu-latest diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/dependencies.d/init-mods b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/dependencies.d/init-mods new file mode 100644 index 00000000..e69de29b diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run new file mode 100644 index 00000000..5c18c377 --- /dev/null +++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run @@ -0,0 +1,5 @@ +#!/usr/bin/with-contenv bash + +if ! [[ -x "$(command -v svn)" ]]; then + echo "subversion" >> /mod-repo-packages-to-install.list +fi diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type new file mode 100644 index 00000000..3d92b15f --- /dev/null +++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up new file mode 100644 index 00000000..12d7a60e --- /dev/null +++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-themepark-add-package/run \ No newline at end of file diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mod-themepark-add-package b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/dependencies.d/init-mod-themepark-add-package new file mode 100644 index 00000000..e69de29b diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run new file mode 100644 index 00000000..f830a825 --- /dev/null +++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/run @@ -0,0 +1,122 @@ +#!/usr/bin/with-contenv bash + +echo '------------------------------' +echo '| qBittorrent theme.park Mod |' +echo '------------------------------' + +APP_FILEPATH='/config/qBittorrent/qBittorrent.conf' +if [ "${TP_HOTIO}" = true ]; then + echo 'Changing to Hotio file path!' + APP_FILEPATH='/config/config/qBittorrent.conf' +fi + +# Backup config +if [[ ! -f "${APP_FILEPATH}.bak" ]]; then + echo "Creating qBittorrent.conf backup in /config." + cp -p ${APP_FILEPATH} "${APP_FILEPATH}.bak" +fi + +# Restore qBittorrent.conf +if [ "${TP_DISABLE_THEME}" = true ]; then + echo "Restoring backup of qBittorrent.conf" + sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=false/g" "${APP_FILEPATH}"; + exit 0 +fi + +# Display variables for troubleshooting +echo -e "Variables set:\\n\ +'APP_FILEPATH'=${APP_FILEPATH}\\n\ +'TP_DISABLE_THEME'=${TP_DISABLE_THEME}\\n\ +'TP_HOTIO'=${TP_HOTIO}\\n\ +'TP_DOMAIN'=${TP_DOMAIN}\\n\ +'TP_COMMUNITY_THEME'=${TP_COMMUNITY_THEME}\\n\ +'TP_SCHEME'=${TP_SCHEME}\\n\ +'TP_THEME'=${TP_THEME}\\n" + +# Set default +if [[ -z ${TP_DOMAIN} ]]; then + echo 'No domain set, defaulting to theme-park.dev' + TP_DOMAIN='theme-park.dev' +fi +if [[ -z ${TP_SCHEME} ]]; then + echo 'No scheme set, defaulting to https' + TP_SCHEME='https' +fi + +THEME_TYPE='theme-options' +if [ "${TP_COMMUNITY_THEME}" = true ]; then + THEME_TYPE='community-theme-options' +fi + +case ${TP_DOMAIN} in + *"github.io"*) + echo "Switching to github.io URL style" + TP_DOMAIN="${TP_DOMAIN}\/theme.park" + ;; +esac + +if [[ -z ${TP_THEME} ]]; then + echo 'No theme set, defaulting to organizr' + TP_THEME='organizr' +fi + +# Downloading fresh webui files from source. +if [[ ! -d /themepark ]]; then + echo '---------------------------------------' + echo '| Downloading WebUI files from github |' + echo '---------------------------------------' + printf '\nDownloading qBittorrent webui to "/themepark"..please wait\n' + svn export --quiet https://github.com/qbittorrent/qBittorrent/trunk/src/webui/www /themepark + printf '\nDownload finished\n\n' + printf '\nDownloading qBittorrent webui icons to "/themepark/xxx"..please wait\n' + svn export --force --quiet https://github.com/qbittorrent/qBittorrent/trunk/src/icons /temp + cp -a /temp/. /themepark/public/icons + cp -a /temp/. /themepark/private/icons + rm -rf /temp + printf '\nDownload finished\n\n' +fi + +sed_file(){ + sed -i "s/<\/body>/<\/body> /g" $1 + sed -i "s/<\/body>/<\/body> /g" $1 + sed -i "s/<\/head>/<\/head> /g" $1 + sed -i "s/<\/head>/<\/head> /g" $1 + printf 'Stylesheet set to %s on %s\n\n' "${TP_THEME}" "$1" +} + +# Adding stylesheets +echo '---------------------------------------' +echo '| Adding the stylesheet to html files |' +echo '---------------------------------------' +if ! grep -q "${TP_DOMAIN}/css/base" /themepark/public/index.html; then + sed_file /themepark/public/index.html +fi + +if ! grep -q "${TP_DOMAIN}/css/base" /themepark/private/index.html; then + find /themepark/private -type f -iname *.html | while read fname + do + sed_file $fname + done +fi + +if ! grep -q "WebUI\\\RootFolder" "${APP_FILEPATH}"; then + echo '--------------------------------------' + echo '| Adding WebUI\RootFolder=/themepark |' + echo '--------------------------------------' + sed -i -e '$aWebUI\\RootFolder=/themepark' "${APP_FILEPATH}"; +fi + +if ! grep -q "WebUI\\\AlternativeUIEnabled" "${APP_FILEPATH}"; then + echo '------------------------------------------' + echo '| Adding WebUI\AlternativeUIEnabled=true |' + echo '------------------------------------------' + sed -i -e '$aWebUI\\AlternativeUIEnabled=true' "${APP_FILEPATH}"; +fi + +if ! grep -q "WebUI\\\RootFolder=/themepark" "${APP_FILEPATH}" || ! grep -q "WebUI\\\AlternativeUIEnabled=true" "${APP_FILEPATH}"; then + echo '-------------------------------------------------------' + echo '| Updating RootFolder and AlternativeUIEnabled values |' + echo '-------------------------------------------------------' + sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=true/g" "${APP_FILEPATH}"; + sed -i "s/WebUI\\\RootFolder=.*$/WebUI\\\RootFolder=\/themepark/g" "${APP_FILEPATH}"; +fi diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type new file mode 100644 index 00000000..3d92b15f --- /dev/null +++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/type @@ -0,0 +1 @@ +oneshot \ No newline at end of file diff --git a/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up new file mode 100644 index 00000000..be856d4e --- /dev/null +++ b/docker-mods/qbittorrent/root/etc/s6-overlay/s6-rc.d/init-mod-themepark/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-mod-themepark/run \ No newline at end of file