🌲 KeinPapier β€” Papierloses Crumbforest

Dokumente rein β†’ KI analysiert β†’ alles bleibt lokal.
Ein PuzzlestΓΌck im Crumbforest πŸͺ

Was ist das?

Paperless-ngx + Ollama + paperless-ai β€” ein vollstΓ€ndig lokales Dokumenten-Management-System mit KI-Analyse. Kein Byte verlΓ€sst den Rechner.

πŸ“„ Dokument scannen/droppen
    ↓
πŸ” Paperless-ngx (OCR + Speicher)
    ↓
πŸ¦™ Ollama/llama3.2 (Analyse)
    ↓
🏷️ Titel, Tags, Korrespondent, Typ, Datum β€” automatisch

Architektur

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 Docker Compose                   β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Redis    β”‚  β”‚ Postgres β”‚  β”‚ Paperless-ngxβ”‚  β”‚
β”‚  β”‚  :6379    β”‚  β”‚  :5432   β”‚  β”‚    :8000     β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚                                      β”‚ API       β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”β”‚          β”‚
β”‚  β”‚         paperless-ai             β”‚β”‚          β”‚
β”‚  β”‚  Node.js + RAGZ + ChromaDB      β”‚β—„β”˜          β”‚
β”‚  β”‚  SentenceTransformer             β”‚           β”‚
β”‚  β”‚           :3000                  β”‚           β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚
β”‚                  β”‚                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚ host.docker.internal
            β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”
            β”‚   Ollama    β”‚
            β”‚  llama3.2   β”‚
            β”‚   :11434    β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Quickstart

# 1. Starten
docker compose up -d

# 2. Paperless-ngx einrichten
open http://localhost:8000

# 3. API Token generieren
docker exec paperless-webserver-1 python3 manage.py shell -c "
from rest_framework.authtoken.models import Token
from django.contrib.auth.models import User
user = User.objects.first()
token, _ = Token.objects.get_or_create(user=user)
print(f'Token: {token.key}')
"

# 4. paperless-ai Setup
open http://localhost:3000/setup
# β†’ Username/Password erstellen (eigenes Login)
# β†’ Paperless URL: http://webserver:8000/api
# β†’ Token eintragen
# β†’ AI Provider: Ollama

Konfiguration

paperless-ai .env (/app/data/.env im Container)

PAPERLESS_API_URL=http://webserver:8000/api
PAPERLESS_API_TOKEN=<dein-token>
PAPERLESS_URL=http://webserver:8000
PAPERLESS_USERNAME=<dein-user>

AI_PROVIDER=ollama
OLLAMA_API_URL=http://host.docker.internal:11434
OLLAMA_MODEL=llama3.2

SCAN_INTERVAL=*/30 * * * *

Wichtige Hinweise

Thema Detail
PAPERLESS_API_URL Muss /api am Ende haben
PAPERLESS_URL Ohne /api
PAPERLESS_USERNAME Muss zum Token-User passen
OLLAMA_API_URL host.docker.internal weil Ollama auf dem Host lΓ€uft
network_mode NICHT bridge setzen β€” isoliert den Container!

Das Puzzle 🧩

Dieses Repo ist ein Baustein. So fΓΌgt es sich zusammen:

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   Baumrinde     β”‚
                    β”‚ crumbforest.io  β”‚
                    β”‚   (Archiv)      β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                             β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                        β”‚                         β”‚
β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ KeinPapier β”‚    β”‚  Eule + Vector      β”‚    β”‚    Nullfeld     β”‚
β”‚ paperless  β”‚    β”‚  (Qdrant RAG)       β”‚    β”‚  FPGA Γ— SoC     β”‚
β”‚ + Ollama   β”‚    β”‚  crumbforest.org    β”‚    β”‚  Sternenkarten  β”‚
β”‚ (← du bist β”‚    β”‚                     β”‚    β”‚  zwischen den   β”‚
β”‚   hier)    β”‚    β”‚                     β”‚    β”‚  Spiralen       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚                    β”‚                         β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                   Local First. Immer. 🌲

Inspirationen fΓΌr die nΓ€chsten Spiralen:
- ruvector β€” Self-Learning Vector DB mit FPGA-Acceleration
- Nullfeld-Container als Echtzeit-Sternenkarten
- RAGZ β†’ Qdrant/Vector Bridge fΓΌr Cross-System-Suche

Status

  • [x] Paperless-ngx lΓ€uft
  • [x] PostgreSQL + Redis
  • [x] Ollama mit llama3.2 + llama2
  • [x] paperless-ai verbunden & scannt
  • [x] 467 Dokumente importiert
  • [ ] Custom Fields konfigurieren
  • [ ] Nullfeld-Integration (Sternenkarten-Layer)
  • [ ] Vector-Bridge zu Eule/Qdrant

Aus dem Crumbforest, MΓ€rz 2026 🌲πŸͺ