Dubletten in Paperless NGX ausfindig machen ...

  • Moin zusammen,

    ich hatte festgestellt, dass ich mir doch noch beim Zusammenführen der Dokumente aus meiner Paperless Instanz meines Mini PC´s, Dubletten eingefangen habe.

    Über die Filterfunktion ist es doch sehr aufwändig die Dubletten ausfindig zu machen. Ich dachte mir dann, dass ich mir kurz "paperless-ngx-dedupe" dazu installiere, da aus der Beschreibung hervorging, dass Dubletten mit einem Tag gekennzeichnet werden.

    Leider habe ich nach zwei Stunden aufgegeben, weil ich den Container von der GIthub-Seite nicht gezogen bekomme. Selbst mit Anmeldung und Token-Erzeugung bei Githup nicht.

    Ich könnte an dieser Stelle etwas Support gebrauchen.

    Beste Grüße, Stefan

    Fritzbox 6660 - Cabel | DXP 4800 Plus | Speicher 1 x Samsung 8 GB & 32 GB Kingston KVR56S46BD8-32 | Raid 1- Vol1; 2 x Kingston SNV3S 2TB | Raid 1- Vol 2; 2 x 4 TB 870 EVO 4TB (2,5")

  • Go to Best Answer
  • Bitte diesen Post schließen. Ich konnte es allein lösen.

    Beste Grüße, Stefan

    Fritzbox 6660 - Cabel | DXP 4800 Plus | Speicher 1 x Samsung 8 GB & 32 GB Kingston KVR56S46BD8-32 | Raid 1- Vol1; 2 x Kingston SNV3S 2TB | Raid 1- Vol 2; 2 x 4 TB 870 EVO 4TB (2,5")

  • Brumbus
    Möchtest du uns an deiner Lösung teilhaben lassen?
    VG Willi

  • Hallo zusammen,

    natürlich komme ich der aufforderung von Willi nach, ich dachte allerdings, dass aufgrund der ausgebliebenen Rückmeldung kein interresse besteht. Nun denn, ich habe es endlich geschafft, das Tool paperless-ngx-dedupe auf meinem Ugreen NAS stabil zum Laufen zu bringen. Da der Weg dorthin steinig war (defektes Docker-Image, Abstürze beim Sync, Verbindungsprobleme), möchte ich meine Lösung mit euch teilen.

    Das Problem:

    Das offizielle Docker-Image scheint auf manchen Systemen (wie Ugreen/Synology) Probleme mit veralteten Bibliotheken und fehlenden Compilern zu haben. Das führte zu zwei Hauptfehlern:

    1. Verbindungsfehler: Das Tool konnte sich nicht mit der Paperless-API verbinden (406 Not Acceptable oder 302 Found), weil die verwendete Python-Bibliothek zu alt war.
    2. Abstürze beim Sync: Wenn die Verbindung klappte, stürzte der Worker ab (int object has no attribute get oder DB-Fehler unique constraint "ix_documents_fingerprint"), weil das Tool nicht mit leeren Checksummen oder dem neuen Tag-Format von Paperless-ngx klarkam.

    Die Lösung:

    Anstatt das defekte Image zu nutzen, habe ich einen "Clean Slate"-Ansatz gewählt: Wir nutzen ein sauberes Python-Image und installieren die Software beim Start frisch. Zusätzlich musste eine Datei im Quellcode gepatcht werden.

    Hier ist die Schritt-für-Schritt-Anleitung:

    1. Vorbereitung

    Ladet euch den Quellcode des Tools herunter (z.B. als ZIP von GitHub) und entpackt ihn auf euer NAS (z.B. nach /docker/paperless-dedupe/).
    Ihr braucht den Ordner src, alembic und die pyproject.toml.

    2. Der Code-Patch (WICHTIG!)

    Es gibt einen Bug, wenn Dokumente in Paperless keine Checksumme haben. Das bringt die Datenbank zum Absturz.

    Öffnet die Datei /docker/paperless-dedupe/src/paperless_dedupe/worker/tasks/document_sync.py und sucht den Bereich, wo fingerprint gesetzt wird.

    Ersetzt/Ergänzt die Logik so, dass leere Checksummen abgefangen werden (Python):

    (Alternativ kann ich die komplette gepatchte Datei zur Verfügung stellen, falls Interesse besteht).


    3. Die docker-compose.yml

    Verwendet nicht die Standard-Datei, sondern diese hier. Sie nutzt Python 3.13 und installiert beim Start automatisch die neuesten, kompatiblen Bibliotheken sowie nötige Compiler-Tools (YAML):


    4. Starten

    Startet den Stack. Der erste Start dauert ca. 5-10 Minuten, da er im Hintergrund kompiliert.

    Danach ist das Tool unter http://nas-ip:30002 erreichbar.

    Wichtig bei den Einstellungen:

    • URL: http://NAS-IP:8008 (ohne Slash am Ende probieren, wenn es mit nicht geht).
    • Nutzt einen frischen API-Token.

    Bei mir läuft es damit jetzt stabil und hat erfolgreich Duplikate gefunden!

    Viel Erfolg und beste Grüße, Stefan

    P.S: ob es den Aufwand wert war? - ich habe zumindest wieder was dazu gelernt ;) - und wenn es nur der grüne Button auf GitHub ist, wo man sich den Kram auch herunterladen kann :D

  • Vielen Dank Brumbus <4

Participate now!

Join our community with over 10,000 members!

Register yourself now for free to get full access to all content, graphics, downloads and other exclusive features!