03011a73e8
Two initial Fornax distributed torrent workers, each a gluetun+qBittorrent+natpmpc-helper pod on a different ProtonVPN TX server with NAT-PMP enabled. VPN private keys stored in Vault at secret/fornax/worker-tx253 and secret/fornax/worker-tx34, surfaced via ExternalSecrets. Workers share the media-data PVC; each has its own config PVC. Services: fornax-worker-tx253:8080 and fornax-worker-tx34:8080 (ClusterIP, media ns)
162 lines
3.1 KiB
YAML
162 lines
3.1 KiB
YAML
# Shared media PV — hostPath /media on Legion (single-node cluster)
|
|
# Folder structure:
|
|
# /media/movies — feature films
|
|
# /media/tv/shows — TV series
|
|
# /media/tv/anime — anime series
|
|
# /media/documentaries — documentaries
|
|
# /media/standup — stand-up comedy specials
|
|
# /media/concerts — concerts & music videos
|
|
# /media/kids — kids & family content
|
|
# /media/music — audio music library
|
|
# /media/downloads — qBittorrent working dir (complete/incomplete)
|
|
apiVersion: v1
|
|
kind: PersistentVolume
|
|
metadata:
|
|
name: media-data
|
|
spec:
|
|
capacity:
|
|
storage: 500Gi
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
persistentVolumeReclaimPolicy: Retain
|
|
storageClassName: ""
|
|
hostPath:
|
|
path: /media
|
|
type: Directory
|
|
claimRef:
|
|
namespace: media
|
|
name: media-data
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: media-data
|
|
namespace: media
|
|
spec:
|
|
storageClassName: ""
|
|
volumeName: media-data
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 500Gi
|
|
---
|
|
# Per-service config PVCs (small, local-path provisioner)
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: jellyfin-config
|
|
namespace: media
|
|
spec:
|
|
storageClassName: local-path
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 10Gi
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: radarr-config
|
|
namespace: media
|
|
spec:
|
|
storageClassName: local-path
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 2Gi
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: sonarr-config
|
|
namespace: media
|
|
spec:
|
|
storageClassName: local-path
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 2Gi
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: prowlarr-config
|
|
namespace: media
|
|
spec:
|
|
storageClassName: local-path
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: qbittorrent-config
|
|
namespace: media
|
|
spec:
|
|
storageClassName: local-path
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: bazarr-config
|
|
namespace: media
|
|
spec:
|
|
storageClassName: local-path
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: overseerr-config
|
|
namespace: media
|
|
spec:
|
|
storageClassName: local-path
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
---
|
|
# Fornax worker config PVCs — one per worker pod (qBittorrent config + state)
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: fornax-worker-tx253-config
|
|
namespace: media
|
|
spec:
|
|
storageClassName: local-path
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
---
|
|
apiVersion: v1
|
|
kind: PersistentVolumeClaim
|
|
metadata:
|
|
name: fornax-worker-tx34-config
|
|
namespace: media
|
|
spec:
|
|
storageClassName: local-path
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|