apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jellyfin-config-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 100Gi storageClassName: longhorn --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jellyfin-data-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 700Gi storageClassName: longhorn --- apiVersion: apps/v1 kind: Deployment metadata: name: jellyfin spec: replicas: 1 selector: matchLabels: app: jellyfin template: metadata: labels: app: jellyfin spec: containers: - name: jellyfin image: docker.io/jellyfin/jellyfin volumeMounts: - name: jellyfin-volume-config mountPath: "/config" subPath: jellyfin/config - name: jellyfin-volume-data mountPath: "/data/movies" subPath: downloads/movies - name: jellyfin-volume-data mountPath: "/data/tvshows" subPath: downloads/tvshows - env: - name: JELLYFIN_PublishedServerUrl value: jellyfin.{{ .Values.homey.url }} volumes: - name: jellyfin-volume-config persistentVolumeClaim: claimName: jellyfin-config-pvc - name: jellyfin-volume-data persistentVolumeClaim: claimName: jellyfin-data-pvc --- apiVersion: v1 kind: Service metadata: name: jellyfin-web namespace: homecenter spec: selector: app: jellyfin ports: - port: 80 targetPort: 8096 name: jellyfin-web --- ingressClassName: {{ .Values.homey.ingress_class }} tls: - hosts: - jellyfin.{{ .Values.homey.url }} secretName: {{ .Values.homey.certname }} rules: - host: jellyfin.{{ .Values.homey.url }} http: paths: - path: / pathType: Prefix backend: service: name: jellyfin-web port: number: 80 ---