2 min read

Paperless-ngx - physische Dokumente indexieren und archivieren

Mit dem Projekt Paperless-ngx bin ich auf eine großartige Art und Weise gestoßen, mit der ich physikalischen Papiersammlungen endlich den Rücken zukehren kann und von den digitalen Vorteilen (Aufbewahrung, Durchsuchbarkeit, Tags, Zugriff, etc.) Gebrauch machen kann. In diesem Artikel mehr zu meinem Einstieg in dieses Thema.

Das Projekt lernte ich kennen, da Kollegen von mir den Vorgänger paperless-ng nutzten. Dieses Projekt wird aber seit 09/2021 nicht mehr aktiv weiterentwickelt, deshalb der Fork.
Daher kenne ich das Projekt von seinen Grundsätzen her schon und werde auf diese in diesem Artikel auch nicht groß eingehen. Erwähnenswert halte ich im Voraus die folgen Dokumentationsseiten:
- Recommended Workflow
- FAQ

Meinen Workflow habe ich genau wie der verlinkten Abbildung angepasst, nur das ich statt alle gescannten Dokumente direkt in den Müll zu werfen eine "Notfallablage" nutze, in der ich alle jemals gescannten und nicht mehr gebrauchten Dokumente sammle und ersteinaml aufhebe.

Als Hardwarevorraussetzungen gibt es nicht viel zu beachten, ich betreibe die Anwendung bei mir in einem Debian 11 LXC Container mit 2GB RAM und einer 20GB Festplatte. Die Installation verlief bei mir komplett simpel und ich habe sie wie vom Projekt in der Installationsdokumentation angegeben durchgeführt, lediglich diese Zeile habe ich der docker-compose.yml hinzugefügt, um den Dokument-Export direkt aus dem Container auf einen NFS Share meiner NAS zu ermöglichen:  

webserver:
  volumes:
    - /mnt/paperless-truenas:/mnt/paperless-truenas

Der folgende Cronjob auf dem Host exportiert dann wöchentlich alle Dateien:
40 0 * * 1 root docker-compose -f /root/docker-compose.yml exec -T webserver document_exporter /mnt/paperless-truenas

Das Updaten der Installation übernimmt bei mir Watchtower, die Konfiguration sieht bei mir so aus:

watchtower:
    container_name: watchtower
    image: containrrr/watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WATCHTOWER_SCHEDULE=0 15 12 * * *
      - WATCHTOWER_CLEANUP=true
      - TZ=Europe/Berlin
      - WATCHTOWER_NOTIFICATIONS=email
      - WATCHTOWER_NOTIFICATION_EMAIL_FROM=MAIL@PROVIDER.DE
      - WATCHTOWER_NOTIFICATION_EMAIL_TO=MAIL@PROVIDER.DE
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.mailbox.org
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=465
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=MAIL@PROVIDER.DE
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=PASSWORD
      - WATCHTOWER_NOTIFICATIONS_HOSTNAME=paperless.DOMAIN.local
      - WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG=remote
    restart: unless-stopped

Damit fahre ich seit längerer Zeit schon sehr gut und bis jetzt bin ich ohne größere Probleme zurechtgekommen.

Als Scanner nutze ich einen Brother DS-740D (Treiber als .rpm und .deb) über USB und als Software Simple Scan des GNOME Projektes, als Verbesserung des Workflows wäre hier aber auch einen Scanner der die Dokumente in einen Neetzwerkordner ablegen kann zu nennen.
So vermeidet man manuellen Aufwand, jedoch beschränkt sich mein Scanaufkommen auf wenige Seite DinA4 im Monat. Alternativ kann man auch nur per App Fotos anfertigen, ich habe mich aber für einen Scanner entschieden.

Abschließend möchte ich noch kurz Korrespondenten, Tags und Dokumententypen erwähnen, hier habe ich aber aktuell nur sehr wenig eingerichtet, da ich alleiniger Nutzer meiner Instanz bin. Ich habe ein paar Tags angelegt, hier verweise ich aber lieber auf die Dokumentationsseiten, da ich mich selber noch im Lernprozess der Verwendung von Tags etc. befinde.
Zuletzt noch die Android Apps Paperless Share und Paperless nennen, die das Teilen über das Teilen-Menü in Android ermöglicht und ein Betrachter für die Dokumente in der eigenen Instanz ist.

Author: peterge