--- # Config PVC - shared, each app mounts a subdirectory apiVersion: v1 kind: PersistentVolumeClaim metadata: name: media-config namespace: media labels: app.kubernetes.io/name: media-stack spec: accessModes: - ReadWriteMany storageClassName: nfs-media resources: requests: storage: 5Gi selector: matchLabels: type: nfs usage: config --- # Downloads PVC - shared between qbittorrent and *arr apps apiVersion: v1 kind: PersistentVolumeClaim metadata: name: media-downloads namespace: media labels: app.kubernetes.io/name: media-stack spec: accessModes: - ReadWriteMany storageClassName: nfs-media resources: requests: storage: 20Gi selector: matchLabels: type: nfs usage: downloads --- # Media library PVC - shared between jellyfin and *arr apps apiVersion: v1 kind: PersistentVolumeClaim metadata: name: media-library namespace: media labels: app.kubernetes.io/name: media-stack spec: accessModes: - ReadWriteMany storageClassName: nfs-media resources: requests: storage: 20Gi selector: matchLabels: type: nfs usage: media --- # Transcode cache PVC - Jellyfin only apiVersion: v1 kind: PersistentVolumeClaim metadata: name: media-transcode namespace: media labels: app.kubernetes.io/name: media-stack spec: accessModes: - ReadWriteMany storageClassName: nfs-media resources: requests: storage: 10Gi selector: matchLabels: type: nfs usage: transcode