Herzlich willkommen zurück zu meiner Blog-Reihe – Raspberry Pi als Heimserver! In den vergangenen Beiträgen haben wir gemeinsam das Betriebssystem aufgesetzt, OpenMediaVault für unsere Speicherbedürfnisse konfiguriert und Docker samt einiger nützlicher Container zum Laufen gebracht. Heute möchte ich euch ein weiteres Herzstück meines digitalen Zuhauses vorstellen: Paperless-ngx. Mit dieser genialen Software verwalte ich mittlerweile über 1200 Dokumente – von Rechnungen über Verträge bis hin zu wichtigen Briefen. Das Besondere daran? Dank OCR wird jedes Dokument volltextdurchsuchbar und durch clevere Metadaten wie Tags und Korrespondenten finde ich alles im Handumdrehen wieder. Schluss mit dem Papierchaos, hallo digitale Ordnung! Neugierig geworden? Dann lies unbedingt weiter!

Schön, dass du dabeigeblieben bist! Nachdem wir in den vorherigen Teilen dieser Serie die Grundlagen für unseren Raspberry Pi Heimserver geschaffen haben – vom Betriebssystem über OpenMediaVault bis hin zu Docker und den ersten Containern – wird es Zeit, uns einer Anwendung zu widmen, die meinen Alltag wirklich revolutioniert hat: Paperless-ngx.
Ich kann mich noch gut an die Zeiten erinnern, als wichtige Dokumente in unzähligen Ordnern abgeheftet waren und die Suche nach einem bestimmten Schriftstück oft in einer frustrierenden Wühlaktion endete. Dank Paperless-ngx gehört das der Vergangenheit an. Wie im Intro schon erwähnt, habe ich bereits eine beachtliche Sammlung von über 1200 Dokumenten digitalisiert und in Paperless-ngx importiert. Und ich kann dir sagen: Es ist ein befreiendes Gefühl!
Was ist Paperless-ngx und was kann es?
Paperless-ngx ist ein Open-Source-Dokumentenmanagementsystem (DMS), das darauf ausgelegt ist, deine Papierdokumente zu digitalisieren, zu archivieren und vor allem intelligent zu verwalten. Die Software nimmt dir dabei unglaublich viel Arbeit ab.
Das Kernstück ist die OCR-Funktionalität (Optical Character Recognition). Sobald du ein Dokument (typischerweise als PDF) in Paperless-ngx hochlädst, wird der gesamte Textinhalt automatisch erkannt und indexiert. Das bedeutet, du kannst später einfach nach einem beliebigen Wort oder einer Phrase suchen, die in einem deiner Dokumente vorkommt, und Paperless-ngx findet es für dich – selbst wenn es sich um ein gescanntes Bilddokument handelt! Stell dir vor, du suchst eine Rechnung von einem bestimmten Anbieter aus dem letzten Jahr. Statt Ordner zu wälzen, tippst du einfach den Namen des Anbieters und vielleicht noch eine ungefähre Zeitangabe in die Suchleiste und – voilà – das gesuchte Dokument erscheint.
Aber das ist noch nicht alles. Paperless-ngx geht weit über eine reine Volltextsuche hinaus. Du kannst jedem Dokument vielfältige Metadaten zuweisen, um die Organisation und das spätere Wiederfinden noch granularer und effizienter zu gestalten. Dazu gehören:
Tags: Frei definierbare Schlagwörter, die du deinen Dokumenten zuordnen kannst (z.B. „Rechnung“, „Versicherung“, „Steuer“, „Wohnung“).
Korrespondenten: Von wem stammt das Dokument oder an wen ist es gerichtet? (z.B. „Energieversorger“, „Versicherung XY“, „Vermieter“).
Dokumenttypen: Um welche Art von Dokument handelt es sich? (z.B. „Rechnung“, „Vertrag“, „Brief“, „Bescheinigung“).
Speicherpfade: Wenn du eine bestimmte Ordnerstruktur beibehalten möchtest, kann Paperless-ngx Dokumente auch entsprechend ablegen.
Erstellungs- und Hinzufügungsdaten: Wann wurde das Dokument erstellt und wann hast du es zu Paperless-ngx hinzugefügt?
Durch die geschickte Kombination dieser Metadaten wird das Filtern und Durchsuchen deiner Dokumentenablage zu einem Kinderspiel. Du kannst dir beispielsweise alle Rechnungen vom Korrespondenten „Energieversorger“ aus dem letzten Jahr anzeigen lassen, die den Tag „Nebenkosten“ tragen. Die Möglichkeiten sind hier enorm und passen sich flexibel deinen Bedürfnissen an.
Paperless-ngx versucht sogar, viele dieser Informationen automatisch aus deinen Dokumenten zu erkennen und vorzuschlagen. Das spart zusätzlich Zeit bei der Erfassung.
Mein Workflow: Vom Papier zum digitalen Archiv
Um den Prozess so reibungslos wie möglich zu gestalten, habe ich mir einen kleinen, aber feinen Workflow eingerichtet. Das Herzstück meiner Digitalisierungsstrecke ist mein Multifunktionsdrucker, ein HP OfficeJet Pro 9010. Dieser Drucker hat eine Scan-to-Network-Folder-Funktion, die ich mir zunutze mache.
Ich habe auf meinem Raspberry Pi, auf dem ja auch Paperless-ngx läuft, via OpenMediaVault ein SMB-Share (Netzwerkfreigabe) eingerichtet, der als „Eingangsordner“ für neue Scans dient. An meinem HP Drucker habe ich dann ein Scan-Profil konfiguriert, das alle gescannten Dokumente direkt als PDF in diesen speziellen Ordner auf dem Raspberry Pi ablegt.
Paperless-ngx ist so konfiguriert, dass es diesen „Eingangsordner“ regelmäßig überwacht (man spricht hier vom „Consumption Folder“). Sobald eine neue PDF-Datei dort landet, schnappt sich Paperless-ngx diese automatisch, importiert sie, führt die OCR-Texterkennung durch und versucht, erste Metadaten wie Korrespondent und Datum zu extrahieren. Ich muss dann oft nur noch wenige Klicks machen, um Tags zu vergeben oder den Dokumenttyp zu bestätigen. Das ist unglaublich komfortabel und sorgt dafür, dass ich neue Post direkt digitalisieren und ablegen kann, ohne dass sich Papierstapel bilden.
Installation von Paperless-ngx mittels Portainer Stack auf dem Raspberry Pi
Kommen wir zum spannenden Teil: Wie bekommst du Paperless-ngx nun auf deinem Raspberry Pi zum Laufen? Dank Docker und Portainer ist das erfreulich unkompliziert. Die Entwickler von Paperless-ngx stellen eine fertige docker-compose.portainer.yml-Datei zur Verfügung, die uns die meiste Arbeit abnimmt.
Du findest die aktuelle Datei direkt im GitHub-Repository von Paperless-ngx: https://github.com/paperless-ngx/paperless-ngx/blob/main/docker/compose/docker-compose.portainer.yml
So gehst du vor:
Portainer öffnen: Logge dich in deine Portainer-Oberfläche ein.
Stacks auswählen: Navigiere im Menü zu „Stacks“.
Stack hinzufügen: Klicke auf „+ Add stack“.
Namen vergeben: Gib deinem Stack einen aussagekräftigen Namen, z.B. paperless-ngx.
Web-Editor nutzen: Wähle die Option „Web editor“.
Inhalt kopieren: Kopiere den gesamten Inhalt der docker-compose.portainer.yml von der oben genannten GitHub-Seite und füge ihn in das Editor-Fenster in Portainer ein.
Pfade anpassen (WICHTIG!): Dies ist der wichtigste Schritt, bei dem du die Konfiguration an dein System anpassen musst. In der docker-compose.portainer.yml-Datei findest du Sektionen namens volumes. Hier werden Verzeichnisse auf deinem Raspberry Pi (dem Host-System) mit Verzeichnissen innerhalb der Docker-Container verknüpft.
Standardmäßig sehen die Pfade etwa so aus:
volumes:
/mnt/user/paperless/consume:/usr/src/paperless/consume
/mnt/user/paperless/data:/usr/src/paperless/data
/mnt/user/paperless/media:/usr/src/paperless/media
/mnt/user/paperless/export:/usr/src/paperless/export
Du musst die Pfade auf der linken Seite des Doppelpunkts (/mnt/user/paperless/…) an deine eigene Verzeichnisstruktur auf dem Raspberry Pi anpassen. Ich empfehle dir, unterhalb deines OpenMediaVault-Shares (oder wo auch immer du deine Docker-Daten ablegst) einen Hauptordner für Paperless-ngx anzulegen (z.B. /srv/dev-disk-by-uuid-DEINE_UUID/Config/PaperlessNGX/) und darunter dann die Unterordner consume, data, media und export.
Erstelle diese Ordner auf deinem Raspberry Pi, bevor du den Stack deployst, und stelle sicher, dass die Berechtigungen korrekt gesetzt sind, damit der Docker-Benutzer darauf zugreifen kann.
Umgebungsvariablen prüfen/anpassen: Scrolle weiter nach unten zur Sektion environment. Hier kannst du verschiedene Einstellungen für Paperless-ngx vornehmen. Für den Anfang sind die Standardwerte meistens in Ordnung. Wichtig sind z.B.:
PAPERLESS_CONSUMER_POLLING_INTERVAL: Wie oft der Consume-Ordner geprüft wird (in Sekunden).
PAPERLESS_OCR_LANGUAGE: Die Sprache für die Texterkennung. Standard ist eng (Englisch). Für deutsche Dokumente solltest du hier deu oder deu+eng (wenn du auch englische Dokumente hast) eintragen.
PAPERLESS_TIME_ZONE: Deine Zeitzone, z.B. Europe/Berlin.
USERMAP_UID und USERMAP_GID: Diese sollten auf die UID und GID des Benutzers gesetzt werden, dem die oben erstellten Ordner gehören. Oft ist das 1000:1000 für den Standardbenutzer. Du kannst dies mit id DEIN_BENUTZERNAME auf deinem Pi herausfinden.
Stack deployen: Wenn du alle Pfade und wichtigen Umgebungsvariablen angepasst hast, klicke auf „Deploy the stack“. Portainer wird nun die notwendigen Docker-Images herunterladen und die Container erstellen und starten. Das kann einen Moment dauern.
Zugriff auf Paperless-ngx: Sobald der Stack erfolgreich gestartet ist, kannst du Paperless-ngx über die IP-Adresse deines Raspberry Pi und den in der docker-compose.portainer.yml definierten Port (standardmäßig 8010) im Browser aufrufen: http://DEINE_RASPBERRY_PI_IP:8010. Beim ersten Start wirst du aufgefordert, einen Admin-Benutzer anzulegen.
Wichtiger Hinweis zur Hardware: Raspberry Pi 4 vs. Raspberry Pi 5
Die Texterkennung (OCR) kann durchaus rechenintensiv sein. Daher gibt es einen wichtigen Punkt bezüglich der Hardware:
Raspberry Pi 5: Der Betrieb von Paperless-ngx auf einem Raspberry Pi 5 ist optimal. Die deutlich höhere Rechenleistung sorgt dafür, dass auch größere Dokumente oder mehrere Dokumente gleichzeitig zügig verarbeitet werden.
Raspberry Pi 4: Der Betrieb auf einem Raspberry Pi 4 ist möglich, aber man muss hier mitunter ein paar Einstellungen anpassen, um die Performance zu optimieren und den Pi nicht zu überlasten. Die offizielle Dokumentation von Paperless-ngx hat hierfür einen eigenen Abschnitt: Optimierungen für weniger leistungsstarke Geräte. Zu den empfohlenen Anpassungen gehören beispielsweise:
PAPERLESS_OCR_THREADS: Die Anzahl der Threads, die für OCR verwendet werden, reduzieren (z.B. auf 1 oder 2).
PAPERLESS_TASK_WORKERS: Die Anzahl der Hintergrund-Worker reduzieren.
Geduld beim Import größerer Dokumentenmengen mitbringen.
Ich selbst habe Paperless-ngx eine Zeit lang auf einem Pi 4 betrieben und es funktionierte, aber der Umstieg auf den Pi 5 hat die Verarbeitungsgeschwindigkeit spürbar verbessert. Wenn du also die Wahl hast oder neu einsteigst, ist der Raspberry Pi 5 die empfehlenswertere Plattform für ein flüssiges Erlebnis.
Paperless-ngx einfach mal ausprobieren: Die Demo-Seite
Wenn du jetzt neugierig geworden bist, aber nicht gleich alles installieren möchtest, gibt es eine tolle Möglichkeit, Paperless-ngx unverbindlich zu testen. Die Entwickler stellen eine öffentliche Demo-Seite zur Verfügung:
Benutzername: demo
Passwort: demo
Dort kannst du dich einloggen, dich in der Oberfläche umsehen, Dokumente hochladen (bitte keine sensiblen Daten!), mit Tags und Korrespondenten experimentieren und die Suchfunktion ausprobieren. Das ist ideal, um ein Gefühl für die Software zu bekommen.
Die hervorragende Dokumentation
Ein weiterer riesiger Pluspunkt von Paperless-ngx ist die ausführliche und gut strukturierte Dokumentation. Egal ob es um die Installation, Konfiguration, spezielle Anwendungsfälle oder Fehlerbehebung geht – die Chancen stehen sehr gut, dass du in der Doku fündig wirst:
- Dokumentation: https://docs.paperless-ngx.com
Ich kann dir nur wärmstens empfehlen, dort einen Blick hineinzuwerfen, besonders wenn du tiefer in die Materie einsteigen oder bestimmte Einstellungen optimieren möchtest.
Mein Fazit zu Paperless-ngx
Für mich ist Paperless-ngx eine der Killer-Applikationen auf meinem Raspberry Pi Heimserver. Es hat mir geholfen, mein Papierchaos endgültig zu besiegen und eine digitale Dokumentenverwaltung aufzubauen, die nicht nur effizient, sondern auch zukunftssicher ist. Die Flexibilität durch Tags und Metadaten, die mächtige OCR-Suche und die Möglichkeit, alles lokal auf meinem eigenen Server zu hosten, sind für mich unschlagbare Vorteile.
Die Installation mag auf den ersten Blick etwas technisch erscheinen, aber dank Docker und der bereitgestellten Portainer-Vorlage ist sie auch für weniger versierte Nutzer gut machbar. Der Nutzen, den man daraus zieht, ist meiner Meinung nach den anfänglichen Aufwand mehr als wert.
Ich hoffe, dieser Einblick in Paperless-ngx hat dir gefallen und vielleicht sogar Lust gemacht, es selbst einmal auszuprobieren. Im nächsten Teil unserer Serie werden wir uns dann mit weiteren spannenden Anwendungen für unseren kleinen Heimserver beschäftigen. Bis dahin – viel Spaß beim Digitalisieren!
Hast du noch Fragen?
Hast du noch Fragen zu diesem Beitrag? Dann ab damit in die Kommentare oder schreib mich über Mastodon oder Bluesky an.
Dies könnte dich auch interessieren…
Du möchtest weitere Inhalte von mir lesen? Dann schau dir doch mal meinen letzten Beitrag an.