jellyfin.yaml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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. spec:
  22. containers:
  23. - name: jellyfin
  24. image: jellyfin/jellyfin:10.7.7
  25. ports:
  26. - containerPort: 8096
  27. name: http-web-svc
  28. volumeMounts:
  29. - mountPath: "/config"
  30. name: config
  31. - mountPath: "/media"
  32. name: media
  33. - mountPath: "/transcodes"
  34. name: tmpfs
  35. env:
  36. - name: PUID
  37. value: "1000"
  38. - name: PGID
  39. value: "1000"
  40. livenessProbe:
  41. httpGet:
  42. path: /web/index.html
  43. port: 8096
  44. failureThreshold: 5
  45. initialDelaySeconds: 10
  46. periodSeconds: 30
  47. timeoutSeconds: 10
  48. #resources:
  49. # limits:
  50. # nvidia.com/gpu: 1
  51. affinity:
  52. nodeAffinity:
  53. requiredDuringSchedulingIgnoredDuringExecution:
  54. nodeSelectorTerms:
  55. - matchExpressions:
  56. - key: gpu-node
  57. operator: In
  58. values:
  59. - "true"
  60. volumes:
  61. - name: config
  62. persistentVolumeClaim:
  63. claimName: jellyfin-config-pvc
  64. - name: media
  65. persistentVolumeClaim:
  66. claimName: plex-media-pvc
  67. - name: tmpfs
  68. emptyDir:
  69. medium: Memory
  70. sizeLimit: 12Gi
  71. ---
  72. apiVersion: v1
  73. kind: Service
  74. metadata:
  75. name: jellyfin-service
  76. namespace: plex
  77. spec:
  78. selector:
  79. app: jellyfin
  80. type: ClusterIP
  81. ports:
  82. - name: jellyfin-web-port
  83. protocol: TCP
  84. port: 8096
  85. targetPort: http-web-svc
  86. ---
  87. apiVersion: traefik.containo.us/v1alpha1
  88. kind: IngressRoute
  89. metadata:
  90. name: jellyfin
  91. namespace: plex
  92. spec:
  93. entryPoints:
  94. - websecure
  95. routes:
  96. - kind: Rule
  97. match: Host(`jellyfin.jibby.org`)
  98. services:
  99. - kind: Service
  100. name: jellyfin-service
  101. port: 8096