blob: fc513134ebce403a7fa18494d7a43470a6935e20 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
apiVersion: v1
kind: ConfigMap
metadata:
name: paperless
data:
PAPERLESS_PORT: 8000
PAPERLESS_URL: https://paper.gzr.im
PAPERLESS_REDIS: redis://localhost:6379
PAPERLESS_DATA_DIR: /paperless/data
PAPERLESS_MEDIA_ROOT: /paperless/media
PAPERLESS_CONSUMPTION_DIR: /paperless/inbox
# use authelia
PAPERLESS_APPS: allauth.socialaccount.providers.openid_connect
PAPERLESS_LOGOUT_REDIRECT_URL: https://login.gzr.im/logout
PAPERLESS_DISABLE_REGULAR_LOGIN: false
PAPERLESS_REDIRECT_LOGIN_TO_SSO: false
---
apiVersion: v1
kind: Pod
metadata:
name: paperless
labels:
traefik.enable: true
traefik.http.routers.paperless.tls: true
traefik.http.routers.paperless.tls.certresolver: le
traefik.http.routers.paperless.entrypoints: http,https
traefik.http.routers.paperless.rule: Host(`paper.gzr.im`)
traefik.http.routers.paperless.service: paperless
traefik.http.services.paperless.loadbalancer.server.port: 8000
# metrics
# traefik.http.routers.paperless-metrics.entrypoints: metrics
# traefik.http.routers.paperless-metrics.rule: Path(`/metrics/paperless`)
# traefik.http.routers.paperless-metrics.middlewares: replacepath-metrics@file
# traefik.http.services.paperless-metrics.loadbalancer.server.port: 5555
spec:
restartPolicy: Always
dnsPolicy: Default
containers:
- name: broker
image: docker.io/library/redis:7
ports:
- containerPort: 6379
protocol: TCP
volumeMounts:
- name: broker-data
mountPath: /data
resources:
limits:
cpu: 100m
memory: 128Mi
# TODO: healthchecks
- name: paperless
image: ghcr.io/paperless-ngx/paperless-ngx:2.18.4
ports:
- containerPort: 8000
protocol: TCP
envFrom:
- configMapRef:
name: paperless
- secretRef:
name: paperless
volumeMounts:
- name: paperless-media
mountPath: /paperless/media
- name: paperless-inbox
mountPath: /paperless/inbox
- name: paperless-data
mountPath: /paperless/data
resources:
limits:
cpu: 100m
memory: 128Mi
livenessProbe:
httpGet:
path: /
port: 8000
initialDelaySeconds: 30
timeoutSeconds: 30
volumes:
- name: broker-data
hostPath:
path: /var/lib/paperless/broker
type: DirectoryOrCreate
- name: paperless-data
hostPath:
path: /var/lib/paperless/data
type: DirectoryOrCreate
- name: paperless-inbox
hostPath:
path: /media/hayasui/documents/paperless-inbox
type: Directory
- name: paperless-media
hostPath:
path: /media/hayasui/documents/paperless
type: Directory
|