← Zurück zu CodeKeep
September 5, 2026 • Automatisierung

Datei‑Ingest mit n8n: Automatisiertes Scannen, OCR und Metadaten‑Archivierung (ClamAV, Tesseract, ExifTool)

Praxisanleitung für n8n: Dateien empfangen, mit ClamAV scannen, OCR mit Tesseract, Metadaten mit ExifTool extrahieren und sicher archivieren.

Datei‑Ingest mit n8n: Automatisiertes Scannen, OCR und Metadaten‑Archivierung (ClamAV, Tesseract, ExifTool)

Dieser Artikel beschreibt einen praxisnahen n8n‑Workflow, mit dem eingehende Dateien (z. B. gescannte Dokumente oder Uploads) automatisiert verarbeitet werden: Virenscan mit ClamAV, OCR‑Texterkennung mit Tesseract, Metadatenextraktion mit ExifTool und anschließende Ablage (z. B. Nextcloud oder Google Drive). Ziel ist ein zuverlässiger, sicherer und beobachtbarer Ingest‑Prozess für produktive Umgebungen.

Übersicht: Architektur und Ablauf

Der Workflow gliedert sich in folgende Schritte:

  • Empfang der Datei (Webhook, Watch‑Node oder Upload‑Trigger)
  • Zwischenspeichern der Binary‑Datei im Dateisystem
  • Virenscan (ClamAV / clamscan oder clamdscan)
  • Metadaten extrahieren (ExifTool)
  • OCR (Tesseract) für Bilder/PDFs
  • Entscheidung: Quarantäne bei Befund oder Archivierung
  • Persistente Ablage und optional Benachrichtigung/Logging

Voraussetzungen

  • n8n (aktuelle stabile Version) mit Schreibrechten auf einem temporären Verzeichnis des Hosts.
  • ClamAV installiert (clamscan oder clamdscan verfügbar).
  • Tesseract OCR installiert (für gewünschte Sprachen).
  • ExifTool installiert.
  • Zielspeicher (Nextcloud, Google Drive, S3, NAS) erreichbar via n8n‑Nodes oder APIs.
  • Sicherheitskonzept: Webhook‑Authentifizierung, TLS, Quotas/Rate‑Limits.

Schritt‑für‑Schritt: Beispiel‑Workflow in n8n

Im Folgenden ein konkreter Aufbau mit empfohlenen n8n‑Nodes (Namen dienen zur Orientierung). Zwischen den Schritten sollten Sie Fehlerpfade und Limits einführen (siehe Abschnitt Fehlerbehandlung).

1) Datei empfangen

Verwenden Sie einen Webhook-Node oder einen Watch‑Trigger (z. B. Google Drive Watch) zum Empfang. Achten Sie auf Authentifizierung (API‑Key, Basic Auth, Signatur) und Größenlimits.

2) Binary schreiben (temporär)

Nutzen Sie einen Write Binary File-Node (oder entsprechende Funktion), um die empfangene Binary nach /tmp oder ein anderes sicheres Temp‑Verzeichnis zu schreiben. N8N muss Schreibrechte für dieses Verzeichnis haben.

# Beispiel: Pfadkonzept (nur als Illustration)
/tmp/n8n/ingest-12345/input.bin
/tmp/n8n/ingest-12345/output.txt
/tmp/n8n/ingest-12345/ocr.txt

Wichtig: Verwenden Sie pro Datei ein eigenes Unterverzeichnis (z. B. ID oder Timestamp), um Race‑Conditions bei parallelen Workflows zu vermeiden.

3) Virenscan mit ClamAV

Starten Sie einen Execute Command-Node, der clamscan oder clamdscan gegen die Datei ausführt. Prüfen Sie Rückgabe (stdout / exit code) und parsen Sie Meldungen.

# Beispielbefehl
clamscan --no-summary /tmp/n8n/ingest-12345/input.bin

oder (wenn clamd läuft)

clamdscan /tmp/n8n/ingest-12345/input.bin

Auswertungsempfehlung:

  • Exit‑Code 0: keine Funde → weiter zu OCR/Metadaten.
  • Exit‑Code 1 oder entsprechende Ausgabe mit "FOUND": Datei in Quarantäne verschieben und Alarm auslösen.

4) Metadaten mit ExifTool extrahieren

Ein Execute Command-Node kann exiftool verwenden und JSON ausgeben:

exiftool -j /tmp/n8n/ingest-12345/input.bin

Die Ausgabe ist JSON; parsen Sie diese in einem Function-Node, um relevante Felder (Erstellungsdatum, Kameramodell, PDF‑Info) in die Workflow‑Metadaten zu übernehmen.

5) OCR mit Tesseract

Wenn die Datei ein Bild oder eine eingebettete Bildseite ist, führen Sie Tesseract aus. Tesseract erzeugt Textdateien oder PDF (abhängig vom Output‑Format).

# Beispiel: OCR auf einem Bild (Deutsch)
tesseract /tmp/n8n/ingest-12345/input.bin /tmp/n8n/ingest-12345/ocr -l deu txt

Ergebnis: /tmp/n8n/ingest-12345/ocr.txt

Für PDFs kann zunächst ein Bild‑Extraktionsschritt nötig sein (z. B. ImageMagick), wenn Tesseract Schwierigkeiten hat. Passen Sie psm (Page Segmentation Mode) und Sprachpakete an Ihre Dokumente an.

6) Entscheidung: Quarantäne vs. Archiv

Verwenden Sie einen If-Node zur Entscheidung:

  • Bei Virenfund: Move/Copy in ein Quarantäne‑Verzeichnis, Benachrichtigung per E‑Mail/Chat, Eintrag im Incident‑Log.
  • Kein Befund: Metadaten und OCR‑Text anreichern, Datei in Zielspeicher ablegen.

7) Ablage und Indexierung

Für die Ablage nutzen Sie die passenden n8n‑Nodes (Google Drive, Nextcloud/ WebDAV, S3). Speichern Sie Metadaten und OCR‑Text als begleitende JSON/ TXT oder in einer Datenbank (Postgres, Elasticsearch) zur Volltextsuche.

# Beispiel: Metadatenstruktur (JSON)
{
  "filename": "invoice_2026-09-01.pdf",
  "checksum": "sha256:...",
  "created_at": "2026-09-01T12:34:56Z",
  "exif": { ... },
  "ocr_text_path": "drive:/docs/invoice_2026-09-01_ocr.txt"
}

Fehlerbehandlung, Monitoring und Sicherheit

Fehlerbehandlung

  • Erfassen Sie klare Fehlerpfade: separate Branches für temporäre Fehler (z. B. Netzwerk) vs. dauerhafte Fehler (z. B. beschädigte Dateien).
  • Verwenden Sie Retries für externe Dienste (z. B. Drive API) mit Backoff und Max‑Retries.
  • Bei Ressourcenmangel (Speicher/IO) Queue‑Backpressure einsetzen oder Inputs drosseln.
  • Bereinigen Sie temporäre Verzeichnisse nach Abschluss oder nach Zeitlimit.

Monitoring

  • Exportieren Sie Metriken: Anzahl verarbeiteter Dateien, Virenfunde, Fehler‑Rate, Verarbeitungslatenz.
  • Loggen Sie Details (Dateiname, Checksummen, Exit‑Codes, Ausführungszeit) zentral (ELK, Prometheus+Grafana).

Sicherheit

  • Webhook absichern: TLS, Auth Tokens, IP‑Whitelist, Signaturen.
  • Minimale Berechtigungen: n8n‑Service nur die benötigten Rechte geben; Temp‑Verzeichnisse einschränken.
  • Quarantäne‑Ordner strikt trennen und nur autorisierten Prozessen zugänglich machen.
  • Regelmäßige Updates für ClamAV, Tesseract und ExifTool.

Praktische Tipps & Best Practices

  • Arbeiten Sie mit Checksummen (SHA256) zur Duplikaterkennung und Integritätsprüfung.
  • Nutzen Sie dedizierte Worker‑Instanzen für CPU‑intensive Tasks (OCR) und delegieren Sie schwere Jobs an Batch‑Queues.
  • Implementieren Sie Idempotenz: bei wiederholten Uploads dieselbe Datei‑ID verwenden, um Doppelverarbeitung zu vermeiden.
  • Testen Sie Workflows mit verschiedenen Dokumenttypen (Farbbilder, Schwarzweiß, PDFs mit eingebettetem Text).

Beispiel‑Varianten

Je nach Use‑Case können Sie Varianten erzeugen:

  • Nur Metadaten + Checksumme speichern (für Compliance/Archivierung).
  • Nur OCR + Volltextindex (für Suchsysteme).
  • Hybride Verarbeitung: zuerst Light‑Scan (Metadaten, checksum), später asynchron OCR bei Bedarf.

Fazit (konkret umsetzbarer Plan)

Ein robuster Datei‑Ingest in n8n kombiniert einfache Shell‑Tools (ClamAV, Tesseract, ExifTool) mit n8n‑Nodes für Datei‑Handling, Entscheidungslogik und Zielverkettung. Achten Sie auf sichere Webhook‑Konfiguration, isolierte Temp‑Verzeichnisse, Monitoring und saubere Fehlerpfade. Starten Sie mit einer minimalen Pipeline (Empfang → Scan → Metadaten → Archiv) und erweitern Sie schrittweise mit OCR, Queues und Alerting.

Weiteres Vorgehen: Implementieren Sie zuerst eine End‑to‑End‑Testdatei, beobachten Logs und Metriken, und erweitern Sie dann um Parallelisierung und Quarantäneprozesse.