apiVersion: apps/v1 kind: Deployment metadata: name: jellyfin spec: replicas: 1 selector: matchLabels: app: jellyfin template: metadata: labels: app: jellyfin spec: containers: - name: jellyfin image: jellyfin/jellyfin:latest ports: - containerPort: 8096 # HTTP - containerPort: 8920 # HTTPS (if enabled) volumeMounts: - name: jellyfin-config mountPath: /config - name: jellyfin-cache mountPath: /cache - name: jellyfin-media mountPath: /media # adjust to your real media structure resources: requests: memory: "512Mi" cpu: "200m" limits: memory: "2Gi" cpu: "1000m" volumes: - name: jellyfin-config persistentVolumeClaim: claimName: jellyfin-config-pvc - name: jellyfin-cache persistentVolumeClaim: claimName: jellyfin-cache-pvc - name: jellyfin-media hostPath: path: /var/lib/rancher/k3s/storage/jellyfin-data-mnt # where data is on host FS type: Directory --- apiVersion: v1 kind: Service metadata: name: jellyfin spec: type: NodePort selector: app: jellyfin ports: - name: http port: 8096 targetPort: 8096 nodePort: 30096