diff --git a/Dockerfile b/Dockerfile index 4c7f525..242a39d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,7 @@ ARG DEBIAN_FRONTEND="noninteractive" ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" # https://github.com/dlemstra/Magick.NET/issues/707#issuecomment-785351620 ENV MALLOC_TRIM_THRESHOLD_=131072 +ENV ATTACHED_DEVICES_PERMS="/dev/dri /dev/dvb /dev/vchiq /dev/vc-mem /dev/video1? -type c" RUN \ echo "**** install jellyfin *****" && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 1a9f078..c7a0211 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -14,6 +14,7 @@ ARG DEBIAN_FRONTEND="noninteractive" ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" # https://github.com/dlemstra/Magick.NET/issues/707#issuecomment-785351620 ENV MALLOC_TRIM_THRESHOLD_=131072 +ENV ATTACHED_DEVICES_PERMS="/dev/dri /dev/dvb /dev/vchiq /dev/vc-mem /dev/video1? -type c" RUN \ echo "**** install jellyfin *****" && \ diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/dependencies.d/init-jellyfin-config b/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-jellyfin-config similarity index 100% rename from root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/dependencies.d/init-jellyfin-config rename to root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-jellyfin-config diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-jellyfin-video b/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-jellyfin-video deleted file mode 100644 index e69de29..0000000 diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run deleted file mode 100755 index fe7f828..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/with-contenv bash -# shellcheck shell=bash - -FILES=$(find /dev/dri /dev/dvb /dev/vchiq /dev/vc-mem /dev/video1? -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 - -# openmax lib loading -if [ -e "/opt/vc/lib" ] && [ ! -e "/etc/ld.so.conf.d/00-vmcs.conf" ]; then - echo "[jellyfin-init] Pi Libs detected loading" - echo "/opt/vc/lib" > "/etc/ld.so.conf.d/00-vmcs.conf" - ldconfig -fi diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/type b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/type deleted file mode 100644 index bdd22a1..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/type +++ /dev/null @@ -1 +0,0 @@ -oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/up b/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/up deleted file mode 100644 index 9c16049..0000000 --- a/root/etc/s6-overlay/s6-rc.d/init-jellyfin-video/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/s6-rc.d/init-jellyfin-video/run diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-jellyfin-video b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-jellyfin-video deleted file mode 100644 index e69de29..0000000