feat: add ersatztv deployment, service, persistent volume, and persistent volume claim configurations

This commit is contained in:
2025-04-15 08:25:00 +05:30
parent be358a6562
commit 4da6c3eb10
4 changed files with 112 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: jellyfin-intel-pv
namespace: default
spec:
capacity:
storage: 10Gi
accessModes:
- ReadOnlyMany
storageClassName: jellyfin-intel-pv
hostPath:
path: "/dev/dri/renderD128"
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: gpu
operator: In
values:
- intel

View File

@@ -0,0 +1,27 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jellyfin-intel-pvc
namespace: default
spec:
storageClassName: jellyfin-intel-pv
resources:
requests:
storage: 10Gi
accessModes:
- ReadOnlyMany
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: longhorn-ersatztv
namespace: default
spec:
accessModes:
- ReadWriteMany
storageClassName: longhorn
resources:
requests:
storage: 1Gi

View File

@@ -0,0 +1,16 @@
---
apiVersion: v1
kind: Service
metadata:
name: ersatztv-service
namespace: default
spec:
type: NodePort
selector:
app: ersatztv
ports:
- port: 8409
targetPort: 8409
nodePort: 8409
protocol: TCP

View File

@@ -0,0 +1,46 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ersatztv
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: ersatztv
template:
metadata:
labels:
app: ersatztv
spec:
securityContext:
runAsGroup: 0
runAsUser: 0
supplementalGroups:
- 128
- 226
- 106
containers:
- name: ersatztv
image: jasongdove/ersatztv:v25.1.0-vaapi
ports:
- containerPort: 8409
volumeMounts:
- name: data
mountPath: /root/.local/share/ersatztv
- name: intel
mountPath: /dev/dri/renderD128
- name: transcode
mountPath: /root/.local/share/etv-transcode
securityContext:
privileged: true
volumes:
- name: data
persistentVolumeClaim:
claimName: longhorn-ersatztv
- name: transcode
emptyDir: {}
- name: intel
persistentVolumeClaim:
claimName: jellyfin-intel-pvc