diff --git a/kustomize/bases/jellyfin/jellyfin-deployment.yaml b/kustomize/bases/jellyfin/jellyfin-deployment.yaml index c94cbcb..d08e74a 100644 --- a/kustomize/bases/jellyfin/jellyfin-deployment.yaml +++ b/kustomize/bases/jellyfin/jellyfin-deployment.yaml @@ -16,13 +16,26 @@ spec: labels: app.kubernetes.io/name: jellyfin spec: - securityContext: - runAsUser: 33 - runAsGroup: 33 - fsGroup: 33 + # securityContext: + # runAsUser: 33 + # runAsGroup: 33 + # fsGroup: 33 + affinity: + nodeAffinity: + # TODO: eviction policy + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + # we require to be scheduled on a raspberry pi for hardware transcoding to work + - key: kubernetes.io/arch + operator: In + values: + - arm64 containers: - image: jellyfin/jellyfin name: jellyfin + securityContext: + privileged: true # required for hardware transcode env: - name: JELLYFIN_PublishedServerUrl value: ${JELLYFIN_EXTERNAL_URL} @@ -45,6 +58,15 @@ spec: mountPath: /config - name: jellyfin-cache-pvc mountPath: /cache + - name: jellyfin-transcode + mountPath: /config/transcodes + # below mounts are for hardware transcode + - mountPath: /dev/video10 + name: device-video10 + - mountPath: /dev/video11 + name: device-video11 + - mountPath: /dev/video12 + name: device-video12 volumes: - name: jellyfin-config-pvc persistentVolumeClaim: @@ -52,6 +74,18 @@ spec: - name: jellyfin-cache-pvc persistentVolumeClaim: claimName: jellyfin-cache-pvc + - name: jellyfin-transcode + emptyDir: + sizeLimit: 80Gi + - name: device-video10 #Only needed if you want to use your Raspberry Pi V4L2 video encoding. + hostPath: + path: /dev/video10 + - name: device-video11 #Only needed if you want to use your Raspberry Pi V4L2 video encoding. + hostPath: + path: /dev/video11 + - name: device-video12 #Only needed if you want to use your Raspberry Pi V4L2 video encoding. + hostPath: + path: /dev/video12 --- apiVersion: v1 kind: PersistentVolumeClaim