add the media stack

This commit is contained in:
tsvetkov
2026-02-27 00:55:03 +00:00
commit 179dca7339
18 changed files with 1689 additions and 0 deletions

89
base/nfs-storage.yaml Normal file
View File

@@ -0,0 +1,89 @@
---
# 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