# Define a StorageClass using Longhorn apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: media-storage provisioner: driver.longhorn.io reclaimPolicy: Retain # Keep the data even if PVC is deleted allowVolumeExpansion: true parameters: numberOfReplicas: "1" # Adjust based on your cluster size staleReplicaTimeout: "30" # Timeout for stale replicas (in minutes) fromBackup: "" # Optional: Use if restoring from a Longhorn backup volumeBindingMode: Immediate # Ensures volumes are bound immediately --- # Create a PersistentVolumeClaim (PVC) using Longhorn apiVersion: v1 kind: PersistentVolumeClaim metadata: name: media-pvc namespace: jellyfin spec: storageClassName: media-storage accessModes: - ReadWriteOnce # Longhorn supports RWO; if RWX is needed, enable RWX mode in Longhorn UI resources: requests: storage: 1Ti