feat: add ersatztv deployment, service, persistent volume, and persistent volume claim configurations
This commit is contained in:
23
cluster/apps/ersatztv/ersatztv-pv.yml
Normal file
23
cluster/apps/ersatztv/ersatztv-pv.yml
Normal 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
|
||||||
|
|
||||||
27
cluster/apps/ersatztv/ersatztv-pvc.yml
Normal file
27
cluster/apps/ersatztv/ersatztv-pvc.yml
Normal 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
|
||||||
16
cluster/apps/ersatztv/ersatztv-svc.yml
Normal file
16
cluster/apps/ersatztv/ersatztv-svc.yml
Normal 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
|
||||||
|
|
||||||
46
cluster/apps/ersatztv/ersatztv.yml
Normal file
46
cluster/apps/ersatztv/ersatztv.yml
Normal 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
|
||||||
Reference in New Issue
Block a user