From e8428107404dd139d6711a6ee55823eb26eeb7bf Mon Sep 17 00:00:00 2001 From: Tyler Perkins Date: Sat, 4 May 2024 22:05:02 -0400 Subject: [PATCH] Add paperless-ngx --- paperless-ngx/paperless-ngx-consume-pvc.yaml | 12 +++ paperless-ngx/paperless-ngx-data-pvc.yaml | 12 +++ paperless-ngx/paperless-ngx-deployment.yaml | 94 ++++++++++++++++++++ paperless-ngx/paperless-ngx-export-pvc.yaml | 12 +++ paperless-ngx/paperless-ngx-media-pvc.yaml | 12 +++ paperless-ngx/paperless-ngx-service.yaml | 13 +++ paperless-ngx/sealed-secret.yaml | 19 ++++ 7 files changed, 174 insertions(+) create mode 100644 paperless-ngx/paperless-ngx-consume-pvc.yaml create mode 100644 paperless-ngx/paperless-ngx-data-pvc.yaml create mode 100644 paperless-ngx/paperless-ngx-deployment.yaml create mode 100644 paperless-ngx/paperless-ngx-export-pvc.yaml create mode 100644 paperless-ngx/paperless-ngx-media-pvc.yaml create mode 100644 paperless-ngx/paperless-ngx-service.yaml create mode 100644 paperless-ngx/sealed-secret.yaml diff --git a/paperless-ngx/paperless-ngx-consume-pvc.yaml b/paperless-ngx/paperless-ngx-consume-pvc.yaml new file mode 100644 index 0000000..3146566 --- /dev/null +++ b/paperless-ngx/paperless-ngx-consume-pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: paperless-ngx-consume-pvc + namespace: paperless-ngx-ns +spec: + accessModes: + - ReadWriteMany + storageClassName: longhorn + resources: + requests: + storage: 2Gi diff --git a/paperless-ngx/paperless-ngx-data-pvc.yaml b/paperless-ngx/paperless-ngx-data-pvc.yaml new file mode 100644 index 0000000..1d4c251 --- /dev/null +++ b/paperless-ngx/paperless-ngx-data-pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: paperless-ngx-data-pvc + namespace: paperless-ngx-ns +spec: + accessModes: + - ReadWriteMany + storageClassName: longhorn + resources: + requests: + storage: 10Gi diff --git a/paperless-ngx/paperless-ngx-deployment.yaml b/paperless-ngx/paperless-ngx-deployment.yaml new file mode 100644 index 0000000..0e249af --- /dev/null +++ b/paperless-ngx/paperless-ngx-deployment.yaml @@ -0,0 +1,94 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: paperless-ngx + namespace: paperless-ngx-ns +spec: + replicas: 1 + selector: + matchLabels: + app: paperless-ngx + template: + metadata: + labels: + app: paperless-ngx + spec: + containers: + - name: paperless-ngx + image: ghcr.io/paperless-ngx/paperless-ngx:2.3.3 + env: + - name: PAPERLESS_URL + value: "https://paperless.clortox.com" + - name: PAPERLESS_TIME_ZONE + value: America/New_York + - name: PAPERLESS_ADMIN_USER + valueFrom: + secretKeyRef: + name: paperless-config + key: ADMIN_NAME + - name: PAPERLESS_ADMIN_MAIL + valueFrom: + secretKeyRef: + name: paperless-config + key: ADMIN_EMAIL + - name: PAPERLESS_ADMIN_PASSWORD + valueFrom: + secretKeyRef: + name: paperless-config + key: ADMIN_PASSWORD + + #- name: PAPERLESS_ENABLE_HTTP_REMOTE_USER + # value: "true" + #- name: PAPERLESS_HTTP_REMOTE_USER_HEADER_NAME + # value: "HTTP_REMOTE_USER" + #- name: PAPERLESS_LOGOUT_REDIRECT_URL + # value: "" + + - name: PAPERLESS_SECRET_KEY + valueFrom: + secretKeyRef: + name: paperless-config + key: SECRET + # Secret because the URI contains the password + - name: PAPERLESS_REDIS + valueFrom: + secretKeyRef: + name: paperless-config + key: REDIS_URL + - name: PAPERLESS_DBENGINE + value: "postgresql" + - name: PAPERLESS_DBHOST + value: postgresql.postgresql-system.svc.cluster.local + - name: PAPERLESS_DBPORT + value: "5432" + - name: PAPERLESS_DBUSER + value: "paperless" + - name: PAPERLESS_DBPASS + valueFrom: + secretKeyRef: + name: paperless-config + key: POSTGRES_PASS + ports: + - containerPort: 8000 + volumeMounts: + - name: paperless-consume + mountPath: "/usr/src/paperless/consume" + - name: paperless-media + mountPath: "/usr/src/paperless/media" + - name: paperless-export + mountPath: "/usr/src/paperless/export" + - name: paperless-data + mountPath: "/usr/src/paperless/data" + volumes: + - name: paperless-consume + persistentVolumeClaim: + claimName: paperless-ngx-consume-pvc + - name: paperless-media + persistentVolumeClaim: + claimName: paperless-ngx-media-pvc + - name: paperless-export + persistentVolumeClaim: + claimName: paperless-ngx-export-pvc + - name: paperless-data + persistentVolumeClaim: + claimName: paperless-ngx-data-pvc diff --git a/paperless-ngx/paperless-ngx-export-pvc.yaml b/paperless-ngx/paperless-ngx-export-pvc.yaml new file mode 100644 index 0000000..5f429b6 --- /dev/null +++ b/paperless-ngx/paperless-ngx-export-pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: paperless-ngx-export-pvc + namespace: paperless-ngx-ns +spec: + accessModes: + - ReadWriteMany + storageClassName: longhorn + resources: + requests: + storage: 1Gi diff --git a/paperless-ngx/paperless-ngx-media-pvc.yaml b/paperless-ngx/paperless-ngx-media-pvc.yaml new file mode 100644 index 0000000..27aeb18 --- /dev/null +++ b/paperless-ngx/paperless-ngx-media-pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: paperless-ngx-media-pvc + namespace: paperless-ngx-ns +spec: + accessModes: + - ReadWriteMany + storageClassName: longhorn + resources: + requests: + storage: 30Gi diff --git a/paperless-ngx/paperless-ngx-service.yaml b/paperless-ngx/paperless-ngx-service.yaml new file mode 100644 index 0000000..3ee7471 --- /dev/null +++ b/paperless-ngx/paperless-ngx-service.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: Service +metadata: + name: paperless-ngx-service + namespace: paperless-ngx-ns +spec: + selector: + app: paperless-ngx + type: LoadBalancer + ports: + - protocol: TCP + port: 80 + targetPort: 8000 diff --git a/paperless-ngx/sealed-secret.yaml b/paperless-ngx/sealed-secret.yaml new file mode 100644 index 0000000..669703c --- /dev/null +++ b/paperless-ngx/sealed-secret.yaml @@ -0,0 +1,19 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + creationTimestamp: null + name: paperless-config + namespace: paperless-ngx-ns +spec: + encryptedData: + ADMIN_EMAIL: AgDX1IzNrK1moCA/DJMU9TwKdn+vQrfK9F3lHMwisFrruPRh9yLkv8X3AWNzAL4KG+sINa4xbUaGn73Di2nto3MrOkBgE8sMDJ54sYGlmQtWpn0zNWpLcmOzpJVxtiTJXyCGMCV8S87z53w+HAsYMv7ReuKghUa9ZlLjCi243chXDV1hpZnwh5uczKsTFY+I+c5zzYh6GhykJPDlyGoa80YsWU8VwO7jIz75eUWiGlCfADtUCA1T9yfrydBCrroGVyYBxiKhcBuqyeHzKGGF9mfuIXeMhWl1Idpr4Ohp2DJLS2Nm16O0S3jh5SiWpQR6fiEHa7q9PKysnp4PGF577iSGEQFQW40TdnJ7dKUP8pgOMWBVI1C1CD+8DktoAx1KBFopfxvvlBnSf/+asPDcDlIbGc/CSkVeJVnvwhZsifXBhLeUTelAtpUnEZ3XCKEEqIiw/ICnVFG3oiuZN9bAM1FwEsRW0Vgh5VOel6q2Wi4DqF0mNyiaaKEgIvAmUUBhkpFhgvmsrDPV8UhlcCLBcxw2vfIget6jf0cK6UDIXs9/ooIZoxJ74/52DeI0FWY9Q/7iwZmza0ADsH15+hO6YrQukcuWokQNoUUmDrpUxOZuyw2kK3OXMo5Lq+gYc+ykV77OK0t5K/tDo2nv2WQ0W+Lw421mTA2S2TT2pi1SaXMDomXHTr9HRUDLJ2tTpIX+mOO2hFwIBgqVlBGZYefMqeCiLA== + ADMIN_NAME: AgDEdbEOWyZ4DMGSRFn2BduMEHbNYvXv7/2sjvTe/t87CEgj4YluZVlFAr0KQAvED7HJBl3jDZHbrkqYate/EzqkeV1lHVIaHCyLDIHrmWhE9mPRZ5cLTbPMDlxpFa4H6iq796u52KeCgLuM4cVxZTArrFsfILhgpaMmIYCStt+3DfBU+PP04PEmYytY1bsbrVL4wZNIFwJoBcJVxiCowAeCQ4I8SkJuZkKo8bCBVTTtQ5vtVXjY4qxqJ0XYwpxbyatCYAHN005EOjh/ZQUUskGDtbrbIeZkIj1MBmmb9ZlIQOfjO9+qxKkL4TqrUiWHmWaqokCG5wxo5yxZxari8B4GR2tHbF2aWgPfVlJi3+o4DzlJbGXYvHXXC4NmY3sPze4cuiSgDWiq0vbgw8V5RXPjcqjdyEUHoZAtV96XwsU0tIfSKj8uhhpcIiFEtljA3ie61nr3q3bcZB4a9KgGBlFv9O+mBzqJeq2DywIVhYnbyG8vqzGHX8kJWwXzPCH5G5BRU9GuA75FUaaHd3jxwHlP08qfntuQQZptqIh7Q75xaPaJvnTyJBHTZX1rDiOF4NrJ/MKZLE+LmI2gQ2Dso/XOlE9iGaN8xKZyTtVAS+U5J4b2rKqBCSi+d8cvpFUryW8qdCp4043+aYIznyQQP/8pwzqEfFObCnLKqjCo8lKvQSAtxx3uEvmLqrqSumK6ws/En+Py5g== + ADMIN_PASSWORD: AgBW40SS1is1/jahPEZQT9k91Sd4ahlPEW+ZM++VeIvvhOPgeB0YjchYL9TbB4IbqA2tXyP1vF6mzWTK4NjGUm/o4T+MIfEy+cwpgsKfgC5NqcAe4YBVAWeHPBIlJlc+lQYOoZbggjmEmnynQaMK7y/zwJ3K0OZiBugy4jwg2wlRd9EkEmUgt++TH6k8+4TjNX4eOJy26ucqUqTEbC9a4tMODgqasVB+zTXx3bv5Ojkpa0JyR4keCUtHfTeAy769nEgcQHCeJXW9+No95wgVCrMwgLlGOgWiuqQrBP50XVVhtaI2rDzReYRrW3ajRqVafTcrGCnKlVpOb7u34N7ikSpn0Hrn2UzhwKB+za8Bpkw8vs74bBy0IpRL352rx27hEc1mozEIr3ISxy6JKnWKawHYNgR6Hj5mg1f5Q2LyucAJDVbVPwTx/+uGquqfUrKCU2Gy3Xevp4hFMmFh5KXuewqTOo5m6lcUcuXeEdw/5Sc7RxpKLPaADZ9cvJjNqudDjI3JDt39TfqR82kOzG0o2kiSTBdkhr7ZkodOxeV+/d3KCNkFKUBQ0BJZsTwbL8FhUa0xVrSRCqW+eeKZ4uvxtVJByAkKSrGQSUHyVqQ50AQqArHI2zHL+iYsDhl3exOoCiFE0HrOaOYcw/PTiErVGL4PFnVip/R8k4ML9vtYlveKXSSHV/GgwRRRA6JZbtGjIH/3gupr0Uj+sqvTSlpVoNDrXEL0hLW+6lvtYcGbpvEcvQ== + POSTGRES_PASS: AgDWdgpJABCcxVvjoHzNTcwQDkCnLhxUFql59/pmhPOuGnpOUfU7Aebwt7ZoI5tNFlb2dJT1JVr2ghcbvy9KUsvtl7gh8ht6n+uiWwpb3cAqyHQe60bvHMVbJyVu1Z4Lam1VEhGhtCoKrdY4NL29++DHk4XFaPPUChXWXhNBW+h0+unlAGd4zB0paiRtP/J5IbAyu37ipKYs9fFWjSfDKFow1e/qbV/RHcGbpsE0Ea1KVepw05Y0w+9/8E07vJlhzqZIrNioq2L8wYe8/Caov6wx2gZo2+PqphDjEedDQgl07GndOWRYwmAlJWEzBSkKQXaChNVVV1aWN44aCya+29wmp5v5IZhEfTlqtxTF1yr5XJFNfvuNHFSED3oS2FmC51GX7ONtNBS+Psy662M1E1dO36oo08mLD0DyvrC3FhVpS0tPKy3u7CzMLxCqSCm10aK+t5st/n8o3rPLbqJT/0llCZ/cwZTuIyRwQ0yMnM6TYDSQhncP7cExqwmLjevAMyxJtJmQz9CECuhx6a2CHfaITVaEEFSCBZGpu44s3K8iHAEvsR9I+Z7BPr8E+p8gLrBmp3+diP5BKksliw4mQ9125DsEZIgmsTYoEhf0PZhWLeEfOPfTh/2SlA4TYK/5uiVgIyb+iwMcWND81ZtUdwSVQGl+CVShPffcRAxPVm9n3pjytK1Nlni6AONlCjxlcWYktdJvpUY6PAQRBX4U9PfFQdB0Kt+ire5YAwuPBq2nUw== + REDIS_URL: AgDRAas6f87ZL022J/pMvbi+V4ZMVyppl/FtZnReptBVfbLUJD7uSWG5s24paZ59nrDyp3PCVqfcSa+5+2dKRp4IN7oJnjQ1ack5gZMB2M94J1uUjJjaHlNoFb9VLbwasxtSFb/uX0vkb86GkCj3RrKeE08OVMimjR9557hJ99ZDz/LzwJRAlVeB93tB1ztfeSDFDOJhQydMwai4rgjCoQ0Z/C/NTDnRjmCro6PGMgQNALtUwtWypkoRu//SMwgFzBSF0/SbgL2G7TjDWDOuGHGsaWuVn3hQlYTT2Gb18TzB3O+6NGuWnJuCl2gAKDp/ZZF4QR1PAPV2LVxzqpBQwn7K2+dYw9gQPC6Sw6iRgC0ChnjCcr+2ryzLpAu8I9H5BJ2JUeh9dcbiUcQTJYvpa4AN84Noi7leIzzGBivYCC6Q3Z8Cd3a+I7fa4F8ZE5F4Qw1U7CNhVJQ61UUliRhlvJIXTXRfJ9/4bAoIKQfVu5UWpRZvPxdN3g64TsKFAMdE+Px0bCMpxlRxI7RLAa1VYTfVZL3g9mAIIZlL/u2mot6gmH37IsbnTkdL6FC0hWRKi8k0y20KUB66EAA9blentdhc716tU9CuI7Ouiik0/bcL2VnoQwDQCCPlr2yNSeIfLKxhdpQTnGKacUFNsQjAfF3x+E05gz7dDct8lNpjI0FVFq0M9BAV0djT3ECU8kqViy717ZrCi8J6m64RrR26tErzMouFjgXpMqw+jNttnOsz32ycXUa1DAK9Z8h7FK16L1nV+1Dbt30AcA54wEJFb4nsCeeUl0b04N+OlwNnveUI4xAmo9FmB1txTYw= + SECRET: AgB7kULin1dJwJHRnJUXX1YZHqx6Fc8JF7Rd3NWRYI5sqpRLHLVHZr19kf2p3EPFuoCBK4jcOo5+sg9L3IQgefSOtvTqjazl9Zcuv4w0LJKyX5+PJaqe2FFINoM+We+DispCNRWgnWFDokA2RH6J9htKpQvXscAlRhsEdERaRmrn24g69aryDeJ4EVXh0yOQK73kzGkurnod/caybunZUmtL3bQkMbWW5OTphxoyOMLolPV5JT4GooR0yGPgF/0tLvcph2Ys8zi2PjWVcqvdNGjMrrcT/HrA04ucFFLbhipl7e4MK5CfhzEfA435x6ujJySbIpYdgw0gTWti/WXXfr2SrZordj2bXVvZ237BpKdvyqOnaNV4QVC0yUHKfhSfEcPBJL3Q79w3HRpTmmd+TKpjfFgYGU0KPDKHmeIhiRng5OEDYiOMUrfnBBcXn+fILV0HeuQa8wHNRjIQ++GOfZ5dwbO1BtkInawNIOCzdkLa4C8c/rcLF46dzvhcHDC5t6jlA4fAGkZhlVRwJDmHwPubEuk3vKhXCbDQjlV1vKp7qnscEn4zXGUDVbGundg25ddDH3UCuMazEs7hvOut3WXh/vBXlMVG3k4hL0qubJQM0AhEs8X2vAo0X0tKEkKNqh2D1oWfjFWUT96LBlyfNa2FRlDW6rR1rfr/FKelFonpEY4afy5BIIyrj/RHWdwlliL0DO6MMTEWJxuOyOi/HXh0FAgN7mDQk4n0kttzdVdue/s6aKGltlMRUvH/fugOZNQya5uPrTj2QxB6qmU9dHalbfApdGIMHhdRFrjW/hTjQFLNO+RvMu1wgpB0/s5qDqSD1DqAkSwjkYQv3VjUbyj6Jc9RV192X4DsAJkPJxJKQQ== + template: + metadata: + creationTimestamp: null + name: paperless-config + namespace: paperless-ngx-ns