mirror of
				https://github.com/linuxserver/docker-jellyfin.git
				synced 2025-10-31 13:07:38 +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" | ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" | ||||||
| # https://github.com/dlemstra/Magick.NET/issues/707#issuecomment-785351620 | # https://github.com/dlemstra/Magick.NET/issues/707#issuecomment-785351620 | ||||||
| ENV MALLOC_TRIM_THRESHOLD_=131072 | ENV MALLOC_TRIM_THRESHOLD_=131072 | ||||||
|  | ENV ATTACHED_DEVICES_PERMS="/dev/dri /dev/dvb /dev/vchiq /dev/vc-mem /dev/video1? -type c" | ||||||
|  |  | ||||||
| RUN \ | RUN \ | ||||||
|   echo "**** install jellyfin *****" && \ |   echo "**** install jellyfin *****" && \ | ||||||
|   | |||||||
| @@ -14,6 +14,7 @@ ARG DEBIAN_FRONTEND="noninteractive" | |||||||
| ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" | ENV NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" | ||||||
| # https://github.com/dlemstra/Magick.NET/issues/707#issuecomment-785351620 | # https://github.com/dlemstra/Magick.NET/issues/707#issuecomment-785351620 | ||||||
| ENV MALLOC_TRIM_THRESHOLD_=131072 | ENV MALLOC_TRIM_THRESHOLD_=131072 | ||||||
|  | ENV ATTACHED_DEVICES_PERMS="/dev/dri /dev/dvb /dev/vchiq /dev/vc-mem /dev/video1? -type c" | ||||||
|  |  | ||||||
| RUN \ | RUN \ | ||||||
|   echo "**** install jellyfin *****" && \ |   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