2025-04-19, 06:33 PM
I'm running it on Kubernetes and I have intel device plugins controller that gives me access to the integrated gpu of the vm
yaml
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app.kubernetes.io/instance: jellyfin
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: jellyfin
app.kubernetes.io/version: 10.7.7
helm.sh/chart: jellyfin-2.0.0
name: jellyfin
namespace: your-namespace
---
apiVersion: v1
data:
PGID: "1000"
PUID: "1000"
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/instance: jellyfin
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: jellyfin
app.kubernetes.io/version: 10.7.7
helm.sh/chart: jellyfin-2.0.0
name: jellyfin
namespace: your-namespace
---
apiVersion: v1
data: null
kind: Secret
metadata:
labels:
app.kubernetes.io/instance: jellyfin
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: jellyfin
app.kubernetes.io/version: 10.7.7
helm.sh/chart: jellyfin-2.0.0
name: jellyfin
namespace: your-namespace
---
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/instance: jellyfin
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: jellyfin
app.kubernetes.io/version: 10.7.7
helm.sh/chart: jellyfin-2.0.0
name: jellyfin
namespace: your-namespace
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: http
selector:
app.kubernetes.io/instance: jellyfin
app.kubernetes.io/name: jellyfin
type: ClusterIP
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app.kubernetes.io/instance: jellyfin
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: jellyfin
app.kubernetes.io/version: 10.7.7
helm.sh/chart: jellyfin-2.0.0
name: jellyfin-config
namespace: your-namespace
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 15Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/instance: jellyfin
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: jellyfin
app.kubernetes.io/version: 10.7.7
helm.sh/chart: jellyfin-2.0.0
name: jellyfin
namespace: your-namespace
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/instance: jellyfin
app.kubernetes.io/name: jellyfin
strategy:
type: Recreate
template:
metadata:
annotations:
backup.velero.io/backup-volumes-excludes: tv-shows-pvc,movies-pvc,anime-pvc,downloads-pvc
checksum/configmap: <redacted>
checksum/secret: <redacted>
labels:
app.kubernetes.io/instance: jellyfin
app.kubernetes.io/name: jellyfin
spec:
containers:
- envFrom:
- configMapRef:
name: jellyfin
- secretRef:
name: jellyfin
image: docker.io/linuxserver/jellyfin:10.10.7
imagePullPolicy: IfNotPresent
name: jellyfin
ports:
- containerPort: 8096
name: http
protocol: TCP
readinessProbe:
httpGet:
port: http
resources:
limits:
cpu: 1500m
gpu.intel.com/i915: 1
memory: 5Gi
requests:
cpu: 1500m
gpu.intel.com/i915: 1
memory: 4Gi
securityContext:
capabilities:
add:
- NET_ADMIN
volumeMounts:
- mountPath: /data/shows
name: shows-pvc
- mountPath: /data/downloads
name: downloads-pvc
- mountPath: /config
name: config
dnsPolicy: ClusterFirst
hostNetwork: false
nodeSelector:
kubernetes.io/hostname: your-node-name
securityContext: {}
serviceAccountName: jellyfin
volumes:
- name: shows-pvc
persistentVolumeClaim:
claimName: shows-pvc
- name: downloads-pvc
persistentVolumeClaim:
claimName: downloads-pvc
- name: config
persistentVolumeClaim:
claimName: jellyfin-config
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 50m
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/ssl-redirect: "false"
labels:
app.kubernetes.io/instance: jellyfin
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: jellyfin
app.kubernetes.io/version: 10.7.7
helm.sh/chart: jellyfin-2.0.0
name: jellyfin
namespace: your-namespace
spec:
ingressClassName: internal-nginx
rules:
- host: video.your-domain.com
http:
paths:
- backend:
service:
name: jellyfin
port:
number: 80
path: /
pathType: ImplementationSpecific
tls:
- hosts:
- '*.your-domain.com'
secretName: ssl-cert-production