Merge pull request #20 from aggarwalakshun/paperless
feat: add paperless-ngx deployment, services, and persistent volume claims
This commit is contained in:
28
cluster/apps/paperless-ngx/paperless-ngx-db.yml
Normal file
28
cluster/apps/paperless-ngx/paperless-ngx-db.yml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: paperless-ngx-db
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: paperless-ngx-db
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: paperless-ngx-db
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: paperless-ngx-db
|
||||||
|
image: docker.io/library/redis:7
|
||||||
|
ports:
|
||||||
|
- containerPort: 6379
|
||||||
|
volumeMounts:
|
||||||
|
- name: redis
|
||||||
|
mountPath: /data
|
||||||
|
volumes:
|
||||||
|
- name: redis
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: longhorn-paperless-redis
|
||||||
|
|
||||||
29
cluster/apps/paperless-ngx/paperless-ngx-svc.yml
Normal file
29
cluster/apps/paperless-ngx/paperless-ngx-svc.yml
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: paperless-ngx-service
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
type: NodePort
|
||||||
|
selector:
|
||||||
|
app: paperless-ngx
|
||||||
|
ports:
|
||||||
|
- port: 8000
|
||||||
|
targetPort: 8000
|
||||||
|
nodePort: 8001
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: paperless-ngx-db-service
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: paperless-ngx-db
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 6379
|
||||||
|
targetPort: 6379
|
||||||
59
cluster/apps/paperless-ngx/paperless-ngx.yml
Normal file
59
cluster/apps/paperless-ngx/paperless-ngx.yml
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: paperless-ngx
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: paperless-ngx
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: paperless-ngx
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- name: wait-for-db
|
||||||
|
image: busybox
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
until nc -z -v -w30 paperless-ngx-db-service 6379; do
|
||||||
|
echo "Waiting for database to be ready..."
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
containers:
|
||||||
|
- name: paperless-ngx
|
||||||
|
image: ghcr.io/paperless-ngx/paperless-ngx:2.15.1
|
||||||
|
ports:
|
||||||
|
- containerPort: 8000
|
||||||
|
env:
|
||||||
|
- name: PAPERLESS_REDIS
|
||||||
|
value: "redis://paperless-ngx-db-service:6379"
|
||||||
|
- name: PAPERLESS_URL
|
||||||
|
value: "https://ngx.akshun-lab.uk"
|
||||||
|
- name: PAPERLESS_CSRF_TRUSTED_ORIGINS
|
||||||
|
value: "https://*.akshun-lab.uk"
|
||||||
|
- name: PAPERLESS_CORS_ALLOWED_HOSTS
|
||||||
|
value: "https://ngx.akshun-lab.uk"
|
||||||
|
- name: PAPERLESS_TIME_ZONE
|
||||||
|
value: "Asia/Kolkata"
|
||||||
|
volumeMounts:
|
||||||
|
- name: data
|
||||||
|
mountPath: /usr/src/paperless/data
|
||||||
|
subPath: data
|
||||||
|
- name: data
|
||||||
|
mountPath: usr/src/paperless/media
|
||||||
|
subPath: media
|
||||||
|
- name: data
|
||||||
|
mountPath: /usr/src/paperless/export
|
||||||
|
subPath: export
|
||||||
|
- name: data
|
||||||
|
mountPath: /usr/src/paperless/consume
|
||||||
|
subPath: consume
|
||||||
|
volumes:
|
||||||
|
- name: data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: longhorn-paperless-data
|
||||||
27
cluster/apps/paperless-ngx/paperless-pvc.yml
Normal file
27
cluster/apps/paperless-ngx/paperless-pvc.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: longhorn-paperless-data
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: longhorn
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: longhorn-paperless-redis
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
storageClassName: longhorn
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
Reference in New Issue
Block a user