34 lines
1.8 KiB
Markdown
34 lines
1.8 KiB
Markdown
# Paperless-ngx Helm chart
|
|
|
|
This independent chart packages the upstream Paperless-ngx image without bundling
|
|
PostgreSQL or Valkey. It declares the Paperless Deployment, Service, Ingress,
|
|
probes, Secret references, and optional PVCs. The chart Git tag follows the
|
|
upstream application release (`v3.3.2`); later chart-only commits append Git
|
|
describe's count and hash. The default image tag comes from `appVersion`.
|
|
|
|
Supply existing Secret names for the Paperless key and PostgreSQL password.
|
|
The chart never renders credentials. Set `persistence.data.existingClaim` and
|
|
`persistence.runtime.existingClaim` to retain existing claims. The shared data
|
|
claim may also be mounted by a separate scanner release. Scheduling affinity,
|
|
tolerations, OCR worker count, and cluster hostname are values, not chart
|
|
constants. The homelab deployment is in
|
|
[homelab-gitops/apps/paperless](https://code.brunner.ninja/feedc0de/homelab-gitops/src/branch/main/apps/paperless).
|
|
|
|
Uploads and PDF-edit inputs are staged in the data claim's `scratch` subdirectory,
|
|
mounted at `/tmp/paperless`, so a pod replacement does not erase queued inputs.
|
|
Use persistent Valkey storage too: the database task list is history, not a
|
|
replacement for lost broker messages. Drain active tasks before upgrades; Celery
|
|
does not automatically resume every task interrupted after it has started.
|
|
|
|
```sh
|
|
helm repo add brunner.ninja https://brunner.ninja/charts
|
|
helm repo update brunner.ninja
|
|
helm upgrade --install paperless brunner.ninja/paperless-ngx \
|
|
--namespace paperless-ngx --create-namespace -f values.yaml --wait --timeout 15m
|
|
```
|
|
|
|
For local testing run `./test.sh`; `./install.sh values.yaml` uses the current
|
|
Kubernetes context and the chart in this checkout. CI publishes the chart,
|
|
then promotes only its chart version to GitOps. Required Actions secrets are
|
|
`PACKAGE_USERNAME`, `PACKAGE_TOKEN`, and `GITOPS_TOKEN`.
|