From 9e4ced262e4da0861f08b48f58dc8b4228f92f5c Mon Sep 17 00:00:00 2001 From: aggarwalakshun Date: Sat, 27 Dec 2025 14:56:16 +0000 Subject: [PATCH] add manifests for jellyfin --- .../ipv6/media/jellyfin/jellyfin-ingress.yml | 26 +++++++++ clusters/ipv6/media/jellyfin/jellyfin-pvc.yml | 15 ++++++ clusters/ipv6/media/jellyfin/jellyfin-svc.yml | 14 +++++ clusters/ipv6/media/jellyfin/jellyfin.yml | 53 +++++++++++++++++++ 4 files changed, 108 insertions(+) create mode 100644 clusters/ipv6/media/jellyfin/jellyfin-ingress.yml create mode 100644 clusters/ipv6/media/jellyfin/jellyfin-pvc.yml create mode 100644 clusters/ipv6/media/jellyfin/jellyfin-svc.yml create mode 100644 clusters/ipv6/media/jellyfin/jellyfin.yml diff --git a/clusters/ipv6/media/jellyfin/jellyfin-ingress.yml b/clusters/ipv6/media/jellyfin/jellyfin-ingress.yml new file mode 100644 index 0000000..63842e6 --- /dev/null +++ b/clusters/ipv6/media/jellyfin/jellyfin-ingress.yml @@ -0,0 +1,26 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: jellyfin-ingress + namespace: media + annotations: + cert-manager.io/cluster-issuer: letsencrypt-cloudflare +spec: + ingressClassName: traefik + tls: + - hosts: + - jellyfin.akshun-lab.cc + secretName: jellyfin-tls + rules: + - host: jellyfin.akshun-lab.cc + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: jellyfin-service + port: + number: 8096 + diff --git a/clusters/ipv6/media/jellyfin/jellyfin-pvc.yml b/clusters/ipv6/media/jellyfin/jellyfin-pvc.yml new file mode 100644 index 0000000..b0814f5 --- /dev/null +++ b/clusters/ipv6/media/jellyfin/jellyfin-pvc.yml @@ -0,0 +1,15 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: jellyfin-pvc + namespace: media +spec: + resources: + requests: + storage: 5Gi + storageClassName: longhorn + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + diff --git a/clusters/ipv6/media/jellyfin/jellyfin-svc.yml b/clusters/ipv6/media/jellyfin/jellyfin-svc.yml new file mode 100644 index 0000000..9fa6273 --- /dev/null +++ b/clusters/ipv6/media/jellyfin/jellyfin-svc.yml @@ -0,0 +1,14 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: jellyfin-service + namespace: media +spec: + selector: + app: jellyfin + ports: + - port: 8096 + targetPort: 8096 + protocol: TCP + diff --git a/clusters/ipv6/media/jellyfin/jellyfin.yml b/clusters/ipv6/media/jellyfin/jellyfin.yml new file mode 100644 index 0000000..16b6bc6 --- /dev/null +++ b/clusters/ipv6/media/jellyfin/jellyfin.yml @@ -0,0 +1,53 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jellyfin + namespace: media +spec: + strategy: + type: Recreate + replicas: 1 + selector: + matchLabels: + app: jellyfin + template: + metadata: + labels: + app: jellyfin + spec: + containers: + - name: jellyfin + image: jellyfin/jellyfin:10.11.5 + ports: + - containerPort: 8096 + volumeMounts: + - name: media + mountPath: /media + - name: config + mountPath: /config + - name: cache + mountPath: /cache + - name: i915 + mountPath: /dev/dri + securityContext: + privileged: true + resources: + requests: + gpu.intel.com/i915: "1" + limits: + gpu.intel.com/i915: "1" + volumes: + - name: config + persistentVolumeClaim: + claimName: jellyfin-pvc + - name: cache + emptyDir: {} + - name: media + nfs: + server: 192.168.1.4 + path: /merge + - name: i915 + hostPath: + path: /dev/dri +