sickchill.yaml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: sickchill
  5. labels:
  6. run: sickchill
  7. spec:
  8. ports:
  9. - name: http
  10. port: 80
  11. targetPort: 8081
  12. selector:
  13. run: sickchill
  14. # type: LoadBalancer
  15. #status:
  16. # loadBalancer: {}
  17. ---
  18. apiVersion: v1
  19. kind: PersistentVolume
  20. metadata:
  21. name: sickchill-tv
  22. spec:
  23. capacity:
  24. storage: 10Ti
  25. volumeMode: Filesystem
  26. accessModes:
  27. - ReadWriteMany
  28. persistentVolumeReclaimPolicy: Retain # Keep 4eva
  29. storageClassName: default
  30. mountOptions:
  31. - hard
  32. - nfsvers=3
  33. nfs:
  34. path: /mnt/DroboFS/Shares/Public/media/tv
  35. server: 10.42.42.10
  36. claimRef:
  37. name: sickchill-tv
  38. namespace: default
  39. ---
  40. apiVersion: v1
  41. kind: PersistentVolume
  42. metadata:
  43. name: sickchill-shared
  44. spec:
  45. capacity:
  46. storage: 10Ti
  47. volumeMode: Filesystem
  48. accessModes:
  49. - ReadWriteMany
  50. persistentVolumeReclaimPolicy: Retain # Keep 4eva
  51. storageClassName: default
  52. mountOptions:
  53. - hard
  54. - nfsvers=3
  55. nfs:
  56. path: /mnt/DroboFS/Shares/Public/
  57. server: 10.42.42.10
  58. claimRef:
  59. name: sickchill-shared
  60. namespace: default
  61. ---
  62. apiVersion: v1
  63. kind: PersistentVolumeClaim
  64. metadata:
  65. name: sickchill-tv
  66. spec:
  67. storageClassName: standard
  68. accessModes:
  69. - ReadWriteMany
  70. resources:
  71. requests:
  72. storage: 10Ti
  73. status: {}
  74. ---
  75. apiVersion: v1
  76. kind: PersistentVolumeClaim
  77. metadata:
  78. name: sickchill-shared
  79. spec:
  80. storageClassName: standard
  81. accessModes:
  82. - ReadWriteMany
  83. resources:
  84. requests:
  85. storage: 10Ti
  86. status: {}
  87. ---
  88. apiVersion: v1
  89. kind: PersistentVolume
  90. metadata:
  91. name: sickchill-config
  92. spec:
  93. capacity:
  94. storage: 5Mi
  95. volumeMode: Filesystem
  96. accessModes:
  97. - ReadWriteMany
  98. persistentVolumeReclaimPolicy: Retain # Keep 4eva
  99. storageClassName: default
  100. mountOptions:
  101. - hard
  102. - nfsvers=3
  103. nfs:
  104. path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/sickchill-config
  105. server: 10.42.42.10
  106. claimRef:
  107. name: sickchill-config
  108. namespace: default
  109. ---
  110. apiVersion: v1
  111. kind: PersistentVolumeClaim
  112. metadata:
  113. name: sickchill-config
  114. annotations:
  115. nfs.io/storage-path: "sickchill-config"
  116. spec:
  117. storageClassName: default
  118. accessModes:
  119. - ReadWriteMany
  120. resources:
  121. requests:
  122. storage: 5Mi
  123. status: {}
  124. ---
  125. apiVersion: v1
  126. kind: PersistentVolume
  127. metadata:
  128. name: sickchill-downloads
  129. spec:
  130. capacity:
  131. storage: 5Mi
  132. volumeMode: Filesystem
  133. accessModes:
  134. - ReadWriteMany
  135. persistentVolumeReclaimPolicy: Retain # Keep 4eva
  136. storageClassName: default
  137. mountOptions:
  138. - hard
  139. - nfsvers=3
  140. nfs:
  141. path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/sickchill-downloads
  142. server: 10.42.42.10
  143. claimRef:
  144. name: sickchill-downloads
  145. namespace: default
  146. ---
  147. apiVersion: v1
  148. kind: PersistentVolumeClaim
  149. metadata:
  150. name: sickchill-downloads
  151. annotations:
  152. nfs.io/storage-path: "sickchill-downloads"
  153. spec:
  154. storageClassName: default
  155. accessModes:
  156. - ReadWriteMany
  157. resources:
  158. requests:
  159. storage: 5Mi
  160. status: {}
  161. ---
  162. apiVersion: apps/v1
  163. kind: Deployment
  164. metadata:
  165. name: sickchill
  166. spec:
  167. replicas: 1
  168. selector:
  169. matchLabels:
  170. run: sickchill
  171. strategy:
  172. type: Recreate
  173. template:
  174. metadata:
  175. labels:
  176. run: sickchill
  177. spec:
  178. terminationGracePeriodSeconds: 30
  179. containers:
  180. # 2022-07-22: Locked at version 2022.2.20 to fix issue: https://github.com/linuxserver/docker-sickchill/issues/41
  181. - image: linuxserver/sickchill:2022.2.20
  182. imagePullPolicy: "Always"
  183. name: sickchill
  184. env:
  185. - name: PUID
  186. value: "1001"
  187. - name: GUID
  188. value: "1001"
  189. - name: TZ
  190. value: US/Michigan
  191. ports:
  192. - containerPort: 8081
  193. resources: {}
  194. volumeMounts:
  195. - mountPath: /config
  196. name: sickchill-config
  197. - mountPath: /downloads
  198. name: sickchill-downloads
  199. - mountPath: /tv
  200. name: sickchill-tv
  201. - mountPath: /shared
  202. name: sickchill-shared
  203. restartPolicy: Always
  204. volumes:
  205. - name: sickchill-config
  206. persistentVolumeClaim:
  207. claimName: sickchill-config
  208. - name: sickchill-downloads
  209. persistentVolumeClaim:
  210. claimName: sickchill-downloads
  211. - name: sickchill-tv
  212. persistentVolumeClaim:
  213. claimName: sickchill-tv
  214. - name: sickchill-shared
  215. persistentVolumeClaim:
  216. claimName: sickchill-shared
  217. dnsPolicy: "None"
  218. dnsConfig:
  219. nameservers:
  220. - 10.42.42.239
  221. - 10.42.42.1
  222. searches:
  223. - default.svc.cluster.local
  224. - svc.cluster.local
  225. - cluster.local
  226. options:
  227. - name: ndots
  228. value: "2"
  229. - name: edns0
  230. - name: trust-ad
  231. status: {}
  232. ---
  233. # Hosting
  234. apiVersion: networking.k8s.io/v1
  235. kind: Ingress
  236. metadata:
  237. name: sickchill-ingress
  238. annotations:
  239. cert-manager.io/cluster-issuer: "letsencrypt-prod"
  240. ## No basic auth for sickchill
  241. ## type of authentication
  242. #nginx.ingress.kubernetes.io/auth-type: basic
  243. ## name of the secret that contains the user/password definitions
  244. #nginx.ingress.kubernetes.io/auth-secret: basic-auth
  245. ## message to display with an appropriate context why the authentication is required
  246. #nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - Octoprint'
  247. spec:
  248. tls:
  249. - hosts:
  250. - sickchill.monkeybox.org
  251. - tv.monkeybox.org
  252. secretName: sickchill-tls
  253. rules:
  254. - host: sickchill.monkeybox.org
  255. http:
  256. paths:
  257. - path: /
  258. pathType: Prefix
  259. backend:
  260. service:
  261. name: sickchill
  262. port:
  263. number: 80
  264. - host: tv.monkeybox.org
  265. http:
  266. paths:
  267. - path: /
  268. pathType: Prefix
  269. backend:
  270. service:
  271. name: sickchill
  272. port:
  273. number: 80