bjoernpoettkerandClaude Opus 5 f97177943d
Build and Push Multi-Platform Images / build-and-push (push) Successful in 39s
feat(mail): abgeschlossene E-Mails erneut zur Bearbeitung freigeben
Der Import-Wizard ist für verarbeitete E-Mails gesperrt. Damit ließ sich
ein fehlerhaft abgeschlossener Vorgang bisher nicht korrigieren.

Administratoren können eine E-Mail in der Detailansicht nun wieder
freigeben (POST /api/emails/:id/reimport, MANAGE_ALL). Die Anhänge aus
der Datenbank werden weiterverwendet; ein erneuter Abruf vom IMAP-Server
findet nicht statt.

Die Freigabe setzt Status 4 ("Zur Nachbearbeitung") statt Status 0:
check-attachments prüft Mails mit Status 0, findet die Anhänge per
Checksumme in Paperless – dort liegen sie ja bereits – und würde die
Freigabe beim nächsten Lauf sofort wieder auf "Verarbeitet" zurückdrehen.
Status 4 bleibt davon unberührt. Da Status ein freies int ist, ist dafür
keine Migration nötig.

Erlaubt sind nur die Status 1, 2 und 3; liegt die E-Mail ohnehin im
Arbeitsvorrat, antwortet der Endpunkt mit 400, statt den Zustand still zu
überschreiben. Wer die Freigabe ausgelöst hat, steht im Log.

Der neue Status erscheint als eigener Tag sowie in beiden Filtern der
Mailpostfach-Übersicht, damit die freigegebenen Mails auffindbar bleiben.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-02 11:06:08 +02:00

Paperless Manager

Eine Erweiterungsplattform für 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

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

# Backend
cd paperless-backend
npm install
npm run start:dev

# Frontend
cd paperless-frontend
npm install
npm run dev        # Proxy auf localhost:3100
S
Description
No description provided
Readme
239 MiB
Languages
TypeScript 99.2%
CSS 0.4%
JavaScript 0.2%
HTML 0.1%
Dockerfile 0.1%