90 lines
1.7 KiB
YAML
90 lines
1.7 KiB
YAML
---
|
|
# StorageClass for NFS (optional, for dynamic provisioning reference)
|
|
apiVersion: storage.k8s.io/v1
|
|
kind: StorageClass
|
|
metadata:
|
|
name: nfs-media
|
|
provisioner: kubernetes.io/no-provisioner
|
|
volumeBindingMode: WaitForFirstConsumer
|
|
reclaimPolicy: Retain
|
|
|
|
---
|
|
# PV for app configs - each app gets its own subdirectory
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: media-config-pv
|
|
labels:
|
|
type: nfs
|
|
usage: config
|
|
spec:
|
|
capacity:
|
|
storage: 5Gi
|
|
accessModes:
|
|
- ReadWriteMany
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: nfs-media
|
|
nfs:
|
|
server: 10.0.0.230
|
|
path: /srv/nfs/media/config
|
|
|
|
---
|
|
# PV for downloads (shared between qbittorrent and *arr apps)
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: media-downloads-pv
|
|
labels:
|
|
type: nfs
|
|
usage: downloads
|
|
spec:
|
|
capacity:
|
|
storage: 20Gi
|
|
accessModes:
|
|
- ReadWriteMany
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: nfs-media
|
|
nfs:
|
|
server: 10.0.0.230
|
|
path: /srv/nfs/media/downloads
|
|
|
|
---
|
|
# PV for media library (shared between jellyfin and *arr apps)
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: media-library-pv
|
|
labels:
|
|
type: nfs
|
|
usage: media
|
|
spec:
|
|
capacity:
|
|
storage: 20Gi
|
|
accessModes:
|
|
- ReadWriteMany
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: nfs-media
|
|
nfs:
|
|
server: 10.0.0.230
|
|
path: /srv/nfs/media/media
|
|
|
|
---
|
|
# PV for Jellyfin transcode cache
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: media-transcode-pv
|
|
labels:
|
|
type: nfs
|
|
usage: transcode
|
|
spec:
|
|
capacity:
|
|
storage: 10Gi
|
|
accessModes:
|
|
- ReadWriteMany
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: nfs-media
|
|
nfs:
|
|
server: 10.0.0.230
|
|
path: /srv/nfs/media/transcode
|