Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Self-hosting Paperless-ngx on k3s with GitOps

Описание и применение

Paperless‑ngx развернут на k3s на мини‑ПК Beelink с внешним HDD, конфигурация управляется через Flux, а сканирование выполняется с мобильных устройств.

Задача

Need a local document archive that OCRs, tags, and stores scans from a phone without relying on cloud services.

Результат

Paperless-ngx successfully runs on a single Beelink mini PC, storing documents on an external HDD, with automated deployment via Flux and mobile scanning via community apps.

Рабочий процесс

  • Format external HDD as ext4 and mount it by UUID
  • Create /mnt/hdd/paperless/media and export folders and set ownership
  • Configure k3s to wait for mount via systemd unit
  • Define StorageClass hdd-local with no provisioner
  • Create PersistentVolume for media folder with nodeAffinity
  • Bind PVC to PV using storageClassName and volumeName
  • Deploy Paperless-ngx stack with PostgreSQL, Redis, Tika, Gotenberg
  • Configure Traefik ingress and nip.io hostname
  • Set PAPERLESS_URL and PAPERLESS_CSRF_TRUSTED_ORIGINS
  • Enable Flux to sync manifests from GitHub
  • Apply day‑to‑day settings via SOPS‑encrypted secrets

Доказательства

I ended up with Paperless-ngx running on k3s on a Beelink mini PC. Documents live on an external HDD, and Flux deploys every config change I push to GitHub.

Источник

The trick is a static local PersistentVolume pointing at a folder on the HDD.

Источник

Paperless crash‑looping: 'tcp://10.43.x.x:8000' is not a valid integer

Источник

  • Дата записи: 2026-10-26T11:26:13.476Z