From 64aed46150d64be24921d6f1536b506bd86ae607 Mon Sep 17 00:00:00 2001 From: aptalca <541623+aptalca@users.noreply.github.com> Date: Tue, 9 Dec 2025 12:58:58 -0500 Subject: [PATCH] use device perm fixer from baseimage --- Dockerfile | 3 +- Dockerfile.aarch64 | 3 +- .../s6-rc.d/init-plex-gid-video/run | 37 ------------------- .../s6-rc.d/init-plex-gid-video/type | 1 - .../s6-overlay/s6-rc.d/init-plex-gid-video/up | 1 - .../dependencies.d/init-plex-claim | 0 .../dependencies.d/init-plex-gid-video | 0 .../user/contents.d/init-plex-gid-video | 0 8 files changed, 4 insertions(+), 41 deletions(-) delete mode 100755 root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/run delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/type delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/up rename root/etc/s6-overlay/s6-rc.d/{init-plex-gid-video => init-plex-update}/dependencies.d/init-plex-claim (100%) delete mode 100644 root/etc/s6-overlay/s6-rc.d/init-plex-update/dependencies.d/init-plex-gid-video delete mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-plex-gid-video diff --git a/Dockerfile b/Dockerfile index bf19423f..0ad3c085 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,7 +24,8 @@ ENV DEBIAN_FRONTEND="noninteractive" \ PLEX_MEDIA_SERVER_USER="abc" \ PLEX_MEDIA_SERVER_INFO_VENDOR="Docker" \ PLEX_MEDIA_SERVER_INFO_DEVICE="Docker Container (LinuxServer.io)" \ - TMPDIR=/run/plex-temp + TMPDIR=/run/plex-temp \ + ATTACHED_DEVICES_PERMS="/dev/dri /dev/dvb -type c" RUN \ echo "**** install runtime packages ****" && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index b1c14c69..50d94551 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -21,7 +21,8 @@ ENV DEBIAN_FRONTEND="noninteractive" \ PLEX_MEDIA_SERVER_USER="abc" \ PLEX_MEDIA_SERVER_INFO_VENDOR="Docker" \ PLEX_MEDIA_SERVER_INFO_DEVICE="Docker Container (LinuxServer.io)" \ - TMPDIR=/run/plex-temp + TMPDIR=/run/plex-temp \ + ATTACHED_DEVICES_PERMS="/dev/dri /dev/dvb -type c" RUN \ echo "**** install runtime packages ****" && \ diff --git a/root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/run b/root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/run deleted file mode 100755 index 083570fd..00000000 --- a/root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/run +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/with-contenv bash -# shellcheck shell=bash - -if [[ -z ${LSIO_NON_ROOT_USER} ]]; then - FILES=$(find /dev/dri /dev/dvb -type c -print 2>/dev/null) - - for i in ${FILES}; do - VIDEO_GID=$(stat -c '%g' "${i}") - VIDEO_UID=$(stat -c '%u' "${i}") - # check if user matches device - if id -u abc | grep -qw "${VIDEO_UID}"; then - echo "**** permissions for ${i} are good ****" - else - # check if group matches and that device has group rw - if id -G abc | grep -qw "${VIDEO_GID}" && [[ $(stat -c '%A' "${i}" | cut -b 5,6) == "rw" ]]; then - echo "**** permissions for ${i} are good ****" - # check if device needs to be added to video group - elif ! id -G abc | grep -qw "${VIDEO_GID}"; then - # check if video group needs to be created - VIDEO_NAME=$(getent group "${VIDEO_GID}" | awk -F: '{print $1}') - if [[ -z "${VIDEO_NAME}" ]]; then - VIDEO_NAME="video$(head /dev/urandom | tr -dc 'a-z0-9' | head -c4)" - groupadd "${VIDEO_NAME}" - groupmod -g "${VIDEO_GID}" "${VIDEO_NAME}" - echo "**** creating video group ${VIDEO_NAME} with id ${VIDEO_GID} ****" - fi - echo "**** adding ${i} to video group ${VIDEO_NAME} with id ${VIDEO_GID} ****" - usermod -a -G "${VIDEO_NAME}" abc - fi - # check if device has group rw - if [[ $(stat -c '%A' "${i}" | cut -b 5,6) != "rw" ]]; then - echo -e "**** The device ${i} does not have group read/write permissions, attempting to fix inside the container. ****" - chmod g+rw "${i}" - fi - fi - done -fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/type b/root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/type deleted file mode 100644 index 3d92b15f..00000000 --- a/root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/type +++ /dev/null @@ -1 +0,0 @@ -oneshot \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/up b/root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/up deleted file mode 100644 index 05f6fde2..00000000 --- a/root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/s6-rc.d/init-plex-gid-video/run \ No newline at end of file diff --git a/root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/dependencies.d/init-plex-claim b/root/etc/s6-overlay/s6-rc.d/init-plex-update/dependencies.d/init-plex-claim similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/init-plex-gid-video/dependencies.d/init-plex-claim rename to root/etc/s6-overlay/s6-rc.d/init-plex-update/dependencies.d/init-plex-claim diff --git a/root/etc/s6-overlay/s6-rc.d/init-plex-update/dependencies.d/init-plex-gid-video b/root/etc/s6-overlay/s6-rc.d/init-plex-update/dependencies.d/init-plex-gid-video deleted file mode 100644 index e69de29b..00000000 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-plex-gid-video b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-plex-gid-video deleted file mode 100644 index e69de29b..00000000