2026-04-22 14:31:16 -07:00

114 lines
3.1 KiB
YAML
Executable File

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