Backup und Wiederherstellung

Hallo zusammen!

Ich habe ein Verständnisproblem und wollte mal in die Runde fragen, ob das jemand klären kann.

Mein System weicht von dem der Masterclass ab, da ich auf einem Raspberry arbeite.
Weitestgehend gleichen sich die .yml und .env aber.

services:
  broker:
    image: docker.io/library/redis:7
    restart: unless-stopped
    volumes:
      - redisdata:/data

  db:
    image: docker.io/library/postgres:16
    restart: unless-stopped
    volumes:
      - pgdata:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless

  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - db
      - broker
      - gotenberg
      - tika
    ports:
      - "8888:8000"
    volumes:
      - data:/usr/src/paperless/data
      - /home/bdream/paperless:/usr/src/paperless/media
      - ./export:/usr/src/paperless/export
      - /home/bdream/paperless/consume:/usr/src/paperless/consume
      - /home/bdream/paperless/scripts:/usr/src/paperless/scripts
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
      PAPERLESS_TIKA_ENABLED: 1
      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
      PAPERLESS_TIKA_ENDPOINT: http://tika:9998

  gotenberg:
    image: docker.io/gotenberg/gotenberg:8.7
    restart: unless-stopped

    # The gotenberg chromium route is used to convert .eml files. We do not
    # want to allow external content like tracking pixels or even javascript.
    command:
      - "gotenberg"
      - "--chromium-disable-javascript=true"
      - "--chromium-allow-list=file:///tmp/.*"

  tika:
    image: docker.io/apache/tika:latest
    restart: unless-stopped

volumes:
  data:
  pgdata:
  redisdata:

Wenn ich z.B. die Dokumentation Datenbank von paperless-ngx - So gelingt das Update (z.B. Postgres 13 zu Postgres 17) anschaue, wird davon gesprochen, dass die Datenbank mittels sudo docker-compose exec webserver document_exporter ../export gesichert wird.

Wenn ich mein System sichere mache ich zusätzlich einen Datenbankdump ohne den ein Wiederherstellen auch nicht funktioniert.

Genaugenommen lösche ich auch das komplette System (Volumes und Images, oder setze ein neues auf) spiele die exportierten Daten wieder ein sudo docker-compose exec webserver document_importer ../export/, um dann die Datenbank wieder herzustellen docker exec -i paperless-db-1 psql -U paperless paperless < paperless_db_1_20250717.bak

Wo ist den mein Denkfehler?
Und funktioniert so dann auch ein DB-Upgrade?

Viele Grüße!

Ich verstehe dein Problem nicht aber kurzum gesagt kannst du die Masterclass Files auch auf dem Raspberry verwenden wenn du die ID und die Pfade änderst.
Habe ich hier auch mehrfach am laufen gehabt.

Backup = Export
Upgrade PGSQL = Export + Upgrade in ne frische Installation ohne Veränderungen ( auch kein Admin setzen ) und dann der Import.

Die Datenbank wird mit dem Import wieder hergestellt.
Einfach 1:1 an den Link halten und an die Masterclass.

Also ist es nicht nötig die Datenbank mit einem extra Befehl zu sichern und wieder herzustellen?

Das würde dann auch in eine Neuinstallation funktionieren?

Viele Grüße!

Hi,

Das ist ja der Vorteil vom Export dass der Datenbankunabhängig ist.
Du kannst also vor dem Import in eine neue Installation die yaml Datei auf die gewünschte Datenbankversion ändern, z.B auf Postgres 17

Ich würde den export aber auf einen Pfad legen wo du ihn auch sichern kannst.
Z.B. /home/bdream/Paperless/export:/usr/src/paperless/export.

Man kann ihn auch sichern wenn man die Rechte dementsprechend setzt mit chmod und chown oder gar einfach verschieben.
Alternativ den Export gleich in einen anderen Pfad laufen lassen.

Ich lasse per Task nen Export laufen wie das Hyper-Backup in der Masterclass.

Danke, das probiere ich die Woche noch mal aus. Ich verstehe so gar nicht, warum ich die DB extra dumpe und wieder einspiele :thinking:

Viele Grüße!

Ja, den Export kann ich direkt sichern.

Viele Grüße!

Oh man, da hatte ich ja etwas total missverstanden. Vielen Dank für die Klarstellung!
Es hat perfekt geklappt mit dem Import. Die Postgres-Datenbank ist auf der aktuellen Version und alle Daten sind da.

Viele Grüße!

Dieses Thema wurde automatisch 60 Minuten nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.