calibre.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. ---
  2. kind: Deployment
  3. apiVersion: apps/v1
  4. metadata:
  5. name: calibre
  6. labels:
  7. app: calibre
  8. spec:
  9. replicas: 1
  10. selector:
  11. matchLabels:
  12. app: calibre
  13. template:
  14. metadata:
  15. labels:
  16. app: calibre
  17. spec:
  18. containers:
  19. - name: calibre
  20. image: lscr.io/linuxserver/calibre:latest
  21. env:
  22. - name: PUID
  23. value: "1000"
  24. - name: PGID
  25. value: "1000"
  26. ports:
  27. - name: web
  28. containerPort: 8080
  29. - name: content
  30. containerPort: 8081
  31. volumeMounts:
  32. - name: calibre-data-volume
  33. mountPath: "/config"
  34. - name: media-volume
  35. mountPath: "/downloads/transmission"
  36. subPath: "downloads/transmission"
  37. - name: tesseract-nfs
  38. mountPath: "/books"
  39. #- name: media-volume
  40. # mountPath: "/movies"
  41. # subPath: "library/movies"
  42. volumes:
  43. - name: calibre-data-volume
  44. persistentVolumeClaim:
  45. claimName: calibre-data-pvc
  46. - name: media-volume
  47. persistentVolumeClaim:
  48. claimName: media-pvc
  49. - name: tesseract-nfs
  50. nfs:
  51. server: 192.168.1.87
  52. path: /tank/books
  53. ---
  54. apiVersion: v1
  55. kind: Service
  56. metadata:
  57. name: calibre
  58. spec:
  59. type: ClusterIP
  60. ports:
  61. - name: web
  62. port: 8080
  63. selector:
  64. app: calibre
  65. ---
  66. apiVersion: v1
  67. kind: Service
  68. metadata:
  69. name: books
  70. spec:
  71. type: ClusterIP
  72. ports:
  73. - name: content
  74. port: 8081
  75. selector:
  76. app: calibre
  77. ---
  78. apiVersion: traefik.containo.us/v1alpha1
  79. kind: IngressRoute
  80. metadata:
  81. name: calibre-ingress-route
  82. namespace: default
  83. spec:
  84. entryPoints:
  85. - web
  86. routes:
  87. - match: Host(`calibre.dezendorf.net`)
  88. kind: Rule
  89. middlewares:
  90. - name: redirecthttps
  91. services:
  92. - name: calibre
  93. port: 8080
  94. ---
  95. apiVersion: traefik.containo.us/v1alpha1
  96. kind: IngressRoute
  97. metadata:
  98. name: calibre-websecure-route
  99. namespace: default
  100. spec:
  101. entryPoints:
  102. - websecure
  103. routes:
  104. - match: Host(`calibre.dezendorf.net`)
  105. kind: Rule
  106. services:
  107. - name: calibre
  108. port: 8080
  109. tls:
  110. certResolver: myresolver
  111. ---
  112. apiVersion: traefik.containo.us/v1alpha1
  113. kind: IngressRoute
  114. metadata:
  115. name: books-websecure-route
  116. namespace: default
  117. spec:
  118. entryPoints:
  119. - websecure
  120. routes:
  121. - match: Host(`books.dezendorf.net`)
  122. kind: Rule
  123. services:
  124. - name: books
  125. port: 8081
  126. tls:
  127. certResolver: myresolver
  128. ---
  129. apiVersion: traefik.containo.us/v1alpha1
  130. kind: IngressRoute
  131. metadata:
  132. name: books-ingress-route
  133. namespace: default
  134. spec:
  135. entryPoints:
  136. - web
  137. routes:
  138. - match: Host(`books.dezendorf.net`)
  139. kind: Rule
  140. middlewares:
  141. - name: redirecthttps
  142. services:
  143. - name: books
  144. port: 8081