apiVersion: apps/v1 kind: Deployment metadata: labels: app: jellyfin name: jellyfin spec: replicas: 1 selector: matchLabels: app: jellyfin template: metadata: labels: app: jellyfin spec: containers: - env: - name: NODE_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: spec.nodeName - name: POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace image: docker.io/jellyfin/jellyfin:10.8.13-1 imagePullPolicy: Always name: jellyfin ports: - containerPort: 8096 name: web protocol: TCP - containerPort: 1900 name: dlna protocol: UDP resources: limits: gpu.intel.com/i915: "1" requests: gpu.intel.com/i915: "1" volumeMounts: - mountPath: /data2/media name: runningseries - mountPath: /films name: films - mountPath: /config name: jellyfin-config - mountPath: /music name: music - mountPath: /oldbigseries name: oldseries - mountPath: /config/transcodes name: transcodes - mountPath: /dev/dri name: dev-dri dnsPolicy: ClusterFirst nodeSelector: intel.feature.node.kubernetes.io/gpu: "true" terminationGracePeriodSeconds: 30 volumes: - persistentVolumeClaim: claimName: smb-series name: runningseries - name: jellyfin-config persistentVolumeClaim: claimName: jellyfin-config - name: transcodes persistentVolumeClaim: claimName: jellyfin-transcodes - persistentVolumeClaim: claimName: smb-music name: music - persistentVolumeClaim: claimName: smb-films name: films - persistentVolumeClaim: claimName: smb-oldseries name: oldseries - hostPath: path: /dev/dri type: Directory name: dev-dri