diff --git a/paperless-ngx/Chart.lock b/paperless-ngx/Chart.lock new file mode 100644 index 0000000..0bc43be --- /dev/null +++ b/paperless-ngx/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: mariadb + repository: https://charts.bitnami.com/bitnami + version: 13.1.3 +- name: redis + repository: https://charts.bitnami.com/bitnami + version: 18.1.0 +digest: sha256:1359f6222ea732188ea74b3d2c2568ac954490d5e6554ce76a711b8745ee0468 +generated: "2023-09-23T16:30:37.743657+02:00" diff --git a/paperless-ngx/Chart.yaml b/paperless-ngx/Chart.yaml new file mode 100644 index 0000000..e41b9c2 --- /dev/null +++ b/paperless-ngx/Chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v2 +appVersion: "2.1" +dependencies: +- condition: mariadb.enabled + name: mariadb + repository: https://charts.bitnami.com/bitnami + version: 13.1.* +- condition: redis.enabled + name: redis + repository: https://charts.bitnami.com/bitnami + version: 18.1.* +description: A helm chart for Papeless-ngx +home: https://docs.paperless-ngx.com/ +keywords: +- paperless +maintainers: +- email: dentaku@wazong.de + name: Thomas Renger +name: paperless +sources: +- https://github.com/paperless-ngx/paperless-ngx +type: application +version: "1.0" diff --git a/paperless-ngx/charts/mariadb-13.1.3.tgz b/paperless-ngx/charts/mariadb-13.1.3.tgz new file mode 100644 index 0000000..43c299e Binary files /dev/null and b/paperless-ngx/charts/mariadb-13.1.3.tgz differ diff --git a/paperless-ngx/charts/redis-18.1.0.tgz b/paperless-ngx/charts/redis-18.1.0.tgz new file mode 100644 index 0000000..2b3a937 Binary files /dev/null and b/paperless-ngx/charts/redis-18.1.0.tgz differ diff --git a/paperless-ngx/templates/deployment.yaml b/paperless-ngx/templates/deployment.yaml new file mode 100644 index 0000000..fdead68 --- /dev/null +++ b/paperless-ngx/templates/deployment.yaml @@ -0,0 +1,67 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: {{ .Release.Name }} + labels: + app: {{ .Release.Name }} +spec: + replicas: 1 + selector: + matchLabels: + app: {{ .Release.Name }} + template: + metadata: + labels: + app: {{ .Release.Name }} + spec: + imagePullSecrets: + - name: global-regcred + containers: + - name: {{ .Release.Name }} + image: {{ .Values.image }} + env: + - name: PAPERLESS_TIME_ZONE + value: Europe/Berlin + - name: PAPERLESS_OCR_LANGUAGE + value: deu + - name: PAPERLESS_SECRET_KEY + value: {{ .Values.secretkey }} + - name: PAPERLESS_ADMIN_USER + value: admin + - name: PAPERLESS_ADMIN_PASSWORD + value: {{ .Values.adminpassword }} + - name: PAPERLESS_URL + value: {{ .Values.url | printf "https://%s" }} + - name: PAPERLESS_REDIS + value: redis://:{{ .Values.redis.auth.password }}@paperless-redis-master:6379 + - name: PAPERLESS_DBENGINE + value: mariadb + - name: PAPERLESS_DBHOST + value: paperless-mariadb + - name: PAPERLESS_DBUSER + value: {{ .Values.mariadb.auth.username }} + - name: PAPERLESS_DBPASS + value: {{ .Values.mariadb.auth.password }} + - name: PAPERLESS_DBPORT + value: "3306" + - name: PAPERLESS_PORT + value: "8000" + ports: + - containerPort: 8000 + volumeMounts: + - name: data + mountPath: "/usr/src/paperless/data" + subPath: data + - name: data + mountPath: "/usr/src/paperless/media" + subPath: media + - name: data + mountPath: "/usr/src/paperless/export" + subPath: export + - name: data + mountPath: "/usr/src/paperless/consume" + subPath: consume + volumes: + - name: data + persistentVolumeClaim: + claimName: {{ .Release.Name }}-data \ No newline at end of file diff --git a/paperless-ngx/templates/ingress.yaml b/paperless-ngx/templates/ingress.yaml new file mode 100644 index 0000000..279ec9c --- /dev/null +++ b/paperless-ngx/templates/ingress.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: {{ .Release.Name }} + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: websecure + traefik.ingress.kubernetes.io/router.tls: "true" + cert-manager.io/cluster-issuer: letsencrypt +spec: + + tls: + - hosts: + - {{ .Values.url }} + secretName: {{ .Values.url | printf "%s-tls" }} + rules: + - host: {{ .Values.url }} + http: + paths: + - backend: + service: + name: {{ .Release.Name }} + port: + name: http + path: / + pathType: Prefix \ No newline at end of file diff --git a/paperless-ngx/templates/pvc.yaml b/paperless-ngx/templates/pvc.yaml new file mode 100644 index 0000000..d4901b3 --- /dev/null +++ b/paperless-ngx/templates/pvc.yaml @@ -0,0 +1,12 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: {{ .Release.Name }}-data + labels: + app: {{ .Release.Name }} +spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: {{ .Values.persistence.size }} + storageClassName: {{ .Values.persistence.storageClass }} \ No newline at end of file diff --git a/paperless-ngx/templates/service.yaml b/paperless-ngx/templates/service.yaml new file mode 100644 index 0000000..4b7f552 --- /dev/null +++ b/paperless-ngx/templates/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Release.Name }} +spec: + ports: + - name: http + port: 8000 + selector: + app: {{ .Release.Name }} \ No newline at end of file diff --git a/paperless-ngx/values.yaml b/paperless-ngx/values.yaml new file mode 100644 index 0000000..af8f6ca --- /dev/null +++ b/paperless-ngx/values.yaml @@ -0,0 +1,44 @@ +## +## Paperless config +## + +image: ghcr.io/paperless-ngx/paperless-ngx:latest + +url: example.com +adminpassword: changeme +secretkey: PLEASEOVERRIDETHESECRETKEY + +persistence: + storageClass: "" + size: 1Gi + +## +## MariaDB chart configuration +## +mariadb: + enabled: false + architecture: standalone + + auth: + database: paperless + username: paperless + password: chamgeme + rootPassword: changeme2 + + ## Enable persistence using Persistent Volume Claims + primary: + persistence: + enabled: true + # storageClass: "" + accessMode: ReadWriteOnce + size: 8Gi + +## +## Redis chart configuration +## for more options see https://github.com/bitnami/charts/tree/master/bitnami/redis +## +redis: + enabled: false + auth: + enabled: true + password: changeme \ No newline at end of file