Nodvard Deck EnglishInstallieren

Sicherungen auf ein NAS oder NFS

Nodvard Deck sichert seine eigenen Daten verschlüsselt und nach Zeitplan. Standard ist ein Ordner im Datenordner. Das schützt vor Fehlbedienung, aber nicht vor einer kaputten SD-Karte. Besser ist ein Ordner auf einem anderen Laufwerk oder einem NAS. So richtest du das ein.

Bevor du anfängst

Lege unter Einstellungen, System, Sicherung zuerst ein Sicherungspasswort fest (mindestens 12 Zeichen). Danach zeigt Deck einmal den Wiederherstellungsschlüssel. Bewahre ihn gut auf: Ohne Passwort und Schlüssel kann niemand die Sicherungen öffnen, auch du nicht. Dort schaltest du auch „Automatisch sichern“ ein und wählst, wie viele Sicherungen bleiben.

Als Ziel nimmt Deck nur zwei Ordner: /app/data/backups im Datenordner oder den eingebundenen Ordner /backups samt Unterordnern, etwa /backups/deck. Gemeint ist immer der Pfad im Container, nicht der auf dem Rechner oder dem NAS.

  1. Den Ordner vom NAS einhängen, und zwar auf dem Rechner, auf dem Deck läuft, zum Beispiel unter /srv/backup/deck. Bei NFS als Zeile in /etc/fstab:
    /etc/fstab
    nas:/volume1/backup/deck  /srv/backup/deck  nfs  defaults,_netdev,x-systemd.before=docker.service  0  0

    Das NFS muss eingehängt sein, bevor Docker startet. Sonst bindet Docker den leeren Ordner auf der eigenen Platte ein, und die Sicherungen landen dort statt auf dem NAS. _netdev sagt dem System, dass es ein Netzlaufwerk ist, x-systemd.before=docker.service lässt Docker darauf warten.

  2. Den Ordner in den Container geben. In der compose.yml steht unter volumes: schon eine vorbereitete Zeile. Nimm das # davor weg und trag deinen Pfad ein:
    compose.yml, unter volumes:
          - /srv/backup/deck:/backups

    Dann im selben Ordner docker compose up -d. In Portainer heißt das: Stack bearbeiten und „Update the stack“.

  3. Schreibrechte für den Nutzer 1000. Deck läuft im Container als Nutzer und Gruppe 1000. Der Ordner auf dem NAS muss für 1000 beschreibbar sein. Entweder auf dem NAS chown 1000:1000 für den Ordner, oder beim NFS-Export alle Zugriffe auf 1000 abbilden: all_squash,anonuid=1000,anongid=1000.

    Ein chown auf dem Rechner bringt bei NFS meist nichts, weil das NAS root nicht durchlässt (root_squash).

  4. Testen, bevor du in der Oberfläche speicherst. Den Namen des Containers zeigt docker ps:
    Im Terminal
    docker exec -u 1000 <container> sh -c 'touch /backups/.test && rm /backups/.test && echo ok'
  5. In der Oberfläche wählen. Kommt ok, trägst du unter Einstellungen, System, Sicherung den Ordner /backups oder einen Unterordner ein.

Wenn beim Speichern eine Meldung kommt

„Der Ordner /backups existiert nicht (ist er eingebunden?).“

Die Zeile - …:/backups fehlt oder ist noch auskommentiert, oder der Container wurde danach nicht neu erstellt. Führ docker compose up -d aus, in Portainer „Update the stack“.

„Sicherungen dürfen nur nach /app/data/backups oder in den eingebundenen Ordner /backups geschrieben werden.“

Trag den Pfad im Container ein, also /backups oder /backups/…, nicht den Pfad auf dem Rechner wie /srv/backup/….

„In /backups darf Nodvard Deck nicht schreiben.“

Die Schreibrechte für 1000 fehlen (Schritt 3), oder das NFS war beim Start von Docker noch nicht eingehängt (Schritt 1).

Mehr dazu

Alles zur Sicherung von Deck, auch ohne NAS und von Hand, steht in der Anleitung im Repository. Fragen beantwortet die Community auf Discord.