Files

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.

  5. 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 webservers, 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 <old_volume_name>
    
    

Herzlichen Glückwunsch, Ihre PostgreSQL-Datenbank wurde erfolgreich von Version 13 auf 17 migriert!