copyparty.yaml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. ---
  2. apiVersion: apps/v1
  3. kind: Deployment
  4. metadata:
  5. name: copyparty
  6. namespace: copyparty
  7. spec:
  8. strategy:
  9. type: Recreate
  10. selector:
  11. matchLabels:
  12. app: copyparty
  13. replicas: 1
  14. template:
  15. metadata:
  16. labels:
  17. app: copyparty
  18. annotations:
  19. backup.velero.io/backup-volumes-excludes: copyparty
  20. spec:
  21. containers:
  22. - name: copyparty
  23. image: copyparty/ac:latest
  24. imagePullPolicy: Always
  25. ports:
  26. - containerPort: 3923
  27. name: http-web-svc
  28. volumeMounts:
  29. - mountPath: "/w"
  30. name: copyparty
  31. - name: accounts
  32. mountPath: /cfg/accounts.conf
  33. subPath: accounts.conf
  34. - name: config-default
  35. mountPath: /cfg/default.conf
  36. subPath: default.conf
  37. volumes:
  38. - name: copyparty
  39. persistentVolumeClaim:
  40. claimName: copyparty-pvc
  41. - name: config-default
  42. configMap:
  43. name: copyparty-config
  44. configMap:
  45. items:
  46. - key: default.conf
  47. path: default.conf
  48. - name: accounts
  49. secret:
  50. secretName: copyparty-accounts
  51. ---
  52. apiVersion: v1
  53. kind: ConfigMap
  54. metadata:
  55. name: copyparty-config
  56. namespace: copyparty
  57. data:
  58. default.conf: |
  59. [global]
  60. p: 3923
  61. e2dsa # enable file indexing and filesystem scanning
  62. e2ts # and enable multimedia indexing
  63. name: copyparty.jibby.org
  64. qr
  65. qrs # HTTPS QR code
  66. qri: copyparty.jibby.org
  67. xff-src: lan
  68. rproxy: -1
  69. dav-auth
  70. usernames
  71. # create volumes:
  72. [/pub]
  73. /w/pub
  74. accs:
  75. r: *
  76. A: josh
  77. flags:
  78. og
  79. #og_ua: '(Discord|Twitter|Slack)bot' # doesn't work w/ signal
  80. [/priv]
  81. /w/priv
  82. accs:
  83. A: josh
  84. [/priv/Archive/Signal]
  85. /w/priv/Archive/Signal
  86. accs:
  87. A: josh
  88. flags:
  89. nohash: .*
  90. noidx: .*
  91. daw
  92. dthumb
  93. [/priv/Archive/SMS]
  94. /w/priv/Archive/SMS
  95. accs:
  96. A: josh
  97. flags:
  98. noidx: .*
  99. nohash: .*
  100. daw
  101. dthumb
  102. lifetime: 7257600 # 3mo
  103. [/writes]
  104. /w/writes
  105. accs:
  106. w: *
  107. A: josh
  108. flags:
  109. lifetime: 604800 # 1wk
  110. xz: 0
  111. dthumb
  112. ---
  113. apiVersion: v1
  114. kind: Service
  115. metadata:
  116. name: copyparty-service
  117. namespace: copyparty
  118. spec:
  119. selector:
  120. app: copyparty
  121. type: ClusterIP
  122. ports:
  123. - name: copyparty-web-port
  124. protocol: TCP
  125. port: 3923
  126. targetPort: http-web-svc
  127. ---
  128. apiVersion: networking.k8s.io/v1
  129. kind: Ingress
  130. metadata:
  131. name: copyparty
  132. namespace: copyparty
  133. annotations:
  134. traefik.ingress.kubernetes.io/router.entrypoints: websecure
  135. spec:
  136. rules:
  137. - host: copyparty.jibby.org
  138. http:
  139. paths:
  140. - path: /
  141. pathType: Prefix
  142. backend:
  143. service:
  144. name: copyparty-service
  145. port:
  146. number: 3923
  147. ---
  148. apiVersion: external-secrets.io/v1
  149. kind: ExternalSecret
  150. metadata:
  151. name: copyparty-accounts
  152. namespace: copyparty
  153. spec:
  154. target:
  155. name: copyparty-accounts
  156. deletionPolicy: Delete
  157. template:
  158. type: Opaque
  159. data:
  160. accounts.conf: |-
  161. [accounts]
  162. {{ .username }}: {{ .password }}
  163. data:
  164. - secretKey: username
  165. sourceRef:
  166. storeRef:
  167. name: bitwarden-login
  168. kind: ClusterSecretStore
  169. remoteRef:
  170. key: 7c7ffb0a-c14d-4091-ab94-b32d016335e6
  171. property: username
  172. - secretKey: password
  173. sourceRef:
  174. storeRef:
  175. name: bitwarden-login
  176. kind: ClusterSecretStore
  177. remoteRef:
  178. key: 7c7ffb0a-c14d-4091-ab94-b32d016335e6
  179. property: password