mirror of
				https://github.com/linuxserver/docker-jellyfin.git
				synced 2025-10-31 21:17:39 +09:00 
			
		
		
		
	Merge pull request #295 from linuxserver/nightly-dev-perms
rely on baseimage script for fixing device perms
This commit is contained in:
		| @@ -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 *****" && \ | ||||
|   | ||||
| @@ -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 *****" && \ | ||||
|   | ||||
| @@ -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 | ||||
| @@ -1 +0,0 @@ | ||||
| oneshot | ||||
| @@ -1 +0,0 @@ | ||||
| /etc/s6-overlay/s6-rc.d/init-jellyfin-video/run | ||||
		Reference in New Issue
	
	Block a user