apiVersion: apps/v1 kind: Deployment metadata: name: paperless-webserver labels: app: paperless-webserver spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: paperless-webserver template: metadata: labels: app: paperless-webserver spec: securityContext: runAsUser: {{ int .Values.puid }} runAsGroup: {{ int .Values.pgid }} containers: - name: paperless image: {{ .Values.webserver.image }} ports: - containerPort: 8000 env: - name: PAPERLESS_REDIS value: redis://paperless-redis:6379 - name: PAPERLESS_DBHOST value: paperless-postgres - name: PAPERLESS_DBPASS valueFrom: secretKeyRef: name: {{ .Values.secretName }} key: PAPERLESS_DB_PASS - name: PAPERLESS_CSRF_TRUSTED_ORIGINS value: {{ .Values.webserver.csrfTrustedOrigins | quote }} - name: USERMAP_UID value: {{ .Values.puid | quote }} - name: USERMAP_GID value: {{ .Values.pgid | quote }} livenessProbe: httpGet: path: / port: 8000 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 10 readinessProbe: httpGet: path: / port: 8000 initialDelaySeconds: 20 periodSeconds: 15 timeoutSeconds: 3 volumeMounts: - name: 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 volumes: - name: data hostPath: path: {{ .Values.dogstore }}/paperless/data type: DirectoryOrCreate - name: media hostPath: path: {{ .Values.dogstore }}/paperless/media type: DirectoryOrCreate - name: export hostPath: path: {{ .Values.dogstore }}/paperless/export type: DirectoryOrCreate - name: consume hostPath: path: {{ .Values.dogstore }}/paperless/consume type: DirectoryOrCreate --- apiVersion: v1 kind: Service metadata: name: paperless-webserver spec: selector: app: paperless-webserver ports: - port: 8000 targetPort: 8000 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: paperless annotations: traefik.ingress.kubernetes.io/router.entrypoints: websecure traefik.ingress.kubernetes.io/router.tls.certresolver: {{ .Values.certResolver }} spec: rules: - host: paperless.{{ .Values.domain }} http: paths: - path: / pathType: Prefix backend: service: name: paperless-webserver port: number: 8000