Files
helm-k3s/clusters/default/apps/jellyfin/templates/jellyfin.yaml
2025-07-04 19:51:51 +05:30

68 lines
1.8 KiB
YAML

---
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