Im heutigen Beitrag zeige ich dir, wie du Paperless-ngx auf deinem Raspberry Pi installieren und deine bestehende Installation von einem Windows-Rechner umziehen kannst. Wir gehen Schritt für Schritt durch die nötigen Vorbereitungen, die Docker-Installation und die Migration deiner Daten. Außerdem erkläre ich, wie du Speicherorte und Backup-Optionen so konfigurierst, dass deine Dokumente jederzeit sicher abrufbar sind.
Was ist Paperless-ngx?
Paperless-ngx ist eine Open-Source-Lösung zur digitalen Dokumentenverwaltung, die speziell dafür entwickelt wurde, Papierdokumente zu scannen, zu organisieren und einfach durchsuchbar zu machen. Mit Paperless-ngx kannst du deine digitalen Dateien zentral speichern, kategorisieren und dank der OCR-Funktion auch durchsuchen.
1. Vorbereitung des Raspberry Pi
Für die Installation nutzen wir einen Raspberry Pi 4 mit mindestens 4 GB RAM. Du benötigst außerdem eine aktuelle Version von Raspberry Pi OS (es reicht auch Raspberry Pi OS Lite, da wir keinen Desktop brauchen) sowie Zugriff auf den Pi via SSH.
Schritte zur Vorbereitung:
- Raspberry Pi OS installieren: Lade Raspberry Pi OS herunter und installiere es auf deiner SD-Karte. Am einfachsten geht das über das Raspberry Pi Imager tool
- SSH aktivieren: Erstelle eine leere Datei mit dem Namen
ssh
auf der Boot-Partition der SD-Karte. So kannst du den Pi später über SSH ansteuern. - Updates durchführen:
sudo apt update && sudo apt upgrade -y
2. Docker und Docker Compose installieren
Da Paperless-ngx in Containern läuft, benötigen wir Docker und Docker Compose.
Docker Installation:
- Installiere Docker:
url -fsSL https://get.Docker.com -o get-Docker.sh && chmod +x get-Docker.sh
sudo ./get-Docker.sh - Füge deinen Nutzer zur Docker-Gruppe hinzu:
sudo usermod -aG docker $USER
- Starte den Docker-Dienst:
sudo systemctl enable docker
sudo systemctl start docker
Docker Compose installieren:
sudo apt install docker-compose -y
3. Paperless-ngx Container einrichten
Erstelle ein Verzeichnis für die Paperless-ngx-Konfiguration:
mkdir ~/paperless-ngx && cd ~/paperless-ngx
Erstelle dann eine docker-compose.yml
-Datei, die die Paperless-ngx-Container beschreibt.
Beispiel für die docker-compose.yml
:
services:
broker:
image: docker.io/library/redis:7
restart: unless-stopped
volumes:
- redisdata:/data
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- broker
- gotenberg
- tika
ports:
- "8000:8000"
volumes:
- /home/pi/paperless-ngx/data:/usr/src/paperless/data
- /home/pi/paperless-ngx/media:/usr/src/paperless/media
- /home/pi/paperless-ngx/export:/usr/src/paperless/export
- /home/pi/paperless-ngx/consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_SECRET_KEY: "DeinGeheimerSchluessel"
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_OCR_LANGUAGE: deu+eng
PAPERLESS_ACCOUNT_SESSION_REMEMBER: "True"
PAPERLESS_OCR_USER_ARGS: '{"invalidate_digital_signatures": true}'
PAPERLESS_FILENAME_FORMAT: '{{created_year}}/{{correspondent}}/{{title}}'
gotenberg:
image: docker.io/gotenberg/gotenberg:8.7
restart: unless-stopped
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"
tika:
image: docker.io/apache/tika:latest
restart: unless-stopped
volumes:
data:
media:
redisdata:
Die volumes werden mit /home/pi/paperless-ngx auf dem Raspi zugreifbar und sind nicht nur im Docker-Image vorhanden. So kann man das consume-Verzeichnis freigeben und Dokumente dort aus dem Netzwerk plazieren. Über das export-Verzeichnis lässt sich das backup steuern
4. Migration der bestehenden Paperless-ngx-Daten vom Windows-Rechner
Falls du bereits eine Installation von Paperless-ngx auf deinem Windows-Rechner genutzt hast, möchtest du deine bestehenden Daten und Einstellungen auf den Pi übertragen.
Schritte zur Migration:
- Daten exportieren: Kopiere die Verzeichnisse
data
undmedia
von deinem Windows-System auf den Raspberry Pi.scp -r /path/to/your/data pi@your-pi-ip:~/paperless/data
scp -r /path/to/your/media pi@your-pi-ip:~/paperless/media - Container starten:
docker-compose up -d
Paperless-ngx sollte nun mit deinen bisherigen Dokumenten und Metadaten starten.
5. Speicherorte und Backup-Optionen konfigurieren
Die Daten- und Medienverzeichnisse sind in der docker-compose.yml
-Datei definiert. Um regelmäßige Backups zu gewährleisten, kannst du entweder die Ordner regelmäßig auf eine externe Festplatte oder in die Cloud kopieren.
Einrichtung von Backups
Eine einfache Möglichkeit, ein Backup zu erstellen, ist die Nutzung eines Cronjobs:
crontab -e
Füge den folgenden Eintrag hinzu, um täglich um Mitternacht ein Backup zu erstellen:
0 0 * * * tar -czvf ~/backups/paperless_backup_$(date +\%F).tar.gz ~/paperless
Fazit
Nach diesen Schritten sollte deine Paperless-ngx-Installation auf dem Raspberry Pi einsatzbereit sein und alle deine bestehenden Daten enthalten. Indem du regelmäßige Backups einrichtest und Speicherorte sorgfältig konfigurierst, kannst du sicherstellen, dass deine Dokumente stets geschützt sind.
Viel Erfolg bei der Einrichtung, und viel Freude mit deiner digitalen Dokumentenverwaltung!