# services/jellyfin/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: jellyfin namespace: jellyfin labels: app: jellyfin spec: replicas: 1 strategy: type: RollingUpdate rollingUpdate: maxSurge: 0 maxUnavailable: 1 selector: matchLabels: app: jellyfin template: metadata: labels: app: jellyfin spec: nodeSelector: jellyfin: "true" runtimeClassName: nvidia containers: - name: jellyfin image: docker.io/jellyfin/jellyfin:10.10.7 imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8096 env: - name: NVIDIA_DRIVER_CAPABILITIES value: "compute,video,utility" - name: JELLYFIN_PublishedServerUrl value: "https://stream.bstein.dev" resources: limits: nvidia.com/gpu: 1 # cpu: "4" # memory: 8Gi requests: nvidia.com/gpu: 1 cpu: "500m" memory: 1Gi volumeMounts: - name: config mountPath: /config - name: cache mountPath: /cache - name: media mountPath: /media securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: false volumes: - name: config persistentVolumeClaim: claimName: jellyfin-config-astreae - name: cache persistentVolumeClaim: claimName: jellyfin-cache-astreae - name: media persistentVolumeClaim: claimName: jellyfin-media-asteria