apiVersion: apps/v1 kind: Deployment metadata: name: app spec: template: spec: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 preference: matchExpressions: - key: kubernetes.io/hostname operator: In values: - arthur containers: - name: paperless image: ghcr.io/paperless-ngx/paperless-ngx:latest volumeMounts: - name: consume-volume mountPath: /usr/src/paperless/consume subPath: consume - name: data-volume mountPath: /usr/src/paperless/data subPath: data/data - name: data-volume mountPath: /usr/src/paperless/media subPath: data/media - name: data-volume mountPath: /usr/src/paperless/export subPath: data/export envFrom: - configMapRef: name: paperless-config env: - name: PAPERLESS_DBPASS valueFrom: secretKeyRef: name: paperless-secrets key: PAPERLESS_DBPASSWORD - name: PAPERLESS_SECRET_KEY valueFrom: secretKeyRef: name: paperless-secrets key: PAPERLESS_SECRET_KEY - name: PAPERLESS_EMAIL_HOST_PASSWORD valueFrom: secretKeyRef: name: smtp-secrets key: SMTP_PASSWORD - name: PAPERLESS_SOCIALACCOUNT_PROVIDERS valueFrom: secretKeyRef: name: paperless-secrets key: PAPERLESS_SOCIALACCOUNT_PROVIDERS ports: - containerPort: 8000 name: paperless protocol: TCP livenessProbe: httpGet: scheme: HTTP path: / port: paperless initialDelaySeconds: 60 periodSeconds: 10 readinessProbe: httpGet: scheme: HTTP path: / port: paperless initialDelaySeconds: 30 periodSeconds: 10 startupProbe: httpGet: scheme: HTTP path: / port: paperless volumes: - name: consume-volume persistentVolumeClaim: claimName: paperless-consume - name: data-volume persistentVolumeClaim: claimName: paperless-pvc