--- apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Values.name }} namespace: {{ .Values.namespace }} spec: replicas: 1 selector: matchLabels: app: {{ .Values.name }} template: metadata: labels: app: {{ .Values.name }} spec: securityContext: supplementalGroups: - 128 - 226 - 106 - 44 - 104 {{- if .Values.nodeSelector.enabled }} nodeSelector: {{ .Values.nodeSelector.key }}: {{ .Values.nodeSelector.value }} {{- end }} containers: - name: jellyfin image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" volumeMounts: - name: media mountPath: /media readOnly: true recursiveReadOnly: Enabled - name: config mountPath: /config - name: cache mountPath: /cache - name: card mountPath: /dev/dri/renderD128 securityContext: privileged: true volumes: {{- if and .Values.persistence.config.enabled .Values.persistence.config.existingClaim }} - name: config persistentVolumeClaim: claimName: "{{ .Values.persistence.config.claimName }}" {{- else if .Values.persistence.config.enabled }} - name: config persistentVolumeClaim: claimName: "longhorn-{{ .Values.name }}-config" {{- else }} - name: config emptyDir: {} {{- end }} - name: cache hostPath: path: /home/akshun/jellyfin/cache type: Directory - name: media nfs: server: {{ .Values.persistence.media.nfs.server }} path: {{ .Values.persistence.media.nfs.path }} - name: card hostPath: path: /dev/dri/renderD128