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.10.6
        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"
            cpu: 163m
#            memory: 3861631195
        volumeMounts:
        - mountPath: /films
          name: films
        - mountPath: /config
          name: jellyfin-config
        - mountPath: /music
          name: music
        - mountPath: /config/transcodes
          name: transcodes
        - mountPath: /dev/dri
          name: dev-dri
        - mountPath: /mergedseries
          name: mergedseries
        - mountPath: /youtube
          name: youtube
      dnsPolicy: ClusterFirst
      nodeSelector:
        intel.feature.node.kubernetes.io/gpu: "true"
        kubernetes.io/hostname: talos-llu-kx3
      terminationGracePeriodSeconds: 30
      volumes:
      - 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
      - hostPath:
          path: /dev/dri
          type: Directory
        name: dev-dri
      - persistentVolumeClaim:
          claimName: smb-mergedseries
        name: mergedseries
      - persistentVolumeClaim:
          claimName: smb-youtube
        name: youtube