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.
# | Vorschau | Produkt | Preis | |
---|---|---|---|---|
1 | Synology DiskStation DS224+ 2 Bay Dekstop NAS | 368,90 EUR | Bei Amazon ansehen | |
2 | Synology DS223J 2 Bay Desktop NAS, weiß | 204,45 EUR | Bei Amazon ansehen | |
3 | Synology DiskStation DS723+ NAS/Storage Server Tower Ethernet LAN Black R1600 | 525,83 EUR | Bei Amazon ansehen |
Transparenz: In diesem Artikel sind Partnerlinks enthalten. Durch einen Klick darauf gelangt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalten wir eine kleine Provision. Für euch ändert sich am Preis nichts. Partnerlinks haben keinerlei Einfluss auf unsere Berichterstattung.
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?
Ich verwende schon seit Jahren die privat Version zur Ablage CompuDMS von https://www.compukoeln.de/
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!
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.
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!
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
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.
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!
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.
@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.
@Josch Vielen Dank, es klappt jetzt alles!
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