Paperless-ngx ist ein Open-Source-Dokumentenmanagementsystem (DMS), das speziell dafür entwickelt wurde, dein physisches Papierarchiv in eine durchsuchbare digitale Datenbank zu verwandeln. Es ist der Community-Nachfolger der Projekte paperless und paperless-ng und wird aktiv weiterentwickelt. Egal ob du ein PDF hochlädst oder ein Foto von einer Rechnung machst – Paperless-ngx jagt alles durch die OCR-Engine. Das bedeutet: Du kannst später nach jedem Wort im Dokument suchen. “Versicherungsnummer”? “IBAN”? Einmal tippen, sofort gefunden.
| Datum | Änderungen |
|---|---|
| 15.05.2022 | Erstellung dieser Anleitung. |
| 01.07.2022 | Kleine Anpassungen |
| 09.08.2022 | Anpassung für Docker Compose v2, Kapitel 5.1 hinzugefügt |
| 31.05.2023 | Anpassung an neue Traefik Anleitung |
| 06.05.2024 | Gotenberg und Tika hinzugefügt. Danke an @retoineichen |
| 14.08.2024 | Docker Compose angepasst. Versionen aktualisiert. Danke an @k4zuy4 |
| 02.02.2026 | Anpassung an aktuelle Version |
| 23.07.2026 | Angepasst an paperless–ngx Version 3 |
0. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- Traefik ab v3.6 mit CrowdSec installieren und konfigurieren
1. Verzeichnis erstellen
Zuerst erstellen wir uns ein passendes Verzeichnis.
mkdir -p /opt/containers/paperless-ngx/{consume,export}
cd /opt/containers/paperless-ngx/
chown -R 1000:1000 consume exportCode-Sprache: JavaScript (javascript)
Bei diesem Inhalt handelt es sich um exklusiven Content für Community Plus Mitglieder und Supporter.
Bitte logge dich mit deinem Account ein um den Inhalt zu sehen.
6. paperless-ngx starten
Nun könnt ihr paperless-ngx starten. Gebt dazu folgendes ein:
docker compose -f /opt/containers/paperless-ngx/docker-compose.yml up -d
Der erste Start dauert etwas länger, da dann noch alles eingerichtet werden muss.
Wenn ihr dann auf eure Webseite “paperless.euredomain.de” geht, solltet ihr folgendes sehen:

Hier könnt ihr nun euren Benutzer (Administrator) anlegen.
7. Login
Nun könnt ihr euch mit dem eben erstellten “Super User” anmelden. Dazu geht ihr auf eure Webseite “paperless.euredomain.de” und logt euch ein.
Anschließend solltet ihr folgendes sehen:

8. Zwei Faktor Authenfizierung aktivieren
Dazu geht ihr oben rechts auf euren Account und wählt “Mein Profil” aus:

Nun könnt ihr hier den zusätzlichen Schutz aktivieren:


Tolle Anleitung, kann mich nur den anderen nur anschließen.
Habe nur ein Problem, habe den superuser so angelegt und versucht mich dann anzumelden, doch da kam dann die Fehlermeldung: Verboten (403)CSRF-Verifizierung fehlgeschlagen. Anfrage abgebrochen.
Schöne Anleitung. Danke. Kann ich Paperless irgendwie in Nextcloud einbinden, bzw anders herum, dass meine Dokumente in Paperless eingepflegt werden?
Die Paperless Installation kann leider keine .eml Dateien verarbeiten:
“Test2.eml: Error occurred while consuming document Test2.eml: Error while converting email to PDF: Client error ‘400 Bad Request’ for url ‘http://gotenberg:3000/forms/chromium/convert/html’
For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400”
Hat jm. eine Lösung?
Danke für die Anleitung. Läuft seit vielen Monaten perfekt durch.
Gerade eine Dokumentenverwaltung kann viele sensible Daten enthalten, die besonders geschützt werden müssen. Ich habe bei mir Authelia laufen und damit eine Zweifaktor-Authentifizierung davor gesetzt. Leider muss ich mich dann erst per Authelia einloggen und danach kommt dann zusätzlich der Paperless Login. Das ist doppelt gemoppelt und nicht benutzerfreundlich. Es ist möglich, irgendwelche Header weiterzuleiten, um die Authentifizierung an Paperless weiter zu geben. Ich habe habe auch einige Anleitungen gefunden, z. B. hier auf deutsch: https://mobux.de/paperless-ngx-authelia . Die sind aber immer für nginx und nicht für traefik. Leider kenne ich mich mit der Materie nicht gut genug aus, um das für meine Zwecke anzupassen.
Hat da von euch jemand Erfahrung und kann mir helfen? Das müsste doch eigentlich auch in eurem Interesse sein, oder sichert ihr Paperless nicht zuätzlich ab? Ich würde mich sehr freuen, wenn da jemand eine Lösung hat oder (gern auch mit mir zusammen) erarbeiten kann.
Vielen Dank im Voraus 🙂
Bernd
Vielen Dank für die Anleitung.
Die externe Erreichbarkeit ist für mein Anwendungsprofil sehr praktisch, um über mein Smartphone und die App Paperless Share direkt in das Archiv zu pumpen.
Vor zwei Monaten habe ich einen Neustart gemacht mit einem geänderten Heimserver mit AMD-CPU und 16GB RAM. Darauf läuft OMV und Portainer-EE.
Nach einem größeren Import von Literatur und Rechnungen konnte das Training nicht mehr abgeschlossen werden. In den Logs wurde “WARNING memory overcommit…” als Fehler dokumentiert.
Die von mir gefundenen Lösungsvorschläge habe ich umgesetzt und seitdem läuft es stabil. Glaube ich 😉
Memory overcommit in sysctl.conf aktiviert
vm.overcommit_memory = 1
paperless-redis um die Zeile
command: [“redis-server”, “–appendonly”, “no”, “–maxmemory”, “500mb”, “–maxmemory-policy”, “allkeys-lru”]
erweitert.
Grüße
Dennis
Hallo zusammen,
ich habe den Fehler bekommen, dass mein “Origin” nicht richtig wäre. Folgender Fix hat geholfen:
services:
…
paperless-web:
…
environment:
PAPERLESS_URL: ‘https://paperless.meinedomain.de’
…
im Environment vom Service paperless-web einfügen (und meinedomain.de entsprechend anpasssen). Leider ging dies nicht mehr über das .env File, sondern musste direkt im docker-compose.yml stehen.
Fehler sah so aus im Log:
[2024-07-13 08:47:12,201] [WARNING] [django.security.csrf] Forbidden (Origin checking failed – https://paperless.meinedomain.de does not match any trusted origins.): /accounts/login/
Grüße
Yowa
Wenn Interesse besteht, kann ich hier auch noch beschreiben, wie man Paperless so einrichtet, dass er automatisch Dokumente von Ordner x synchronisiert. Sehr praktisch, wenn die gescannten Dokumente ohnehin schon automatisch irgendwo hingelegt werden
Mit der Anleitung ist das DMS rasch aufgesetzt, vielen Dank!
Gemäss https://github.com/paperless-ngx/paperless-ngx/blob/main/docker/compose/docker-compose.postgres-tika.yml läuft die Vorgabe von Paperless NGX selbst schon mit Redis 7 und Postgresql 15.
Zudem macht es Sinn, gemäss dieser docker-compose-Datei auch das Einlesen von Office-Dokumenten gemäss https://docs.paperless-ngx.com/configuration/#tika zu ermöglichen, was mit dem Einfügen der folgenden Passagen bestens klappt:
gotenberg:
image: docker.io/gotenberg/gotenberg:7.10
restart: unless-stopped
# The gotenberg chromium route is used to convert .eml files. We do not
# want to allow external content like tracking pixels or even javascript.
command:
– “gotenberg”
– “–chromium-disable-javascript=true”
– “–chromium-allow-list=file:///tmp/.*”
networks:
– default
tika:
image: ghcr.io/paperless-ngx/tika:latest
restart: unless-stopped
networks:
– default
-> Einfügen am Schluss vor:
networks:
proxy:
external: true
Viel Spass beim Ordnung-Machen in euren Dokumenten!
Hallo, danke für die Anleitung.
Leider werden Dokumente die ich Hochlade immer nur in die “Warteschlange” geschoben.
Z.b. beim Hochladen über den Browser steht dann unter der Datei: “Datei hochgeladen, warte…”
Woran kann das liegen?
Großartig – ich stehe vor dem Problem, dass ich nur ein “Bad Gateway” zurückbekomme – allerdings kommt dieser vom CrowdSec … und ich finde nicht wieso …