{{- $labelsenv := dict "name" "jellyfin" "version" .Values.imageVersion }} --- apiVersion: apps/v1 kind: Deployment metadata: name: jellyfin namespace: {{ .Values.namespace }} labels: {{ include "common.app.labels" $labelsenv | nindent 4 }} spec: replicas: 1 selector: matchLabels: {{ include "common.app.labels" $labelsenv | nindent 6 }} template: metadata: labels: {{ include "common.app.labels" $labelsenv | nindent 8 }} spec: securityContext: runAsUser: {{ .Values.security.user }} runAsGroup: {{ .Values.security.group }} runAsNonRoot: true capabilities: drop: - ALL containers: - name: jellyfin image: "{{ .Values.image }}:{{ .Values.imageVersion }}" env: - name: JELLYFIN_PublishedServerUrl value: {{ .Values.network.externalUrl | quote }} ports: - containerPort: 8096 protocol: TCP name: http livenessProbe: httpGet: path: /System/Ping port: http scheme: HTTP readinessProbe: httpGet: path: /System/Ping port: http scheme: HTTP volumeMounts: - name: storage mountPath: /storage - name: config mountPath: /config - name: cache mountPath: /var/cache/jellyfin volumes: - name: storage persistentVolumeClaim: claimName: {{ .Values.storage.data.claimName }} - name: cache persistentVolumeClaim: claimName: {{ .Values.storage.cache.claimName }} - name: config persistentVolumeClaim: claimName: {{ .Values.storage.config.claimName }}