--- apiVersion: apps/v1 kind: Deployment metadata: name: jellyfin namespace: jellyfin labels: app: jellyfin spec: replicas: 1 selector: matchLabels: app: jellyfin template: metadata: annotations: k8s.v1.cni.cncf.io/networks: | [{ "namespace": "cascade", "name": "br0-static", "ips": ["172.16.1.77/12"] }] labels: app: jellyfin spec: containers: - name: jellyfin image: jellyfin/jellyfin:latest imagePullPolicy: Always ports: - containerPort: 8096 name: http - containerPort: 8920 name: https - containerPort: 1900 name: discovery1 protocol: UDP - containerPort: 7359 name: discovery2 protocol: UDP volumeMounts: - name: jellyfin-data mountPath: /config subPath: config - name: jellyfin-data mountPath: /cache subPath: cache - name: dropbox mountPath: /volume1/dropbox - name: tv-shows mountPath: /volume1/tv shows - name: video mountPath: /volume1/video - name: movies mountPath: /volume1/movies resources: requests: cpu: 500m memory: 2Gi volumes: - name: jellyfin-data persistentVolumeClaim: claimName: jellyfin-data - name: dropbox nfs: server: 172.16.18.1 path: /volume1/dropbox - name: tv-shows nfs: server: 172.16.18.1 path: /volume1/tv shows - name: video nfs: server: 172.16.18.1 path: /volume1/video - name: movies nfs: server: 172.16.18.1 path: /volume1/movies --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: jellyfin-data spec: storageClassName: longhorn accessModes: - ReadWriteOnce resources: requests: storage: 40Gi