jellyfin.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. ---
  2. apiVersion: v1
  3. kind: Namespace
  4. metadata:
  5. name: plex
  6. ---
  7. apiVersion: apps/v1
  8. kind: Deployment
  9. metadata:
  10. name: jellyfin
  11. namespace: plex
  12. spec:
  13. selector:
  14. matchLabels:
  15. app: jellyfin
  16. replicas: 1
  17. template:
  18. metadata:
  19. labels:
  20. app: jellyfin
  21. annotations:
  22. backup.velero.io/backup-volumes-excludes: media,tmpfs
  23. spec:
  24. containers:
  25. - name: jellyfin
  26. image: jellyfin/jellyfin:10.8.5
  27. ports:
  28. - containerPort: 8096
  29. name: http-web-svc
  30. volumeMounts:
  31. - mountPath: "/config"
  32. name: config
  33. - mountPath: "/media"
  34. name: media
  35. - mountPath: "/transcodes"
  36. name: tmpfs
  37. env:
  38. - name: PUID
  39. value: "1000"
  40. - name: PGID
  41. value: "1000"
  42. - name: NVIDIA_DRIVER_CAPABILITIES
  43. value: "all"
  44. livenessProbe:
  45. httpGet:
  46. path: /web/index.html
  47. port: 8096
  48. failureThreshold: 5
  49. initialDelaySeconds: 10
  50. periodSeconds: 30
  51. timeoutSeconds: 10
  52. resources:
  53. limits:
  54. nvidia.com/gpu: 1
  55. affinity:
  56. nodeAffinity:
  57. requiredDuringSchedulingIgnoredDuringExecution:
  58. nodeSelectorTerms:
  59. - matchExpressions:
  60. - key: gpu-node
  61. operator: In
  62. values:
  63. - "true"
  64. volumes:
  65. - name: config
  66. persistentVolumeClaim:
  67. claimName: jellyfin-config-pvc
  68. - name: media
  69. persistentVolumeClaim:
  70. claimName: media2-pvc
  71. - name: tmpfs
  72. emptyDir:
  73. medium: Memory
  74. sizeLimit: 12Gi
  75. ---
  76. apiVersion: v1
  77. kind: Service
  78. metadata:
  79. name: jellyfin-service
  80. namespace: plex
  81. spec:
  82. selector:
  83. app: jellyfin
  84. type: ClusterIP
  85. ports:
  86. - name: jellyfin-web-port
  87. protocol: TCP
  88. port: 8096
  89. targetPort: http-web-svc
  90. ---
  91. apiVersion: traefik.containo.us/v1alpha1
  92. kind: IngressRoute
  93. metadata:
  94. name: jellyfin
  95. namespace: plex
  96. spec:
  97. entryPoints:
  98. - websecure
  99. routes:
  100. - kind: Rule
  101. match: Host(`jellyfin.jibby.org`)
  102. services:
  103. - kind: Service
  104. name: jellyfin-service
  105. port: 8096