Add Jellyfin

This commit is contained in:
Antonin Ruan
2026-01-11 12:26:32 +01:00
parent 1f0d7c1305
commit c5922b38e4

104
k8s/jellyfin.yaml.in Normal file
View File

@@ -0,0 +1,104 @@
---
apiVersion: v1
kind: Service
metadata:
name: jellyfin
spec:
selector:
app: jellyfin
ports:
- name: web
port: 8096
- name: client-discovery
port: 7359
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: jellyfin
annotations:
spec.ingressClassName: "nginx"
cert-manager.io/cluster-issuer: "letsencrypt"
spec:
tls:
- hosts:
- media.{{.domain}}
secretName: jellyfin-tls
rules:
- host: media.{{.domain}}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: jellyfin
port:
number: 8096
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jellyfin-cache
spec:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: jellyfin-config
spec:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: jellyfin
labels:
app: jellyfin
spec:
replicas: 1
selector:
matchLabels:
app: jellyfin
template:
metadata:
labels:
app: jellyfin
spec:
containers:
- name: jellyfin
image: jellyfin/jellyfin:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8096
- containerPort: 7359
volumeMounts:
- name: jellyfin-data
mountPath: /media
- name: jellyfin-config
mountPath: /config
- name: jellyfin-cache
mountPath: /cache
volumes:
- name: jellyfin-data
nfs:
path: "/srv/nfs/jellyfin"
server: "10.42.0.1"
readOnly: false
- name: jellyfin-config
persistentVolumeClaim:
claimName: jellyfin-config
- name: jellyfin-cache
persistentVolumeClaim:
claimName: jellyfin-cache