apiVersion: v1 kind: ConfigMap metadata: name: config namespace: jellyfin data: # file-like keys system.xml: | 3 false true true true true true true en US . + % , & - { } ' the a an 5 90 300 5 5 60 Legacy Book Movie MusicVideo The Open Movie Database The Open Movie Database Series MusicAlbum TheAudioDB MusicArtist TheAudioDB BoxSet Season Episode true en-US false 0 false false true Jellyfin Stable https://repo.jellyfin.org/releases/plugin/manifest-stable.json true true 0 true 500 * 30 0 0 false true --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: config namespace: jellyfin spec: accessModes: - ReadWriteMany resources: requests: storage: 8Gi storageClassName: cephfs-hyper --- apiVersion: apps/v1 kind: Deployment metadata: name: jellyfin namespace: jellyfin labels: app: jellyfin spec: replicas: 1 selector: matchLabels: app: jellyfin template: metadata: labels: app: jellyfin spec: dnsConfig: options: - name: ndots value: "1" #securityContext: # runAsUser: 1000 # runAsGroup: 1000 # fsGroup: 1000 containers: - name: jellyfin image: linuxserver/jellyfin imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8096 - name: https containerPort: 8920 - name: discovery containerPort: 7359 protocol: UDP - name: dlna containerPort: 1900 protocol: UDP startupProbe: httpGet: path: /health port: http periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 30 readinessProbe: httpGet: path: /health port: http periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 6 livenessProbe: httpGet: path: /health port: http periodSeconds: 20 timeoutSeconds: 5 failureThreshold: 6 env: - name: PUID value: "1000" - name: PGID value: "1000" volumeMounts: - mountPath: /config name: config - mountPath: /data/movies name: movies - mountPath: /data/music name: music - mountPath: /data/tvshows name: tvshows #- mountPath: "/config/system.xml" # name: config-cm # subPath: system.xml volumes: - name: config persistentVolumeClaim: claimName: config readOnly: false - name: movies persistentVolumeClaim: claimName: movies readOnly: false - name: music persistentVolumeClaim: claimName: music readOnly: false - name: tvshows persistentVolumeClaim: claimName: tvshows readOnly: false #- name: config-cm # configMap: # name: config # items: # - key: "system.xml" # path: "system.xml" --- apiVersion: v1 kind: Service metadata: name: jellyfin namespace: jellyfin spec: ipFamilies: - IPv6 - IPv4 ipFamilyPolicy: PreferDualStack ports: - name: http port: 80 protocol: TCP targetPort: 8096 - name: jelly1 port: 8920 protocol: TCP targetPort: 8920 - name: jelly2 port: 7359 protocol: UDP targetPort: 7359 - name: jelly3 port: 1900 protocol: UDP targetPort: 1900 selector: app: jellyfin sessionAffinity: None type: ClusterIP