apiVersion: apps/v1
kind: Deployment
metadata:
    name: paperless
    namespace: paperless
spec:
    replicas: 1
    selector:
        matchLabels:
            app: paperless
    template:
        metadata:
            labels:
                app: paperless
        spec:
            containers:
              - name: paperless
                image: paperlessngx/paperless-ngx:2.14.7
                ports:
                  - containerPort: 8000
                env:
                  - name: PAPERLESS_URL
                    value: "https://paper.halis.io"
                  - name: PAPERLESS_DBENGINE
                    value: "postgresql"
                  - name: PAPERLESS_DBHOST
                    value: "paperless-db-rw.paperless.svc.cluster.local"
                  - name: PAPERLESS_DBUSER
                    valueFrom:
                      secretKeyRef:
                        name: paperless-db
                        key: username
                  - name: PAPERLESS_DBPASS
                    valueFrom:
                      secretKeyRef:
                        name: paperless-db
                        key: password
                  - name: PAPERLESS_REDIS
                    value: "redis://redis-svc.paperless.svc.cluster.local:6379"
                  - name: PAPERLESS_DATA_DIR
                    value: "/volume/data"
                  - name: PAPERLESS_MEDIA_ROOT
                    value: "/volume/media"
                  - name: PAPERLESS_CONSUMPTION_DIR
                    value: "/volume/consume"
                volumeMounts:
                  - mountPath: "/volume"
                    name: paperless-data
              - name: redis
                image: redis:7.4.2
                ports:
                  - containerPort: 6379
            volumes:
              - name: paperless-data
                persistentVolumeClaim:
                  claimName: paperless-pvc