From fb28ac2a57f3e90c1c23a6330b995c79e86054cc Mon Sep 17 00:00:00 2001 From: Steffen Illium Date: Wed, 22 May 2024 22:04:46 +0200 Subject: [PATCH] paperless restructure --- ...aperless-service.yaml => app-service.yaml} | 6 +- apps/paperless/base/app.yaml | 89 +++++++++++++++++++ apps/paperless/base/database-service.yaml | 15 ++++ .../base/{deployment.yaml => database.yaml} | 5 +- ...-secret-sealed.yaml => secret-sealed.yaml} | 0 apps/paperless/kustomization.yaml | 8 +- .../03-traefik/base/deployment.yaml | 2 +- 7 files changed, 114 insertions(+), 11 deletions(-) rename apps/paperless/base/{paperless-service.yaml => app-service.yaml} (65%) create mode 100644 apps/paperless/base/app.yaml create mode 100644 apps/paperless/base/database-service.yaml rename apps/paperless/base/{deployment.yaml => database.yaml} (97%) rename apps/paperless/base/{paperless-secret-sealed.yaml => secret-sealed.yaml} (100%) diff --git a/apps/paperless/base/paperless-service.yaml b/apps/paperless/base/app-service.yaml similarity index 65% rename from apps/paperless/base/paperless-service.yaml rename to apps/paperless/base/app-service.yaml index b3909fa..5c3c703 100644 --- a/apps/paperless/base/paperless-service.yaml +++ b/apps/paperless/base/app-service.yaml @@ -2,14 +2,14 @@ apiVersion: v1 kind: Service metadata: labels: - app: paperless-service - name: paperless-service + app: paperless + name: paperless spec: ports: - name: http port: 80 targetPort: http selector: - app: paperless-webserver + app: paperless status: loadBalancer: {} diff --git a/apps/paperless/base/app.yaml b/apps/paperless/base/app.yaml new file mode 100644 index 0000000..e8284bc --- /dev/null +++ b/apps/paperless/base/app.yaml @@ -0,0 +1,89 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: paperless + name: paperless +spec: + replicas: 1 + selector: + matchLabels: + app: paperless + strategy: + type: Recreate + template: + metadata: + labels: + app: paperless + spec: + containers: + - image: ghcr.io/paperless-ngx/paperless-ngx:latest + name: paperless + ports: + - name: http + containerPort: 8000 + protocol: TCP + resources: + limits: {} + volumeMounts: + - mountPath: /usr/src/paperless/data + name: paperless-pvc + subPath: 716a7a59-c361-48a1-ae89-f935919f7e59/app + - mountPath: /usr/src/paperless/media + name: paperless-media + - mountPath: /usr/src/paperless/consume + name: paperless-pvc + subPath: 716a7a59-c361-48a1-ae89-f935919f7e59/consume + env: + - name: DEBUG + value: "false" + - name: PAPERLESS_ALLOWED_HOSTS + value: steffenillium.de,localhost + - name: PAPERLESS_CONSUMER_POLLING + value: "20" + - name: PAPERLESS_CONSUMER_RECURSIVE + value: "true" + - name: PAPERLESS_CORS_ALLOWED_HOSTS + value: http://localhost:8000 + - name: PAPERLESS_DBHOST + value: localhost + - name: PAPERLESS_ENABLE_HTTP_REMOTE_USER + value: "true" + - name: PAPERLESS_OCR_LANGUAGE + value: deu + - name: PAPERLESS_OCR_LANGUAGES + value: eng deu + - name: PAPERLESS_OCR_ROTATE_PAGES + value: "true" + - name: PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD + value: "10" + - name: PAPERLESS_REDIS + value: redis://localhost:6379 + - name: PAPERLESS_TIME_ZONE + value: Europe/Berlin + - name: PAPERLESS_URL + value: https://documents.steffenillium.de + - name: PAPERLESS_SECRET_KEY + valueFrom: + secretKeyRef: + name: paperless-secret + key: PAPERLESS_SECRET_KEY + - image: docker.io/library/redis:7 + name: paperless-broker + ports: + - containerPort: 6379 + protocol: TCP + resources: + limits: + cpu: "0.1" + memory: "250M" + restartPolicy: Always + volumes: + - name: paperless-pvc + persistentVolumeClaim: + claimName: paperless-pvc + - name: paperless-media + nfs: + server: 192.168.178.4 + path: /mnt/storage/service/paperless/media + readOnly: false diff --git a/apps/paperless/base/database-service.yaml b/apps/paperless/base/database-service.yaml new file mode 100644 index 0000000..f1f3d73 --- /dev/null +++ b/apps/paperless/base/database-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: database + name: database +spec: + ports: + - name: http + port: 5432 + targetPort: http + selector: + app: database +status: + loadBalancer: {} diff --git a/apps/paperless/base/deployment.yaml b/apps/paperless/base/database.yaml similarity index 97% rename from apps/paperless/base/deployment.yaml rename to apps/paperless/base/database.yaml index 73d1295..f920ff9 100644 --- a/apps/paperless/base/deployment.yaml +++ b/apps/paperless/base/database.yaml @@ -19,10 +19,7 @@ spec: containers: - image: docker.io/library/postgres:13 name: paperless-db - resources: - limits: - cpu: "0.2" - memory: "1G" + resources: {} volumeMounts: - mountPath: /var/lib/postgresql/data name: paperless-pvc diff --git a/apps/paperless/base/paperless-secret-sealed.yaml b/apps/paperless/base/secret-sealed.yaml similarity index 100% rename from apps/paperless/base/paperless-secret-sealed.yaml rename to apps/paperless/base/secret-sealed.yaml diff --git a/apps/paperless/kustomization.yaml b/apps/paperless/kustomization.yaml index d1f48bc..2b1d8b9 100644 --- a/apps/paperless/kustomization.yaml +++ b/apps/paperless/kustomization.yaml @@ -5,10 +5,12 @@ namespace: paperless resources: - base/pvc.yaml -- base/paperless-secret-sealed.yaml +- base/secret-sealed.yaml - base/ingress.yaml -- base/paperless-service.yaml -- base/deployment.yaml +- base/app-service.yaml +- base/database-service.yaml +- base/app.yaml +- base/database.yaml - base/namespace.yaml components: diff --git a/infrastructure/03-traefik/base/deployment.yaml b/infrastructure/03-traefik/base/deployment.yaml index b9ab39f..90e919b 100644 --- a/infrastructure/03-traefik/base/deployment.yaml +++ b/infrastructure/03-traefik/base/deployment.yaml @@ -5,7 +5,7 @@ metadata: namespace: traefik spec: minReadySeconds: 0 - replicas: 1 + replicas: 3 selector: matchLabels: app: traefik