Paperless ngx

Paperless

Paperless ngx ist ein von der Community unterstütztes Open-Source-Dokumentenverwaltungssystem, das Ihre physischen Dokumente in ein durchsuchbares Online-Archiv umwandelt, sodass Sie weniger Papier benötigen.

Paperless ngx

HowTo


/etc/fstab Mount zu Scanner Verzeichniss

192.168.0.102:/mnt/pool1/scanner /opt/paperless/consume nfs auto 0 0

gegebenfalls noch die NFS Tools installieren
apt install nfs-common

# Update Paperless-ngx mit DB-upgrade ! ### Schritt 1: Datenbank sichern und vorbereiten 1. **Stoppen Sie den `webserver`-Dienst**, um zu verhindern, dass die Anwendung während des Backups Daten in die Datenbank schreibt. Der `db`-Dienst muss dabei **laufen**. ``` docker compose stop webserver ``` 2. **Überprüfen Sie, ob der `db`-Dienst läuft**. ``` docker compose ps ``` Der Status von `paperless_db` sollte `Up` sein. Wenn er nicht läuft, müssen Sie die Logs mit `docker compose logs db` überprüfen, um das Problem zu beheben, bevor Sie fortfahren. 3. **Führen Sie den Backup-Befehl aus**. Dieser Befehl startet `pg_dump` innerhalb des laufenden `db`-Containers und speichert die Ausgabe in eine Datei auf Ihrem Host. ``` docker compose exec db pg_dump -U paperless -Fc paperless > paperless_db_backup.dump ``` Eine komprimierte Backup-Datei namens `paperless_db_backup.dump` wird im selben Verzeichnis wie Ihre `docker-compose.yml` erstellt. ---------- ### Schritt 2: `docker-compose.yml` aktualisieren 1. **Stoppen Sie alle Dienste**, um eine saubere Ausgangsbasis zu schaffen. ``` docker compose down ``` 2. **Bearbeiten Sie Ihre `docker-compose.yml`-Datei.** - Ändern Sie das `image` für den `db`-Dienst von `postgres:13` auf `postgres:17`. - **Wichtig:** Ändern Sie den `volumes`-Pfad für die neuen Datenbankdaten, um zu verhindern, dass die alten Daten überschrieben werden. PostgreSQL-Versionen sind nicht direkt kompatibel. YAML ``` # ... services: # ... db: image: docker.io/library/postgres:17 # Version geändert container_name: paperless_db restart: unless-stopped volumes: - ./db_v17_data:/var/lib/postgresql/data # WICHTIG: Pfad geändert environment: POSTGRES_DB: paperless POSTGRES_USER: paperless POSTGRES_PASSWORD: paperless labels: - "com.centurylinklabs.watchtower.monitor-only=true" # ... ``` 3. **Starten Sie nur den neuen Datenbank-Container**. ``` docker compose up -d db ``` Dadurch wird ein neuer, leerer PostgreSQL 17-Container erstellt. 4. **Importieren über einen temporären Ordner**. ``` docker compose cp paperless_db_backup.dump db:/tmp/paperless_db_backup.dump ``` Dieser Befehl kopiert Ihre lokale Backup-Datei in das `/tmp`-Verzeichnis des laufenden `db`-Containers. 2. **Stellen Sie das Backup im Container wieder her:** ``` docker compose exec db sh -c "pg_restore -U paperless -d paperless /tmp/paperless_db_backup.dump" ``` Hierbei übergeben Sie den Pfad der Datei direkt an den `pg_restore`-Befehl, anstatt die Eingabe umzuleiten. ### Letzter Schritt: Dienste starten und bereinigen 1. **Starten Sie die Paperless-ngx-Dienste:** Führen Sie den folgenden Befehl aus, um alle Dienste, einschließlich des `webserver`s, zu starten. Bash ``` docker compose up -d ``` 2. **Überprüfen Sie die Funktionalität:** Öffnen Sie die Paperless-ngx-Weboberfläche in Ihrem Browser. Melden Sie sich an und überprüfen Sie, ob Ihre Dokumente korrekt angezeigt werden und die Anwendung wie erwartet funktioniert. 3. **Bereinigen Sie die temporären Dateien:** Wenn alles einwandfrei läuft, können Sie die erstellten Sicherungsdateien löschen. Bash ``` rm paperless_db_backup.dump ``` Sie können auch das alte Datenbank-Volume löschen, um Speicherplatz freizugeben. 4. **Löschen Sie die alte Datenbank (optional):** Falls Sie das alte Datenbank-Volume nicht mehr benötigen, können Sie es ebenfalls entfernen. **Seien Sie hier vorsichtig, um keine wichtigen Daten zu verlieren.** Bash ``` docker volume ls # find the old volume name docker volume rm ``` Herzlichen Glückwunsch, Ihre PostgreSQL-Datenbank wurde erfolgreich von Version 13 auf 17 migriert!