HomeBlogÜber

DMS Paperless-ngx auf Synology installieren

Von Jewgeni
Kategorie: Homeserver
March 18, 2022
Update: January 17, 2021
10 Minuten
DMS Paperless-ngx auf Synology installieren

Inhaltsverzeichnis

01
Paperless-ngx Dokumentenverwaltung
02
Installation auf Synology NAS mit Docker
03
Voraussetzungen
04
Vorbereitung
05
Installation
06
Archivierung
07
Container Update
08
Backup
09
Document Exporter

Paperless-ngx Dokumentenverwaltung

Paperless-NGX ist eine Open-Source-Dokumentenverwaltungssoftware bzw. Dokumenten-Management-System (DMS), das darauf abzielt, den Papierverbrauch in Büros und anderen Arbeitsumgebungen zu reduzieren, indem es die Verwaltung von Dokumenten elektronisch ermöglicht. Mit Paperless-ngx können Benutzer Dokumente organisieren, verwalten und darauf von jedem Gerät aus zugreifen. Die Software bietet auch verschiedene Funktionen wie OCR (Optical Character Recognition), um Dokumente digital zu durchsuchen. Die Verwendung von Paperless-ngx kann dazu beitragen, den Papierverbrauch zu reduzieren und die Effizienz in der Arbeitsumgebung zu verbessern.

Paperless ist es wert, getestet zu werden. Es ist kostenlos und die Dokumente werden nicht “eingesperrt”. Im Zweifel kann man die archivierten Dokumente alle auf dem NAS wiederfinden und ist damit nicht auf ewig an Paperless gebunden.

Installation auf Synology NAS mit Docker

Ich habe bereits eine Anleitung zur Installation auf einem Linux Server im Blog veröffentlicht. Jedoch wurde es mit der Zeit etwas unübersichtlich und vor einer Woche erschien dann die erste offizielle Version von Paperless-NGX als Nachfolger von Paperless-ng.

Deshalb habe ich den für ein Synology NAS relevanten Teil in diesen Blogpost verschoben. In dieser Anleitung beschreibe ich auf deutsch, wie man Paperless ngx mithilfe von Docker auf einem Synology-NAS installiert.

Voraussetzungen

Für diese Anleitung wird ein Synology-NAS benötigt. Ich selbst nutze ein Synology DS220+(Amazon Affiliate-Link) mit zusätzlichen 8 GB RAM(Amazon Affiliate-Link). So viel RAM ist nicht zwangsweise notwendig. Es hängt auch viel davon ab, wie viele andere Anwendungen auf dem NAS parallel laufen. Mindestens 1 GB ist jedoch empfehlenswert. Wenn man viele Dokumente mit OCR bearbeiten möchte und mit Tika sowie Gotenberg auch Docx Dokumente hochladen und konvertieren möchte, wären eher 2 GB wünschenswert.

Auf dem Synology NAS sind Docker aus dem Paket-Zentrum sowie Portainer, wie hier beschrieben, installiert. Wir möchten Paperless in einem Docker Container installieren. Portainer ermöglicht die Nutzung einer docker-compose Datei in einer grafischen Oberfläche, dadurch wird die Installation vereinfacht. Darüber hinaus wird auch die Verwaltung der Container erleichtert. Auf die anderen Möglichkeiten (Compose über SSH oder Ausführung über Aufgabenplaner usw.) möchte ich hier nicht eingehen.

Das Dokumentenmanagement Paperless-ngx läuft natürlich auch auf einem NAS eines anderen Herstellers wie zum Beispiel QNAP oder ASUSTOR, insbesondere dann, wenn Portainer installiert ist und das NAS eine x64 CPU hat. Nur die Vorbereitung wie die Erstellung der Freigabeorder ist dann etwas anders. Am Ende müssen aber auch hier die Container in Docker laufen.

(Optional) Im Netzwerk befindet sich ein Nginx Proxy Manager, dieser kann aber auch bei Bedarf auf dem Synology NAS selbst installiert werden. Des Weiteren sorgt ein DNS-Server für die interne Weiterleitung. Damit ist es möglich, dass Paperless nicht nur über {IP-Adresse-Synology}:{Portnummer} aufgerufen werden kann, sondern über sowas wie dms.domain.de. Ermöglicht wird dadurch auch auf Wunsch der externe Zugriff.

(Optional) Eine E-Mail-Adresse, die von Paperless gescannt werden darf. Damit ist es möglich, dass Anhänge aus E-Mails automatisch in Paperless archiviert werden. Man kann dazu natürlich auch einen eigenen Mail-Server benutzen. An diese Adresse leitet man dann E-Mails mit Anhängen weiter, die archiviert werden sollen. Die Anhänge werden geladen, die E-Mail kann automatisch verschoben oder gelöscht werden.

(Optional) Netzwerkscanner. Ich selbst nutze einen Xerox 6515DNI (Amazon Affiliate-Link), der entweder einen Scan an die oben erwähnte E-Mail-Adresse senden oder auch die Datei direkt ins NAS ablegen kann (wenn er gerade nicht Probleme damit hat, es zu finden). Dadurch spart man sich den Schritt des manuellen Uploads. Möchte man keinen Drucker, sondern nur einen Scanner haben, ist der Brother ADS-1700W (Amazon Affiliate-Link) empfehlenswert.

(Optional) Speicher zum Backup. Dabei lassen sich auch solche Dienste wie Google Drive oder Microsoft OneDrive nutzen sowie andere WebDAV-Speicher. Natürlich kann man für ein Backup auch etwas Simples, wie eine externe Festplatte nehmen. Man sollte nicht vergessen, dass RAID kein Backup ist.

(Optional) Android Smartphone. Dafür gibt es die beiden Apps Paperless und Paperless Share, die die Handhabung von Paperless mit einem Android-Smartphone erleichtern.

Vorbereitung

Neuer Benutzer

Aus Sicherheitsgründen sollte man gegebenenfalls nicht sein Administrator Konto nutzen, um den Paperless Container zu starten. Deshalb erstelle ich eine “docker” Gruppe.

Gruppe für Docker einrichten
Gruppe für Docker einrichten

Danach erstelle ich einen neuen Benutzer. Wenn man Rechte noch kleinteiliger vergeben möchte, kann man an dieser Stelle auch den Benutzer “paperless” erstellen.

Neuen Benutzer einrichten
Neuen Benutzer einrichten

Diesen Benutzer packe ich in die Docker Gruppe.

Nutzer in die Docker Gruppe hinzufügen
Nutzer in die Docker Gruppe hinzufügen

Jedenfalls muss ich noch die ID vom gerade erstellten Benutzer und der Gruppe “docker” herausfinden. Dazu aktiviere ich temporär SSH und verbinde mich über irgendein Terminal mit dem NAS.

SSH-Dienst aktivieren
SSH-Dienst aktivieren

ssh adminbenutzername@{ip-adresse-vom-nas}

Ich möchte als Erstes die UserID vom Nutzer docker erfahren.

id docker

Daraufhin sollte sowas in der Art erscheinen:

uid=1010(docker) gid=100(users) groups=100(users),65555(docker)

In diesem Fall merke ich mir die 1010 als UserID und die 65555 als GruppenID.

exit

Außerdem schalte ich SSH wieder aus.

SSH-Dienst ausschalten
SSH-Dienst ausschalten

Neue Ordner

Jetzt erstelle ich einen neuen Freigabeordner ohne Prüfsummen-Check.

Synology schreibt dazu Folgendes:

Um die Qualität der Dienste sicherzustellen, empfehlen wir, Daten-Prüfsumme nicht zu aktivieren, wenn der freigegebene Ordner für folgende Dienste genutzt wird:

  • Hosting von Datenbanken oder virtuellen Maschinen
  • Speichern von Videoaufnahmen von Surveillance Station
  • Ausführen von Diensten, die kleine oder zufällige Schreiboperationen erfordern

Auch wenn es in diesem Fall keine Datenbank sein wird, die viele Schreiboperationen erhalten wird, lasse ich den Prüfsummencheck weg.

Neues Verzeichnis
Neues Verzeichnis

Die Docker Gruppe benötigt Zugriffsrechte auf den Ordner.

Rechteverwaltung für Gruppen
Rechteverwaltung für Gruppen

Der Docker-Nutzer am besten auch.

Zugriffsrecht für Benutzer
Zugriffsrecht für Benutzer

In den paperless Ordner kommen sechs Unterordner: data, db, db-backup, export, media und redis.

Paperless Verzeichnis
Paperless Verzeichnis

Zudem erstelle ich den Ordner, aus dem Paperless automatisch Dokumente extrahieren soll, in meinem Home-Verzeichnis.

Paperless Inbox
Paperless Inbox

Alternativ ist es auch denkbar seinem Netzwerk-Scanner ein Benutzerkonto auf der DiskStation anzulegen und den Inbox Ordner im Homeverzeichnis eben dieses Benutzers anzulegen. Damit braucht der Scanner keinen Zugriff auf das Hauptkonto, es ist aber dennoch möglich in diesen Ordner zu scannen. Oder man erstellt einen zusätzlichen Freigabeordner, wenn man auch manuell dort Dateien ablegen möchte.

An diesem Ordner ändere ich die Berechtigungen. Der Benutzer Docker erhält Schreib- und Leserechte, ggf. auch der Netzwerk-Scanner und der eigene Benutzer.

Paperless Inbox Berechtigungen
Paperless Inbox Berechtigungen

Damit habe ich alles, was nötig ist.

Patrick hat mich darauf aufmerksam gemacht, dass der Inbox-Ordner sich nicht richtig verhält, solange man Synology Drive nutzt.

“Derzeit kann der Server von Synology Drive keine Dateiänderungen in einem Ordner erkennen, der an einen Docker-Container angebunden ist. Synology Drive Server, Client und ShareSync können keine Dateien mit Docker angebundenen Ordnern synchronisieren. Die Einschränkung wird hier erwähnt und hier. Derzeit gibt es keine Möglichkeit, es ordnungsgemäß zu machen. Es gibt leider auch kein Binärprogramm, das für diesen Fall ausgelöst werden könnte. Die Dateien müssten stattdessen direkt vom Hostsystem gelöscht werden, anstatt vom Container.”

Firewall

An dieser Stelle ist es zudem hilfreich sicherzugehen, dass die Container, die erstellt werden, miteinander kommunizieren dürfen. Hat man eine restrektive Firewall eingerichtet, empfielt es sich entweder gleich den kompletten internen IP-Bereich freizugeben oder nach der Installation zu schauen, welche IP-Adressen von den Containern verwendet werden. Ansonsten kann es sein, dass die Container nicht miteinander kommunizieren können, sodass der Datenbank-Container nicht vom Paperless-Container gefunden wird.

Installation

Paperless unterstützt PostgreSQL und sqlite für die Speicherung der Daten. Dadurch, dass mehrere Vorgänge gleichzeitig geschrieben werden können, wird jedoch empfohlen, PostgreSQL zu verwenden, da sqlite in dieser Hinsicht seine Grenzen hat.

Deshalb wollen wir auch hier Paperless-ngx mit einer PostgreSQL Datenbank nutzen. Zudem muss ein Redis Broker eingesetzt werden. Redis ist dafür verantwortlich, Aufgaben vom Webserver zum Aufgabenplaner zu bringen.

Ich habe die letzten Wochen Paperless-ngx mit Redis 6.2 und PostgreSQL 14 genutzt (statt 6.0 bzw. 13). Es lief stabil und ohne jegliche Probleme. Deshalb nutze ich hier diesmal diese neueren Versionen. Zudem starte ich einen Container, der für das Backup automatisch jede Woche einen dump der Datenbank erstellt. Darüber hinaus auch Tika/Gotenberg, um nicht nur PDFs, sondern auch Office-Dokumente (wie “.docx”, “.doc”, “.odt”, “.ppt”, “.pptx”, “.odp”, “.xls”, “.xlsx” und “.ods”) verarbeiten zu können.

Seit Version 1.11.0 von Paperless werden auch bei E-Mails nicht nur die Anhänge verarbeitet, sondern auch der Text der E-Mail selbst kann mit Gotenberg archiviert werden.

Wir rufen Portainer auf und können mit der Installationen beginnen.

Neuer Stack (Docker-Compose)

Unter Stacks kann nun ein neuer Stack hinzugefügt werden.

Neuer Stack
Neuer Stack

Wenn dieser Menüpunkt fehlt, sollte man nochmal sichergehen, dass man die lokale (“local”) Umgebung ausgewählt hat und Portainer mit dem Image portainer/portainer-ce und nicht portainer/portainer betrieben wird.

Hier fügen wir den Docker Compose Code ein.

Compose Datei in den Stack einfügen
Compose Datei in den Stack einfügen

version: '3.6'
networks:
internal:
external: false
services:
broker:
container_name: paperless-redis
image: redis:6.2
# Wenn man lieber 6.0 nutzen möchte
# image: redis:6.0
networks:
- internal
volumes:
# Hier den richtigen Pfad eintragen
- /volume1/paperless/redis:/redis
# - /volume2/paperless/redis:/redis
restart: unless-stopped
db:
container_name: paperless-db
image: postgres:14
# Wenn man lieber die 13 Version von PostgreSQL möchte
# image: postgres:13
# Nicht einfach up- oder downgraden, die Datenbank wird dann nicht mehr laden.
networks:
- internal
restart: unless-stopped
volumes:
# Hier den richtigen Pfad eintragen
- /volume1/paperless/db:/var/lib/postgresql/data
# - /volume2/paperless/db:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
# Hier ein anderes Passwort verwenden
POSTGRES_PASSWORD: xzdN19DTd3CxWOuXP6eSyfhB19HRAx
webserver:
container_name: paperless
image: ghcr.io/paperless-ngx/paperless-ngx:latest
networks:
# Wenn sich der Proxy Manager auf der Synology befindet, sollte hier zusätzlich das Netzwerk davon eingetragen werden, statt einen Port freizugeben.
- internal
restart: unless-stopped
depends_on:
- db
- broker
ports:
# Diesen Teil löschen, wenn der Proxy Manager auf der Synology ist.
# Ansonsten hier einen Port auswählen, der frei ist.
- 8010:8000
# - 8011:8000
# - 8012:8000
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:8000']
interval: 30s
timeout: 10s
retries: 5
volumes:
# Hier die richtigen Pfade eintragen
- /volume1/paperless/data:/usr/src/paperless/data
- /volume1/paperless/media:/usr/src/paperless/media
- /volume1/paperless/export:/usr/src/paperless/export
- /volume1/homes/benutzername/Paperless-Inbox:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_DBPASS: xzdN19DTd3CxWOuXP6eSyfhB19HRAx # Das ist das Passwort von oben
USERMAP_UID: 1010 # UserID für den docker Benutzer
USERMAP_GID: 65555 # GruppenID für den docker Benutzer
PAPERLESS_OCR_LANGUAGES: eng deu
# Hier einen zufälligen Key eintragen, wenn man Paperless von Außen erreichbar machen möchte.
PAPERLESS_SECRET_KEY: C3Q2dLkVPqZWDKTXgkHwWhJ6jk8XqAbeDmDZjCxvb3c2jXl6pTGQXqJFqEkS9umFmXrk4WmzT8rlwjqWan6A2G54Q5IgraBv96CS
# Hier die eigene Domain hinter localhost eintragen, wenn man einen Proxy Host benutzt, ansonsten diese Umgebungsvariable löschen.
PAPERLESS_ALLOWED_HOSTS: 'localhost,paperless.domain.de'
PAPERLESS_TIME_ZONE: Europe/Berlin
PAPERLESS_OCR_LANGUAGE: deu
# Hier anpassen, wenn man eine andere Ordnerstruktur haben möchte
PAPERLESS_FILENAME_FORMAT: '{created_year}/{correspondent}/{title}'
# Die nächsten drei Zeilen weglassen, wenn man Tika/Gotenberg nicht einsetzen möchte.
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000/forms/libreoffice/convert#
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
# Die nächste Zeile setzen, wenn man einen Proxy Server benutzt.
PAPERLESS_URL: 'https://paperless.domain.de'
db-backup:
container_name: paperless-db-backup
# Das Image ggf. an das obere anpassen
image: postgres:14
volumes:
# Hier den richtigen Pfad eintragen
- /volume1/paperless/db-backup:/dump
- /etc/localtime:/etc/localtime:ro
environment:
PGHOST: db
PGDATABASE: paperless
PGUSER: paperless
PGPASSWORD: xzdN19DTd3CxWOuXP6eSyfhB19HRAx # Das ist das Passwort von oben
BACKUP_NUM_KEEP: 10
BACKUP_FREQUENCY: 7d # Alle 7 Tage, kann man anpassen
entrypoint: |
bash -c 'bash -s <<EOF
trap "break;exit" SIGHUP SIGINT SIGTERM
sleep 2m
while /bin/true; do
pg_dump -Fc > /dump/dump_\`date +%d-%m-%Y"_"%H_%M_%S\`.psql
(ls -t /dump/dump*.psql|head -n $$BACKUP_NUM_KEEP;ls /dump/dump*.psql)|sort|uniq -u|xargs rm -- {}
sleep $$BACKUP_FREQUENCY
done
EOF'
networks:
- internal
# Diesen Part weglassen, wenn man keine Umwandlung von Office-Dokumenten, Mails haben möchte.
gotenberg:
container_name: paperless-gotenberg
image: gotenberg/gotenberg:7
restart: unless-stopped
environment:
CHROMIUM_DISABLE_ROUTES: 1
command:
- 'gotenberg'
- '--chromium-disable-javascript=true'
- '--chromium-allow-list=file:///tmp/.*'
networks:
- internal
tika:
container_name: paperless-tika
image: apache/tika:2.3.0
restart: unless-stopped
networks:
- internal

In den Kommentaren habe ich die Stellen angegeben, die eventuell angepasst werden müssen. Die Pfade zu den Verzeichnissen sollten angepasst werden. Insbesondere der Pfad zur Paperless-Inbox wird anders lauten.

Das Passwort der Datenbank muss an drei Stellen geändert werden.

PAPERLESS_ALLOWED_HOSTS sollte gelöscht werden, wenn man nicht über einen Proxy-Host auf Paperless zugreifen möchte. Ansonsten sorgt es dafür, dass nur das Synology-NAS selbst Zugriff hat sowie Geräte, die über die eingetragene Domain Paperless aufrufen. Geändert werden muss der PAPERLESS_SECRET_KEY. Wenn man nicht plant Paperless öffentlich zu betreiben, kann man die Zeile auch auskommentieren oder löschen. Der Key kann zufällig sein.

Die UserID und GruppenID sollte geändert werden (ansonsten ist kein Zugriffsrecht auf die Ordner sichergestellt).

Bei PAPERLESS_FILENAME_FORMAT hat man folgende Variablen zur Verfügung:

  • {asn}: Die Archivierungs-Seriennummer des Dokuments
  • {correspondent}
  • {document_type}
  • {tag_list}: Alle Tags mit einem Komma getrennt
  • {title}: Name des Dokuments
  • {created}
  • {created_year}
  • {created_month}: Monat (1-12)
  • {created_day}: Tag (1-31)
  • {added}: Zeitpunkt, indem das Dokument zu Paperless hinzugefügt wurde
  • {added_year}
  • {added_month}
  • {added_day}

Die Dateien werden nach dem gewählten Schema im Ordner media abgelegt. Im Beispiel oben würde so mein Steuerbescheid 2020 beispielsweise in dem Verzeichnis “/media/documents/originals/2021/Finanzamt” abgelegt werden. Wenn ich aber zum Beispiel {created}_{title} stattdessen nutze, wird die nicht in einen Unterordner abgelegt, sondern der Name der Datei erhält das Prefix mit dem Erstellungsdatum (z.B. 20211217_namederdatei.pdf) Hier ist es wichtig, dass man die Struktur nicht manuell anfassen sollte! Möchte man diese im Nachhinein ändern muss der Befehl document_renamer im Paperless-Container ausgeführt werden.

Hat man wenig Systemressourcen, kann man den Teil mit Tika und Gotenberg weglassen. Dann können weiterhin noch PDF Dokumente, PNG Grafiken, JPEG, TIFF und GIF Bilder verarbeitet werden.

Weitere Konfigurationsmöglichkeiten finden sich in der Dokumentation.

Das Deployment kann etwas Zeit in Anspruch nehmen, wenn alle Images bisher noch nicht heruntergeladen wurden. Nach ein bisschen Warten sollten alle Container gestartet sein.

Nginx Proxy

In der Zwischenzeit kann man einen Proxy-Host für Paperless erstellen. Dabei gebe ich die Adresse meines Synology-NAS sowie die oben gewählte Portnummer ein. Außerdem kann ich mit einer Access Liste einstellen, ob nur ein lokaler Zugriff möglich ist.

Proxy Host
Proxy Host

Wenn sich der Nginx Proxy Manager auf dem NAS befindet und der Webserver im gleichen Docker Netzwerk ist, kann man hier den Hostnamen des Webservers eingeben sowie den Port 8000.

Nachdem ich das SSL Zertifikat für den Proxy Host besorgt habe, füge ich aber auch noch ein paar zusätzliche Einstellungen in die “Custom Nginx Configuration” ein.

Custom Nginx Configuration
Custom Nginx Configuration

client_max_body_size 20M;
proxy_redirect off;

Das sorgt dafür, dass auch größere Dateien (20 MB) über das Web Interface zu Paperless geladen werden können.

Neuer Benutzer

Als Letztes brauchen wir noch ein Benutzerkonto in Paperless. Dazu drücke ich in Portainer auf den paperless Container.

Auswahl des Containers
Auswahl des Containers

Anschließend auf Console.

Console
Console

Und dann gebe ich python3 manage.py createsuperuser als Befehl ein.

Neuen Benutzer anlegen
Neuen Benutzer anlegen

Anschließend werde ich dann nach Benutzernamen, Passwort sowie E-Mail-Adresse gefragt.

Jetzt sollte möglich sein, sich in Paperless anzumelden. Hat man keinen Proxy Host eingerichtet, ist Paperless unter der IP-Adresse des NAS inklusive gewähltem Port (8010) erreichbar.

Archivierung

Ablage

Zur Archivierung kann man die Dateien in die Web-Ansicht von Paperless reinschieben. Man kann die Dokumente aber auch in den angelegten Paperless-Inbox Ordner legen. Ebenso kann man eine Mail schicken, wenn man die Einstellungen im Admin-Menü dafür ausgefüllt hat.

Wenn Tika und Gotenberg eingerichtet sind, sollte es auch möglich sein, beispielsweise ein *.docx Dokument hochzuladen. Gibt es dabei Fehler, könnte es beispielsweise daran liegen, dass die Synology DiskStation eine ARM-CPU hat. In diesem Fall braucht man hier andere Images.

Meta-Daten

Sobald man ein Dokument in Paperless geladen hat, kann man die Meta-Daten bearbeiten. Dies sollte man auch tun, wenn man das Dokument später wiederfinden möchte.

  • Titel: Der Titel des Dokuments

  • Archiv-Seriennummer: Wichtig insbesondere für Dokumente, die man auch analog ablegt. Auf diese kann man vor dem Scan eine Nummer schreiben und diese anschließend in einen Ordner legen. So ist es dann möglich, mithilfe von Paperless später auch den analogen Beleg wiederzufinden.

  • Korrespondent: Hier würde ich die Person eintragen, von der die Datei erstellt wurde, bzw. an wem sie geht. Im Zweifel würde ich es eher breiter definieren. Das bedeutet, wenn ich eine Rechnung von Netcup (Affiliate Link) bekomme, ist Netcup der Korrespondent. Meine Versicherungspolice ist in meinem Fall bei Getsafe (Affiliate Link) Manchmal habe ich darüber nachgedacht ein paar Korrespondenten zu gruppieren. So wäre es beispielsweise für mich denkbar Finanzamt, Gewerbeamt usw. unter “Behörde” zusammenzufassen.

  • Dokumenttyp: Hier würde ich die Art des Dokuments eintragen. Sowas wie Rechnung, Bericht, Anleitung, Vertrag, Sonstiges usw. Ich packe die Dokumente in Sonstiges, bis ich mir denke, dass ein Typ häufiger vorkommt und es sinnvoll wäre zu trennen. Die Versicherungspolice wäre dann unter Vertrag zu finden. Schriftverkehr mit der Versicherung würde ich unter Sonstiges oder Mitteilung packen, solange es nicht den eigentlichen Vertrag ändert.

  • Tags: Hier kann man mehrere Filter für das Dokument eintragen. Z. B. den Empfänger des Dokuments, welchen Betreff das Dokument hat und ggf. auch welches Jahr es betrifft. Wichtig sind vermutlich auch solche Tags wie “Steuer”, wenn es die Steuer betrifft oder “Arbeit”, wenn die Dokumente mit der Arbeit zu tun haben (also sowohl Arbeitsvertrag als auch Lohnabrechnungen oder ein einfacher Brief). Alles was mit meinem Gewerbe zu tun hat, bekommt den Tag Gewerbe. Manchmal habe ich auch Jahreszahlen als Tag, wenn ich zum Beispiel ein Dokument in 2022 erhalte, das sich aber auf 2021 bezieht, bekommt es den Tag 2021.

Damit bin ich bisher ganz zufrieden. Am Ende muss das jeder für sich entscheiden. Glücklicherweise hilft auch das OCR sehr beim Wiederfinden der gesuchten Informationen.

PDF-Viewer

In den Einstellungen lässt sich auch der PDF-Web-Betrachter einschalten. Zumindest unter Chrome funktioniert er bisher zuverlässig.

Container Update

Gegebenenfalls möchte man seine Paperless Instanz oder die anderen Container auf den neuesten Stand bringen. Die neuste Paperless-Version finde ich hier.

Die aktuell installierte Version sieht man unten links in der Paperless-ngx UI. Vor dem Update empfehle ich, eine Sicherung zu erstellen. Auch die anderen Container lassen sich updaten.

Dazu einfach im Image Menü von Portainer das Image “ghcr.io/paperless-ngx/paperless-ngx:latest” neu pullen.

Paperless-ng Image Update
Paperless-ng Image Update

Ebenso können Postgres:14, Redis:6.2 und Gotenberg/Gotenberg:7 upgedatet werden. Postgres:14 bedeutet, dass das aktuellste Image von Postgres mit einer 14 am Anfang verwendet werden soll. Das kann 14.0 sein, aber auch 14.1.2 (falls es das gibt).

Image Update
Image Update

Wenn es ein neues Image gibt, bekommt das ursprüngliche den Tag <none>.

Nun muss nur noch der Stack einmal neu gestartet werden, dazu Stack auswählen. Stop this stack drücken und dann wieder Start this stack.

Backup

Für ein Backup muss man die Ordner db-backup (Datenbank), media (archivierte PDF Dokumente) und data (Einstellungen) sichern. Das lässt sich manuell machen. Man kann aber auch Cloud Sync aus dem Paket-Zentrum nutzen.

Cloud Sync
Cloud Sync

Hier kann man sich drei Aufgaben erstellen.

Cloud Sync Aufgabe
Cloud Sync Aufgabe

Damit werden diese Ordner automatisch mit dem eingestellten Dienst synchronisiert.

Document Exporter

Paperless-ngx besitzt auch einen Dokument-Exporter mit dem man alle gespicherten Dokumente exportierten und in einem anderen Paperless wieder importieren kann. Der Einsatz wird ungefähr so bewerkstelligt.

Schritt 1: Im Paperless Verzeichnis auf der Synology einen neuen Ordner erstellen zum Beispiel mit dem Namen export.

Schritt 2: In Portainer den Paperless Container aufrufen und einen benutzerdefinierten Befehl ausführen: document_exporter ../export.

Schritt 3: Nach ein paar Minuten im Ordner export nachsehen, ob sich dort nun die Dateien befinden.

Schritt 4: Paperless woanders aufsetzen.

Schritt 5: Den kompletten Ordner export zum neuen Paperless Verzeichnis kopieren.

Schritt 6: In Portainer den Paperless Container aufrufen und einen benutzerdefinierten Befehl eingeben: document_importer ../export

Schritt 7: Überprüfen, ob es funktioniert hat.

Die Einrichtung ist damit fertig. Viel Spaß beim Archivieren :)

Bei Fragen / Anmerkungen / Verbesserungsvorschlägen usw. freue ich mich über Kommentare. Mich würde auch interessieren, wie ihr eure Dokumente archiviert.


Tags

#anleitung#dms#docker#homeserver#nas#paperless#portainer#server#synology
Vorheriger Blogpost
Calibre auf Synology
Nächster Blogpost
Proxmox Installation

Kategorien

Aktuelles
Excel
Finanzen
Gaming
Gatsby
Git
Google
Homeserver
Server
Tailwind
Werbung

Inhaltsverzeichnis

1
Paperless-ngx Dokumentenverwaltung
2
Installation auf Synology NAS mit Docker
3
Voraussetzungen
4
Vorbereitung
5
Installation
6
Archivierung
7
Container Update
8
Backup
9
Document Exporter

Related Posts

Vaultwarden mit Docker auf einem Synology NAS
May 04, 2023
May 06, 2023
3 min

Links

KontaktÜber

Social Media