Paperless-NGX per Docker installieren
Schwierigkeit: Mittel
Zeitaufwand: 20-25 Minuten
Paperless-NGX ist ein Open-Source-Dokumentenmanagement, es ermöglicht Papierdokumente zu scannen, zu speichern und digital zu organisieren. Die Installation von Paperless-NGX ist dank Docker und Docker Compose relativ einfach. In dieser Anleitung zeige ich dir, wie du Paperless-NGX mit Docker Compose schnell und unkompliziert zum Laufen bringst.
Voraussetzungen
– Docker ist installiert
– Docker Compose ist installiert
– Internetzugriff
Paperless-NGX mit Docker Compose einrichten
Nachfolgend erkläre ich einmal wie du Paperless-NGX installierst, das ganze einmal entweder mittels Portainer oder SSH.
Unabhängig davon brauchst du verschiedene Ordner, die du einmal erstellen musst um sie gleich in der docker-compose.yml anzugeben. Ich empfehle dir folgende Ordnerstruktur:

Außerdem brauchst du noch einen so genannten „Consume Ordner“ PDF-Dateien in diesem Ordner werden in Paperless eingelesen, ich habe diesen in meinem Nutzer Ordner erstellt.
Die Dateipfade brauchst du gleich in der docker-compose Datei
Mit Portainer
Um mit der Installation zu starten öffnen wir zunächst einmal unsere Portainer Weboberfläche:

Hier wählen wir nun zuerst das „Environment“ aus und klicken anschließend in der Seitenleiste auf „Stacks“

Mit einem Klick auf „New Stack“ öffnet sich folgende Seite

Tausche in der hier folgenden docker-compose.yml folgendes aus und füge sie anschließend in Portainer ein:
Grün Markiert: Mit deinen eigenen Dateipfaden
Orange Markiert: Mit deinem eignen Passwort
Blau Markiert: Mit deinem Eigenen Nutzernamen
Optional: Lila markiert: Mit einem Port deiner Wahl
version: "3.6"
services:
broker:
image: redis
container_name: Paperless-NGX-REDIS
restart: always
volumes:
- /srv/docker/paperlessngx/redis:/data
db:
image: postgres:15.5
container_name: Paperless-NGX-DB
restart: always
volumes:
- /srv/docker/paperlessngx/db:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: Paperless-NGX
restart: always
depends_on:
- db
- broker
ports:
- 8777:8000
volumes:
- /srv/docker/paperlessngx/data:/usr/src/paperless/data
- /srv/docker/paperlessngx/media:/usr/src/paperless/media
- /srv/docker/paperlessngx/export:/usr/src/paperless/export
- /srv/docker/paperlessngx/scripts:/usr/src/paperless/scripts
- /home/Jordy/Dokumente:/usr/src/paperless/consume
environment:
PAPERLESS_CONSUMER_POLLING: 60
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_TIME_ZONE: Europe/Bucharest
PAPERLESS_ADMIN_USER: Jordy
PAPERLESS_ADMIN_PASSWORD: PASSWORT
PAPERLESS_OCR_LANGUAGE: deu+eng
Diese Datei erstellt 3 Docker Container:
Paperless-NGX-REDIS: ist ein In-Memory-Cache, der für das Caching von Daten und das Management von Warteschlangen (z.B. OCR-Prozesse) verwendet wird.
Paperless-NGX-DB: ist der Container, der die PostgreSQL-Datenbank enthält, in der alle Dokumentenmetadaten und Benutzerdaten gespeichert werden.
Paperless-NGX: ist der Hauptanwendungscontainer, der die Webanwendung bereitstellt und mit Redis und der Datenbank kommuniziert.
Klicke nun auf „Deploy Stack“

Nun läuft Paperless auf deinen Server unter dem von dir angegeben Port
Per SSH
Erstelle mit nano eine neue Datei
sudo nano docker-compose.yml
Tausche in der hier folgenden docker-compose.yml folgendes aus und füge sie anschließend bei dir ein:
Grün Markiert: Mit deinen eigenen Dateipfaden
Orange Markiert: Mit deinem eignen Passwort
Blau Markiert: Mit deinem Eigenen Nutzernamen
Optional: Lila markiert: Mit einem Port deiner Wahl
version: "3.6"
services:
broker:
image: redis
container_name: Paperless-NGX-REDIS
restart: always
volumes:
- /srv/docker/paperlessngx/redis:/data
db:
image: postgres:15.5
container_name: Paperless-NGX-DB
restart: always
volumes:
- /srv/docker/paperlessngx/db:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: Paperless-NGX
restart: always
depends_on:
- db
- broker
ports:
- 8777:8000
volumes:
- /srv/docker/paperlessngx/data:/usr/src/paperless/data
- /srv/docker/paperlessngx/media:/usr/src/paperless/media
- /srv/docker/paperlessngx/export:/usr/src/paperless/export
- /srv/docker/paperlessngx/scripts:/usr/src/paperless/scripts
- /home/Jordy/Dokumente:/usr/src/paperless/consume
environment:
PAPERLESS_CONSUMER_POLLING: 60
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_TIME_ZONE: Europe/Bucharest
PAPERLESS_ADMIN_USER: Jordy
PAPERLESS_ADMIN_PASSWORD: PASSWORT
PAPERLESS_OCR_LANGUAGE: deu+eng
Diese Datei erstellt 3 Docker Container:
Paperless-NGX-REDIS: ist ein In-Memory-Cache, der für das Caching von Daten und das Management von Warteschlangen (z.B. OCR-Prozesse) verwendet wird.
Paperless-NGX-DB: ist der Container, der die PostgreSQL-Datenbank enthält, in der alle Dokumentenmetadaten und Benutzerdaten gespeichert werden.
Paperless-NGX: ist der Hauptanwendungscontainer, der die Webanwendung bereitstellt und mit Redis und der Datenbank kommuniziert.
Speichere nun mit STRG+O deine Datei und führe folgenden Befehl aus, um deine Container zu erstellen:
sudo docker-compose up -d

Nun läuft Paperless auf deinen Server unter dem von dir angegeben Port
Öffne nun in einem Webbrowser die Oberfläche von PaperlessNGX

Melde dich mit deinem Nutzer und Passwort an, dass du in der docker-compose.yml angegeben hast, danach öffnet sich folgender Screen:

Nun kannst du Beginnen Dateien per Weboberfläche Dateien hochzuladen oder Dateien in deinen Consume Ordner ablegen

Anschließend kannst du unter dem Menüpunkt Dokumente, deine hochgeladenen Dokumente ansehen

Folgende Anleitungen erklären dir die weitere Konfiguration von Paperless:
E-Mail Account anbinden und Mailregel erstellen
PDF Datein mit dem immer selben Passwort entsperren
Korrespondenten, Tags, Dokumenttypen automatisch zu ordnen (folgt)