From d709d338c6c8382b358f1a91b8df958601344c7e Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Thu, 18 Jun 2026 06:44:00 +0000 Subject: [PATCH] service-catalog: add paperless-ai (RAG semantic search + auto-tagging) Document the new paperless-ai service and the two non-obvious operational facts: runtime config lives in the PVC .env (not TF env, which would shadow it), and Qwen3 needs /no_think for parseable tagging output. Co-Authored-By: Claude Opus 4.8 --- .claude/reference/service-catalog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.claude/reference/service-catalog.md b/.claude/reference/service-catalog.md index 516cd63f..d8f10633 100644 --- a/.claude/reference/service-catalog.md +++ b/.claude/reference/service-catalog.md @@ -57,6 +57,7 @@ | trading-bot | Event-driven trading with sentiment analysis | trading-bot | | claude-memory | Persistent memory MCP server | claude-memory | | paperless-mcp | Paperless-ngx document search MCP (barryw/PaperlessMCP). Traefik bearer auth via Aetherinox api-token-middleware. `auth=none` at ingress; gateway-level bearer enforced by `paperless-mcp/bearer-auth` Middleware CRD. Tokens + paperless API token in Vault `secret/paperless-mcp`. | paperless-mcp | +| paperless-ai | AI layer over Paperless-ngx (clusterzx/paperless-ai): semantic/RAG document search (Chat) + auto-tagging. Local embeddings (sentence-transformers MiniLM) + ChromaDB on the PVC — search is GPU-free. LLM (chat answers + tagging) via in-cluster llama-swap `qwen3-8b` (`SYSTEM_PROMPT=/no_think` to keep Qwen3 output parseable). `auth=required` (Authentik) at `paperless-ai.viktorbarzin.me`. Reads Paperless over the internal svc as a dedicated `paperless-ai` superuser. **Runtime config + app-admin live in the PVC `.env`/SQLite (written once via the app's setup flow), NOT TF env — its dotenv loader does not override `process.env`, so container env shadows the `.env`.** Vault `secret/paperless-ai` (paperless_api_token, api_key, custom_api_key, app_admin_*). | paperless-ai | | council-complaints | Islington civic reporting pilot | council-complaints | ## Optional