4.9 KiB
Paperless ngx
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 ngxHowTo
/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
-
Stoppen Sie den
webserver-Dienst, um zu verhindern, dass die Anwendung während des Backups Daten in die Datenbank schreibt. Derdb-Dienst muss dabei laufen.docker compose stop webserver -
Überprüfen Sie, ob der
db-Dienst läuft.docker compose psDer Status von
paperless_dbsollteUpsein. Wenn er nicht läuft, müssen Sie die Logs mitdocker compose logs dbüberprüfen, um das Problem zu beheben, bevor Sie fortfahren. -
Führen Sie den Backup-Befehl aus. Dieser Befehl startet
pg_dumpinnerhalb des laufendendb-Containers und speichert die Ausgabe in eine Datei auf Ihrem Host.docker compose exec db pg_dump -U paperless -Fc paperless > paperless_db_backup.dumpEine komprimierte Backup-Datei namens
paperless_db_backup.dumpwird im selben Verzeichnis wie Ihredocker-compose.ymlerstellt.
Schritt 2: docker-compose.yml aktualisieren
-
Stoppen Sie alle Dienste, um eine saubere Ausgangsbasis zu schaffen.
docker compose down -
Bearbeiten Sie Ihre
docker-compose.yml-Datei.-
Ändern Sie das
imagefür dendb-Dienst vonpostgres:13aufpostgres: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" # ... -
-
Starten Sie nur den neuen Datenbank-Container.
docker compose up -d dbDadurch wird ein neuer, leerer PostgreSQL 17-Container erstellt.
-
Importieren über einen temporären Ordner.
docker compose cp paperless_db_backup.dump db:/tmp/paperless_db_backup.dumpDieser Befehl kopiert Ihre lokale Backup-Datei in das
/tmp-Verzeichnis des laufendendb-Containers. -
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
-
Starten Sie die Paperless-ngx-Dienste: Führen Sie den folgenden Befehl aus, um alle Dienste, einschließlich des
webservers, zu starten.Bash
docker compose up -d -
Ü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.
-
Bereinigen Sie die temporären Dateien: Wenn alles einwandfrei läuft, können Sie die erstellten Sicherungsdateien löschen.
Bash
rm paperless_db_backup.dumpSie können auch das alte Datenbank-Volume löschen, um Speicherplatz freizugeben.
-
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 <old_volume_name>
Herzlichen Glückwunsch, Ihre PostgreSQL-Datenbank wurde erfolgreich von Version 13 auf 17 migriert!