Dokumentenverwaltung paperless-ng mit Docker auf einem Synology-NAS installieren

An dieser Stelle möchte ich einmal auf das Open-Source-Projekt paperless-ng von Jonas Winkler hinweisen. paperless-ng ist ein Fork des ursprünglichen Projektes paperless zur Dokumentenverwaltung, welches hier und da Feinschliff erhalten hat. Es ist kostenlos und arbeitet auf unterschiedlichen Plattformen. Grundsätzlich ist es aber kein Programm im klassischen Sinne. Es gibts also keine Datei, die ihr irgendwie „mal eben“ auf euren Rechner herunterladen und ausführen könnt.

In Kurzform: paperless-ng ist eine Dokumentenverwaltung. Ihr könnt Dokumente hochladen, es wird automatisch OCR durchgeführt – und ihr könnt im Browser Dokumente verschlagworten, sortieren und natürlich auch finden. paperless-ng kann auf unterschiedliche Art und Weise betrieben werden, beispielsweise unter Linux oder vielleicht, sofern greifbar, in einem Docker-Container. So wie es viele Möglichkeiten gibt, um paperless-ng zu installieren, so gibt es dann auch viele Funktionen im Projekt. Da empfehle ich euch, vielleicht einmal vorab den Blick in die Dokumentation zu werfen.

Ich möchte in diesem Beitrag tatsächlich nur „kurz“ auf die Installation eingehen, wie ich sie als besonders einfach empfunden habe. Wie eben beschrieben: Viele Wege führen nach Rom. Ich habe da einige Zeit versenkt und bin letzten Endes mit einem Script und einem Docker-Container auf dem Synology-NAS zur ersten Sichtung zufrieden gewesen. Falls ihr das für euch ausprobieren wollt, dann folgt mir gerne. Vorausgesetzt wird ein Synology-NAS sowie ein installiertes Docker-Modul.

Schritt 1: Vorbereitung

Sorgt dafür, dass ihr einen von Docker beschreibbaren Ordner in eurem Synology-Dateisystem habt. Bei mir heißt ein Hauptordner „docker“. Da habe ich den Ordner paperless erstellt. Legt dort drin die beiden Ordner „config“ und „data“ an.

Schritt 2: Container installieren

Geht in eure Systemsteuerung des NAS, ruft den Aufgabenplaner auf. Erstellt eine neue geplante Aufgabe > Benutzerdefiniertes Script.

Im Reiter Allgemein stellt ihr den Nutzer auf Root. Bei den Aufgabeneinstellungen muss unter „Befehl ausführen“ folgendes Script eingefügt werden (angepasst aus dieser Anleitung):

docker run -d --name=paperless-ng \
-p 8931:8000 \
-e PUID=1026 \
-e PGID=100 \
-e TZ=Europe/Berlin \
-v /volume1/docker/paperless/config:/config \
-v /volume1/docker/paperless/data:/data \
--restart always \
ghcr.io/linuxserver/paperless-ng

Grundsätzlich sollte an diesem Script nichts angepasst werden müssen – bei einer Standard-Docker-Installation auf dem NAS sollten PUID und PGID sogar passen. Um euch rückzuversichern, könnt ihr aber schauen, ob das bei euch der Fall ist: Nutzer-ID und Gruppen-ID also wirklich passen. Falls ihr das alles wisst, könnt ihr den kommenden Part jetzt also überspringen und das Script einmalig ausführen.

Systemsteuerung > Terminal & SNMP > SSH-Dienst aktivieren.

Per Terminal über SSH vom Rechner auf dem NAS einloggen. Müsst ihr auf eure IP und Nutzernamen anpassen:

ssh Nutzername@IP-Adresse > Enter und Passwort eingeben. Gebt nun id gefolgt von Enter ein, um Gruppen- und Nutzer-ID zu bekommen.

Stimmt mit dem Script überein? Falls nicht – dann eben jetzt anpassen. Danach wieder SSH deaktivieren.

Habt ihr das Script ausgeführt, dann wartet ein wenig. Da müssen das komplette paperless-Paket heruntergeladen und der Docker-Container aufgesetzt werden. Ob der Vorgang beendet ist, lässt sich aber leicht feststellen. Schaut einfach in Docker nach, ob der Container unter „Container“ auch aufzufinden ist. Vorher wichtig:

Checkt in der Container-Ansicht noch einmal die Umgebungsvariablen, ob LANG und LANGUAGE auf de_DE.UTF-8 stehen, bzw. vorhanden sind, falls nicht, ändert dies. Danach startet ihr.

Schritt 3: Ersteinrichtung paperless-ng

Anschließend geht’s im Browser weiter. Oben im Script habt ihr vielleicht schon gesehen, dass der Port 8931 genutzt wird. Das ist auch das Geheimnis für den Erstaufruf. Ihr erreicht die App über die IP eures NAS gefolgt von der Porteingabe 8931. Beispielsweise: 192.168.1.101:8931. Das zeigt euch die Oberfläche – und der erste Nutzername nebst Passwort ist admin / admin.

Grundsätzlich könnte ich hier schließen, denn das war die Installation von paperless-ng auf dem Synology-NAS in Docker.

Für den Rest empfehle ich tatsächlich einmal das nackte Ausprobieren sowie ein bisschen Nachlesen auf der Startseite. Grundsätzlich können unterstützte Dateitypen über die Weboberfläche hochgeladen werden, alternativ werft ihr einfach alles in den Unterordner „consume“ auf dem NAS, der sich mittlerweile unter „paperless > data“ befinden sollte.

Hochgeladene Dokumente werden mit OCR versehen und somit durchsuchbar. PDF-Dokumente, PNG-Bilder, JPEG-Bilder, TIFF-Bilder und GIF-Bilder werden ebenfalls mit OCR verarbeitet und in PDF-Dokumente umgewandelt. Die Originale bleiben dabei unangetastet (außer der Dateiname) und sind ebenfalls in der Ordnerstruktur auf dem NAS auffindbar. Nach der Verarbeitung sind Dokumente auf dem NAS jeweils im Ordner /docker/paperless/data/media/documents/archive und /docker/paperless/data/media/documents/originals abgelegt. Mache ich einen Screenshot von dieser Anleitung und lade diese in paperless hoch, so sieht dies wie folgt durchsuchbar aus:

Klartextdokumente werden ebenfalls unterstützt und wortwörtlich in paperless-ng eingefügt. Wenn die optionale Tika-Integration aktiviert ist (siehe Konfiguration), unterstützt paperless-ng auch verschiedene Office-Dokumente (.docx, .doc, odt, .ppt, .pptx, .odp, .xls, .xlsx, .ods).

Ab hier überlasse ich euch dann mal das Feld des Ausprobierens, denn es sollte hier nur um die Installation als solche gehen. Ich selbst befinde mich da derzeit auch in der Findungsphase, denn bislang bin ich tatsächlich gut mit einem System aus Ordnern und OCR auf der Festplatte hingekommen. paperless-ng ist da wesentlich mächtiger, wenn ihr euch da mal reinfummeln wollt. Und wer da nicht fündig wird, findet sicherlich noch jede Menge anderer DMS zum Ausprobieren. Ansonsten nehmen wir auch gerne Kommentare zu Open Source und Freeware entgegen.

Transparenz: In diesem Artikel sind Partnerlinks enthalten. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalten wir ei­ne kleine Provision. Für euch ändert sich am Preis nichts. Partnerlinks haben keinerlei Einfluss auf unsere Berichterstattung.

Gefällt dir der Artikel? Dann teile ihn mit deinen Freunden.

Avatar-Foto

Hallo, ich bin Carsten! Ich bin gelernter IT-Systemelektroniker und habe das Blog 2005 gegründet. Baujahr 1977, Dortmunder im Norden, BVB-Fan und Vater eines Sohnes. Auch zu finden bei X, Threads, Facebook, LinkedIn und Instagram.

Neueste Beiträge

Mit dem Absenden eines Kommentars stimmst du unserer Datenschutzerklärung und der Speicherung von dir angegebener, personenbezogener Daten zu.

82 Kommentare

  1. Ich nutze es auch schon ein wenig länger, auch wenn ich bisher hauptsächlich teste und mich noch nicht überwinden konnte, als Dokumente einzuscannen.
    Installation lief sehr einfach über Portainer.
    Nur was ich festgestellt habe: Suchen sind case sensitive. Das könnte ich auch nirgends abstellen. Hat da jemand ne Lösung?

  2. Ich verwende schon seit Jahren die privat Version zur Ablage CompuDMS von https://www.compukoeln.de/

  3. Hallo zusammen,

    ist ein interessanter Artikel! Kennt jemand eine Möglichkeit, Synology-Netzwerklaufwerke in die Windows-10-Suche mit Index einzubinden? Scheinbar ist das nicht möglich…

    Viele Grüße

    • Hi!

      Eigentlich kein Synology-Problem. Du musst einen SMB-Ordner als Laufwerk (mit Buchstaben) verbinden. Den kannst du dann in den in Eigenschaften in den „Index“ aufnehmen.

      Nun aber die Einschränkung von Windows: Es wird kein lokaler Index erstellt, sondern bei der Suche wird das NAS gefragt. Entweder sucht das selbst über einen Index oder macht eine „Life“-Suche (die dann sehr langsam sein kann).

      Musst Du sehen, ob dir das als Lösung reicht.

      Beste Grüße!

  4. Cool. Dank des Artikels habe ich endlich ein paar Anhaltspunkte mich damit zu beschäftigen. Habe das schon ewig vor.
    Weiß jemand wie das mit den Aufbewahrungsfristen ist? 10 Jahre ja. Aber Original? Wenn ich einen Scan ausdrucke ist das kein Problem?

    • Das lässt sich kaum einfach beantworten und ist je nach Dokument/Urkunden und Vertragslaufzeiten, Steuer- und Geschäftsunterlagen völlig verschieden. Teilweise hast du Garantien, die nur gelten, wenn Originalbelege vorgelegt werden können. Also es ist alles dabei von 3 Jahren bis ein Leben lang (Geburtsurkunden).

      Ich persönlich lege alle Dokumente weiterhin in Akten ab, die in Keller oder Lager gehen. Alle paar Jahre wird ausgemistet. Alles ansonsten ist eingescannt und im Zweifel muss ich die passende Akte finden. Das Papierbackup ist dann meine Versicherung gegen Datenverlust…

      Da vermisse ich eine Lösung in paperless-ng, dass man die Ablageorte hinterlegen kann. Geht auch über Tags, aber das finde ich nicht ideal.

      Also paperless (wie es der Name sagt), mag zwar sich gut anhören, ich würde aber nicht so vorgehen. Vielleicht bin ich da doch zu konservativ. Zudem bin ich mir unsicher, wie es mit der Revisionssicherheit so steht.

  5. Hi Caschy!

    Noch eine wichtige Info für die Anleitung, da das doch für den deutschsprachigen Raum ist. Die Umgebungsvariable:

    PAPERLESS_OCR_LANGUAGE=deu

    sollte gesetzt sein, ansonsten ist kein Umlaut in der Erkennung. D.h. alle ü werden idR. zu ii, ö zu d – oder was auch immer.

    Es geht auch eine Kombi:

    PAPERLESS_OCR_LANGUAGE=deu+eng

    Das braucht aber mehr Speicher.

    Doku: https://paperless-ng.readthedocs.io/en/latest/configuration.html#ocr-settings

    Wer schon viele Dokumente erstellt hat, will sie ja nicht neu importieren. dann sollte man die PDF/A Dokumente neu erstellen.

    Dazu mit der bash verbinden (geht in Docker des Synology, Docker -> container -> paperless-ng -> Details -> Terminal -> Erstellen) und dann

    manage document_archiver –overwrite

    aufrufen.

    Was aber bei den meisten wohl dann gleich zu der Fehlermeldung führen wird:

    SystemCheckError: System check identified some issues:

    ERRORS:
    ?: The selected ocr language deu is not installed. Paperless cannot OCR your documents without it. Please fix PAPERLESS_OCR_LANGUAGE.

    das liegt daran, dass im docker image tesseract-ocr-deu nicht installiert ist.

    Das kann man im Container (per bash) nachinstallieren)

    apt-get install tesseract-ocr-deu

    wäre dann aber nur temporär vorhanden. Für eine Test genügt es aber:

    Dann gibt

    manage document_archiver –overwrite

    folgendes aus:

    1%|█ | 2/191 [01:07<1:31:39, 29.10s/it]

    Da kann man abschätzen wie lange es braucht…

    Im besten Fall sollte dem Image ein "apt-get install tesseract-ocr-deu" hinzugefügt werden.

    Beste Grüße!

  6. Ich habe seit ca. 2 Jahren ein Setup mit Evernote und einem Dokumentenscanner. Evernote ist einfach zu bedienen und zum Thema Sicherheit scan ich halt keine Sachen die Schützenswert sind, wie Passkopien oder Lohnausweise. Ansonsten bin ich zufrieden damit. Hab noch einen filterize account, der mit automatischen Tags hilft

  7. Womit scannt ihr eure Dokumente ein?

    • Mein HP Drucker kann direkt an eine SMB Freigabe scannen und unterstütz im Einzug Beidseitigen Scan…

    • Brother MFC 3750 … kann leider keinen beidseitigen Scan (das kann nur der MFC3770), aber damit landet das gescannte Dokument auch direkt als PDF auf der NAS. Dann noch mal mit dem Programm „Paper Scan“ (gibt es in den Versionen „Free“ und „Home“) drüber (z.B. zum Gerade ausrichten, Zuschneiden, Helligkeit/Kontrast, Seiten ordnen) – fertig.

  8. Hat denn schon jemand Docspell (https://github.com/eikek/docspell) als Alternative zu paperless-ng ausprobiert bzw. damit Erfahrungen gesammelt?

    • Hi,

      sieht sehr spannend aus. Allerdings denke ich (auch wenn Raspi erwähnt ist), für ein NAS Server zu mächtig. Ich kenne ein Teil der Komponenten und die sind nicht ganz leichtgewichtig. Von den Features ist es natürlich noch mal ein Schlag oben drauf und erfordert damit auch mehr Einarbeitung und Pflege des Systems. Dafür hat man aber auch zum Bespiel Custom Fields und Email Verarbeitung und sogar Zahlenfelder für Rechnungen. Wie viel besser die KI ist, die Tags automatisch zuzuordnen, weiß ich nicht. Das müsste man mal ausprobieren.

      Ich werde mal damit rumspielen.

      • Zwei Punkte:

        1. Docspell speichert alles in einer DB. D.h. für Menschen, die ihre Originale sichtbar in einem Filesystem wünschen, ist das nichts. Es gibt aber ein Export Befehl, der alle Dokumente mit Metadaten exportieren kann. Das verdoppelt die Daten natürlich und ist kein 100% Ersatz. Es gibt eine FAQ zu docspell, die beschreibt, warum man lieber in der DB bleibt:

        https://docspell.org/docs/faq/#where-are-my-files-stored

        2. Es gibt ein Script, dass Paperless-Dokumente importiert. so kann man beides mal ausprobieren, ohne die bereits mühsam importierten Dokumente nochmal zu verschlagworten:

        https://github.com/eikek/docspell/issues/358

        Das wird vermutlich auch für paperless-ng funktionieren.

        Grundsätzlich bleibt aber meine Einschätzung bestehen, dass docspell deutlich mehr Ressourcen benötigt, als paperless-ng. Aber dafür hat man mehr Flexibilität. Was auch nicht vernachlässigbar ist: Docspell ist weiterhin in Entwicklung und ist nicht von einer Person abhängig.

        Beste Grüße!

  9. Markus Jülich says:

    Hallo, bei Versuch die OCR-Sprache mittels PAPERLESS_OCR_LANGUAGE=deu auf deutsch umzustellen bekomme ich die Fehlermeldung „The selected ocr language deu is not installed. Paperless cannot OCR your documents without it. Please fix PAPERLESS_OCR_LANGUAGE.“ – Offensichtlich wird hier also Deutsch nicht mitinstalliert.
    Habt Ihr dafür eine Lösung für die Synology?

    • Hi!

      Siehe meine Antwort weiter oben. Du kannst es im Container nachinstallieren. Besser wäre ein angepasstes Image oder das Original-Image.

      • Markus Jülich says:

        @Josch,

        vielen Dank für die schnelle Hilfe, ich habe diesen Kommentar oben leider erst heute früh gesehen. Ich werde es auf jeden Fall einmal ausprobieren.
        Du schreibst aber, es wäre nur temporär vorhanden – was heißt das?
        Nach jedem Neustart des NAS ist es wieder weg?
        Ich habe Paperless Herbst nach dieser Anleitung hier installiert – ist es damit automatisch die neueste Version 1.50 oder wie kann man es updaten?
        Tut mir leid für die dummen Fragen, aber Docker ist für mich absolutes Neuland und ich habe gestern stundenlang dir verbracht, aber so richtig etwas zum Verstehen leider auch nicht gefunden…

        Viele Grüße

        Markus

        • Hi!

          Starten / Stoppen des Containers und Neustart überlebt die Änderung. Das ist kein Problem. Du hast es nur nicht im Image. Normalerweise fügt man dem Image die Installation hinzu, damit man bei Updates nicht immer manuell eingreifen kann.

          Das Image hat die letzte paperless-ng Version. Da der Hauptentwickler gerade verschollen ist, dauert es sicherlich bis neuere Versionen kommen. Aber es ist sehr stabil. Ich konnte nichts dramatisches.

  10. Hallo,

    wie kann ich Evernote-enex oder enx Dateien in paperless-ng importieren, sodass die in Evernote vergebenen Schlagwörter übernommen werden?

    Grüße
    Tim

Es werden alle Kommentare moderiert. Lies auch bitte unsere Kommentarregeln:

Für eine offene Diskussion behalten wir uns vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen. Wir möchten, dass respektvoll miteinander kommuniziert wird, so als ob die Diskussion mit real anwesenden Personen geführt wird. Dies machen wir für den Großteil unserer Leser, der sachlich und konstruktiv über ein Thema sprechen möchte - gerne auch mit Humor. In jedes Thema Politik einbringen ist nicht erwünscht.

Du willst nichts verpassen?

Du hast die Möglichkeit, den Feed dieses Beitrags zu abonnieren. Wer natürlich alles lesen möchte, der sollte den Hauptfeed abonnieren.