apiVersion: v1 kind: Namespace metadata: name: paperless --- apiVersion: apps/v1 kind: Deployment metadata: name: paperless-webserver namespace: paperless spec: replicas: 1 selector: matchLabels: app: paperless-webserver template: metadata: labels: app: paperless-webserver spec: containers: - name: paperless-webserver image: ghcr.io/paperless-ngx/paperless-ngx:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8000 name: webserver-port env: - name: PAPERLESS_URL value: "https://paperless.tryton.geeraert.eu" - name: PAPERLESS_REDIS value: "redis://redis:6379" - name: PAPERLESS_DBHOST value: "db" - name: PAPERLESS_POST_CONSUME_SCRIPT value: "/usr/src/paperless/scripts/post-consumption-example.sh" - name: PAPERLESS_ADMIN_USER value: "admin" - name: PAPERLESS_ADMIN_PASSWORD value: "admin" - name: PAPERLESS_OCR_USER_ARGS value: '{"invalidate_digital_signatures": true}' volumeMounts: # - name: data # mountPath: /usr/src/paperless/data - name: paperless-data mountPath: /usr/src/paperless/data - name: media mountPath: /usr/src/paperless/media - name: export mountPath: /usr/src/paperless/export - name: consume mountPath: /usr/src/paperless/consume - name: scripts mountPath: /usr/src/paperless/scripts/ # resources: # limits: # cpu: 250m # memory: 250Mi volumes: - name: data hostPath: path: /opt/kubernetes/Paperless_kube/data/data - name: paperless-data persistentVolumeClaim: claimName: paperless-data - name: export persistentVolumeClaim: claimName: paperless-export - name: media persistentVolumeClaim: claimName: paperless-media - name: consume persistentVolumeClaim: claimName: paperless-consume # - name: consume # hostPath: # path: /opt/kubernetes/Paperless_kube/data/consume - name: scripts configMap: name: paperless-post-consumption defaultMode: 0555 --- apiVersion: v1 kind: Service metadata: name: webserver namespace: paperless spec: ports: - port: 8000 targetPort: webserver-port protocol: TCP selector: app: paperless-webserver