From e757e5b479c31696f6695cc2b00143d26de0aba9 Mon Sep 17 00:00:00 2001 From: Danny Trunk Date: Tue, 30 Dec 2025 15:27:25 +0100 Subject: [PATCH 1/3] Check if plugin web is enabled before running Fixes #141 --- Dockerfile | 3 ++- Dockerfile.aarch64 | 3 ++- package_versions.txt | 1 + readme-vars.yml | 1 + root/etc/s6-overlay/s6-rc.d/svc-beets/run | 20 ++++++++++++-------- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1e3993f..0c940e6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -88,7 +88,8 @@ RUN \ requests \ requests_oauthlib \ typing-extensions \ - unidecode && \ + unidecode \ + shyaml && \ printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ apk del --purge \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 8ea6829..18bb2c3 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -89,7 +89,8 @@ RUN \ requests \ requests_oauthlib \ typing-extensions \ - unidecode && \ + unidecode \ + shyaml && \ printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ apk del --purge \ diff --git a/package_versions.txt b/package_versions.txt index e308386..707d7d1 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -256,6 +256,7 @@ serd-libs 0.32.2-r0 apk shaderc 2024.0-r2 apk shadow 4.16.0-r1 apk shared-mime-info 2.4-r2 apk +shyaml 0.6.2 python six 1.17.0 python skalibs-libs 2.14.3.0-r0 apk sord-libs 0.16.16-r0 apk diff --git a/readme-vars.yml b/readme-vars.yml index f41b285..9a3565f 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -83,6 +83,7 @@ init_diagram: | "beets:latest" <- Base Images # changelog changelogs: + - {date: "30.12.25:", desc: "Check if plugin web is enabled before running"} - {date: "27.01.25:", desc: "Rebase to Alpine 3.21."} - {date: "01.10.24:", desc: "Add packages required for Discogs plugin."} - {date: "28.08.24:", desc: "Rebase to Alpine 3.20, switch from Pillow to Imagemagick."} diff --git a/root/etc/s6-overlay/s6-rc.d/svc-beets/run b/root/etc/s6-overlay/s6-rc.d/svc-beets/run index 13c6cb3..6f75fd1 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-beets/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-beets/run @@ -1,12 +1,16 @@ #!/usr/bin/with-contenv bash # shellcheck shell=bash -if [[ -z ${LSIO_NON_ROOT_USER} ]]; then - exec \ - s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 8337" \ - s6-setuidgid abc beet web -else - exec \ - s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 8337" \ - beet web +plugins=$(beet config --default | shyaml get-value plugins) + +if [[ " $plugins " == *" web "* ]]; then + if [[ -z ${LSIO_NON_ROOT_USER} ]]; then + exec \ + s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 8337" \ + s6-setuidgid abc beet web + else + exec \ + s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 8337" \ + beet web + fi fi From b03400c74c0b575d2f1bc512cf13403b352ce2be Mon Sep 17 00:00:00 2001 From: Danny Trunk Date: Tue, 30 Dec 2025 15:31:07 +0100 Subject: [PATCH 2/3] Rename svc-beets s6 overlay to beets-web --- .../s6-rc.d/{svc-beets => beets-web}/dependencies.d/init-services | 0 .../s6-overlay/s6-rc.d/{svc-beets => beets-web}/notification-fd | 0 root/etc/s6-overlay/s6-rc.d/{svc-beets => beets-web}/run | 0 root/etc/s6-overlay/s6-rc.d/{svc-beets => beets-web}/type | 0 .../s6-overlay/s6-rc.d/user/contents.d/{svc-beets => beets-web} | 0 5 files changed, 0 insertions(+), 0 deletions(-) rename root/etc/s6-overlay/s6-rc.d/{svc-beets => beets-web}/dependencies.d/init-services (100%) rename root/etc/s6-overlay/s6-rc.d/{svc-beets => beets-web}/notification-fd (100%) rename root/etc/s6-overlay/s6-rc.d/{svc-beets => beets-web}/run (100%) rename root/etc/s6-overlay/s6-rc.d/{svc-beets => beets-web}/type (100%) rename root/etc/s6-overlay/s6-rc.d/user/contents.d/{svc-beets => beets-web} (100%) diff --git a/root/etc/s6-overlay/s6-rc.d/svc-beets/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/beets-web/dependencies.d/init-services similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/svc-beets/dependencies.d/init-services rename to root/etc/s6-overlay/s6-rc.d/beets-web/dependencies.d/init-services diff --git a/root/etc/s6-overlay/s6-rc.d/svc-beets/notification-fd b/root/etc/s6-overlay/s6-rc.d/beets-web/notification-fd similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/svc-beets/notification-fd rename to root/etc/s6-overlay/s6-rc.d/beets-web/notification-fd diff --git a/root/etc/s6-overlay/s6-rc.d/svc-beets/run b/root/etc/s6-overlay/s6-rc.d/beets-web/run similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/svc-beets/run rename to root/etc/s6-overlay/s6-rc.d/beets-web/run diff --git a/root/etc/s6-overlay/s6-rc.d/svc-beets/type b/root/etc/s6-overlay/s6-rc.d/beets-web/type similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/svc-beets/type rename to root/etc/s6-overlay/s6-rc.d/beets-web/type diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-beets b/root/etc/s6-overlay/s6-rc.d/user/contents.d/beets-web similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-beets rename to root/etc/s6-overlay/s6-rc.d/user/contents.d/beets-web From f5cfc0cb136d2bbd3c9c02dc7cb4d0c93161d339 Mon Sep 17 00:00:00 2001 From: Danny Trunk Date: Tue, 30 Dec 2025 15:37:58 +0100 Subject: [PATCH 3/3] Add s6 overlay for drop2beets --- readme-vars.yml | 1 + .../drop2beets/dependencies.d/init-services | 0 root/etc/s6-overlay/s6-rc.d/drop2beets/run | 16 ++++++++++++++++ root/etc/s6-overlay/s6-rc.d/drop2beets/type | 1 + .../s6-rc.d/user/contents.d/drop2beets | 0 5 files changed, 18 insertions(+) create mode 100644 root/etc/s6-overlay/s6-rc.d/drop2beets/dependencies.d/init-services create mode 100755 root/etc/s6-overlay/s6-rc.d/drop2beets/run create mode 100644 root/etc/s6-overlay/s6-rc.d/drop2beets/type create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/drop2beets diff --git a/readme-vars.yml b/readme-vars.yml index 9a3565f..029d203 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -83,6 +83,7 @@ init_diagram: | "beets:latest" <- Base Images # changelog changelogs: + - {date: "30.12.25:", desc: "Add s6 overlay for drop2beets"} - {date: "30.12.25:", desc: "Check if plugin web is enabled before running"} - {date: "27.01.25:", desc: "Rebase to Alpine 3.21."} - {date: "01.10.24:", desc: "Add packages required for Discogs plugin."} diff --git a/root/etc/s6-overlay/s6-rc.d/drop2beets/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/drop2beets/dependencies.d/init-services new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/drop2beets/run b/root/etc/s6-overlay/s6-rc.d/drop2beets/run new file mode 100755 index 0000000..46f3828 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/drop2beets/run @@ -0,0 +1,16 @@ +#!/usr/bin/with-contenv bash +# shellcheck shell=bash + +if pip show drop2beets >/dev/null 2>&1; then + plugins=$(beet config --default | shyaml get-value plugins) + + if [[ " $plugins " == *" drop2beets "* ]]; then + if [[ -z ${LSIO_NON_ROOT_USER} ]]; then + exec \ + s6-setuidgid abc beet dropbox + else + exec \ + beet dropbox + fi + fi +fi diff --git a/root/etc/s6-overlay/s6-rc.d/drop2beets/type b/root/etc/s6-overlay/s6-rc.d/drop2beets/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/drop2beets/type @@ -0,0 +1 @@ +longrun diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/drop2beets b/root/etc/s6-overlay/s6-rc.d/user/contents.d/drop2beets new file mode 100644 index 0000000..e69de29