blumeops/docs/reference/services/paperless.md
Erich Blume 041c47acfb Deploy Paperless-ngx document management system
Add paperless-ngx (v2.20.13) as a new ArgoCD-managed service on indri
with Authentik OIDC SSO, PostgreSQL on blumeops-pg, Redis sidecar, and
NFS document storage on sifaka. Includes Dockerfile built from forge
mirror, full k8s manifests, Caddy route, 1Password secrets, and
reference documentation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 16:33:34 -07:00

45 lines
1.3 KiB
Markdown

---
title: Paperless-ngx
modified: 2026-04-08
tags:
- service
---
# Paperless-ngx
Self-hosted document management system with OCR, tagging, and full-text search.
## Quick Reference
| Property | Value |
|----------|-------|
| **URL** | https://paperless.ops.eblu.me |
| **Tailscale URL** | https://paperless.tail8d86e.ts.net |
| **Namespace** | `paperless` |
| **Image** | `registry.ops.eblu.me/blumeops/paperless` |
| **Manifests** | `argocd/manifests/paperless/` |
| **Container source** | `containers/paperless/Dockerfile` |
| **Upstream** | [paperless-ngx/paperless-ngx](https://github.com/paperless-ngx/paperless-ngx) |
| **Database** | `paperless` on [[postgresql|blumeops-pg]] |
| **Storage** | NFS on [[sifaka]] at `/volume1/paperless` |
| **Auth** | [[authentik]] OIDC + local admin |
## Architecture
- **Web server**: Granian (ASGI), port 8000
- **Task queue**: Celery worker + beat (Redis sidecar)
- **OCR**: Tesseract (English)
- **Process supervisor**: s6-overlay
## Secrets
1Password item "Paperless (blumeops)" in vault `blumeops`:
- `secret-key`: Django SECRET_KEY
- `postgresql-password`: database credential
- `admin-password`: initial admin account password
- `socialaccount-providers`: OIDC provider JSON (includes Authentik client secret)
## Related
- [[adding-a-service]] — Deployment tutorial
- [[authentik]] — SSO provider