Files
paperlessmanager/README.md
T
bjoernpoettker f482304061
Build and Push Multi-Platform Images / build-and-push (push) Successful in 18s
feat: fix signature editor init and expand README
- Pass initialContent prop to WysiwygEditor instead of imperative setContent
  to ensure mail signature loads correctly on mount
- Rewrite README to reflect full project scope (scanner inbox, email import,
  postprocessing rules, label printing, OIDC auth)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 15:48:23 +02:00

81 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Paperless Manager
Eine Erweiterungsplattform für [Paperless-NGX](https://github.com/paperless-ngx/paperless-ngx) zur automatisierten Dokumentenverarbeitung von der Scanner-Eingangsbox bis zur regelbasierten Ablage.
## Was ist Paperless Manager?
Paperless-NGX ist ein leistungsstarkes DMS, bietet aber wenig Automatisierung beim Erfassen und Verarbeiten eingehender Dokumente. Paperless Manager schließt diese Lücke:
- Dokumente kommen per Scanner, E-Mail oder Dateiablage herein
- Sie werden aufbereitet, gesplittet, per OCR erkannt und klassifiziert
- Regelwerke entscheiden automatisch über Tags, Export und Weiterleitung
- Etiketten werden direkt aus dem System heraus gedruckt
Der Paperless Manager läuft als eigenständige Anwendung neben Paperless-NGX und kommuniziert über dessen REST API.
## Features
### Scanner-Eingangsbox
- Überwachung eines Scan-Verzeichnisses per Filesystem-Watcher
- PDF-Vorschau, Seitenrotation und Splitting direkt im Browser
- Barcode- und QR-Code-Erkennung zur automatischen Dokumententrennung
- OCR über Ollama (llava Vision-Modell) für handschriftliche und gescannte Seiten
- GoBD-konformes Archivieren der Originaldokumente
### E-Mail-Import
- IMAP-Anbindung zum automatischen Abruf von Postfächern
- Extraktion von E-Mail-Anhängen (PDF, ZUGFeRD-Rechnungen)
- Zuordnung von Absendern zu Paperless-Korrespondenten
### Regelbasierte Nachbearbeitung
- Konfigurierbare Filterregeln (Feld-Operatoren: eq, contains, in, …)
- Aktionen: Tags setzen, Felder aktualisieren, E-Mail senden, WebDAV-Export
- Priorisierbare Regelketten mit Stop-Bedingung
### Etikettendruck-Agent
- SVG-Vorlagen → PNG-Rendering via `@resvg/resvg-js`
- SSE-basierte Job-Queue für angebundene Druckagenten
- Automatische Job-Sperrung zur Vermeidung von Race Conditions
### Authentifizierung & Berechtigungen
- OIDC-Integration (z. B. Authentik) mit JWT-Validierung
- API-Key-Unterstützung für maschinellen Zugriff
- Granulares Berechtigungssystem auf Basis von OIDC-Gruppen
## Technologie
| Schicht | Stack |
|---------|-------|
| Backend | NestJS (TypeScript), TypeORM, MySQL 8 |
| Frontend | React 19, Ant Design, Vite |
| OCR | Ollama (llava) |
| Deployment | Docker Compose, Gitea Actions CI/CD |
| Auth | OIDC (Authentik), JWT, API Keys |
## Deployment
```bash
cp .env.example .env
# .env anpassen (DB, Paperless-URL, OIDC, Ollama, …)
docker compose up -d
```
Backend läuft auf Port `3100`, Frontend wird über nginx ausgeliefert.
Eine vollständige Beschreibung aller Umgebungsvariablen findet sich in `.env.example`.
## Entwicklung
```bash
# Backend
cd paperless-backend
npm install
npm run start:dev
# Frontend
cd paperless-frontend
npm install
npm run dev # Proxy auf localhost:3100
```