--- apiVersion: apps/v1 kind: Deployment metadata: name: jellyfin labels: app: jellyfin spec: replicas: 1 selector: matchLabels: app: jellyfin template: metadata: labels: app: jellyfin name: jellyfin spec: containers: - name: jellyfin image: docker.io/jellyfin/jellyfin imagePullPolicy: Always volumeMounts: - name: jellyfin-volume mountPath: "/config" subPath: backup/jellyfin/config - name: jellyfin-volume mountPath: "/data/movies" subPath: nobackup/downloads/complete/movies - name: jellyfin-volume mountPath: "/data/tvshows" subPath: nobackup/downloads/complete/tvshows volumes: - name: jellyfin-volume persistentVolumeClaim: claimName: homey-pvc-nfs --- apiVersion: v1 kind: Service metadata: name: jellyfin-web spec: selector: app: jellyfin ports: - port: 80 targetPort: 8096 name: jellyfin-web --- apiVersion: v1 kind: Service metadata: name: jellyfin-external-ports spec: type: NodePort selector: app: jellyfin ports: - port: 7359 targetPort: 7359 protocol: UDP name: jellyfin-discovery-local nodePort: 30059 - port: 1900 targetPort: 1900 protocol: UDP name: jellyfin-discovery-dnla nodePort: 31900 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: jellyfin-ingress annotations: spec: rules: - host: jellyfin.{{ .Values.homey.url }} http: paths: - path: / pathType: Prefix backend: service: name: jellyfin-web port: number: 80