radarr.yaml 4.7 KB

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