Betrieb · Kapitel 14
Sicherungen und Updates.
Nexview legt vor jeder Änderung an der Datenbank von selbst eine Kopie an. Die liegt aber im selben Verzeichnis wie die Datenbank, geht der Datenträger verloren, geht sie mit. Eine Sicherung wird daraus erst, wenn du sie herunterlädst und woanders aufbewahrst. Dieses Kapitel zeigt, wie das geht, wie du wiederherstellst und wie Updates ablaufen.
Was zu Nexview gehört
Alles, was zählt, liegt in dem Ordner, den du als /data eingebunden hast:
| Datei | Inhalt |
|---|---|
nexview.db | Konten, Anfragen, Rückmeldungen, Einstellungen |
secret.key | der Schlüssel, mit dem deine gespeicherten Zugänge verschlüsselt sind |
avatars/ | Profilbilder |
trash/ | die geholten TRaSH Guides, nach denen deine Qualitätsprofile gebaut wurden |
hausordnung/ | die Bilder der Hausordnung |
logs/ | das Fehlerprotokoll |
secret.key gehört zur Datenbank. Ohne ihn lassen sich die gespeicherten Zugänge zu TMDB, nexcrate oder Radarr und Sonarr und zum Mailserver nicht mehr entschlüsseln. Sichere beide zusammen und leg die Sicherung nie in ein öffentliches Repository. Die Sicherungen von Nexview selbst (siehe unten) enthalten alles davon. Die Liste hier ist für den, der den Ordner von Hand sichert.
Eine Sicherung anlegen und herunterladen
Du findest sie unter „Einstellungen › System › Sicherungen“.
- Anlegen
„Jetzt sichern“ dauert ein paar Sekunden und stört den laufenden Betrieb nicht. Mit der „Notiz (freiwillig)“ schreibst du dazu, wofür die Sicherung ist. „Vor dem großen Aufräumen“ hilft in drei Monaten mehr als ein Datum.
- Herunterladen
„Herunterladen“ vergibt ein „Passwort für das Archiv“ mit mindestens acht Zeichen, zweimal. Du bekommst ein verschlüsseltes ZIP mit der Datenbank, den Profilbildern, dem Stand der TRaSH Guides, den Bildern der Hausordnung und der Schlüsseldatei
secret.key. Zwischenspeicher fehlen, die holt sich Nexview von selbst zurück, deshalb ist eine Sicherung ein paar Megabyte groß. Merk dir das Passwort: Es gibt keinen Zweitschlüssel und keinen Weg zurück. Das Archiv ist ein gewöhnliches AES-ZIP und lässt sich mit 7-Zip, WinRAR oder dem Dateimanager öffnen. Du bist nicht darauf angewiesen, dass Nexview läuft, um an deine eigenen Daten zu kommen.

Regelmäßig von selbst
Unter „Automatische Sicherungen“ stellst du „Regelmäßig sichern“ ein: „aus“, „täglich“, „wöchentlich“ oder „monatlich“. Automatische Stände sind als „automatisch“ gekennzeichnet, von Hand angelegte als „manuell“. „Automatische behalten“ legt fest, wie viele aufgehoben werden, Voreinstellung ist fünf. Nur automatische Stände werden begrenzt, von Hand angelegte bleiben liegen. Ob eine fällig ist, rechnet Nexview aus dem Datum der vorhandenen Dateien aus, ein Container, der über den Termin hinweg aus war, holt sie beim nächsten Start nach.
Gut zu wissenDie Kopien, die Nexview für sich im Datenordner ablegt, liegen dort unverschlüsselt, als blanke SQLite-Dateien. Wer dieses Verzeichnis lesen kann, liest jedes Konto, auch aus jedem älteren Stand, der noch aufbewahrt wird. Verschlüsselt ist allein der Download. Wem das wichtig ist, schützt das Verzeichnis, nicht die Datei: Eine Sicherung, die Nexview allein entschlüsseln könnte, müsste den Schlüssel danebenlegen und schützte niemanden.
Wiederherstellen
- In einer frischen Installation. Das ist der Weg nach einem Umzug oder einem Ausfall. Die erste Frage des Assistenten lautet: „Aus einer Sicherung wiederherstellen“. Du lädst das Archiv hoch („Sicherungs-Archiv (.zip)“), gibst das Passwort ein und wählst „Archiv prüfen“. Nexview sieht erst nach, was darin steckt: Zeitpunkt, Version, Notiz. Eingespielt wird erst auf deinen Klick mit „Jetzt einspielen“. Danach ist die Einrichtung fertig, Konten, Anfragen und Verbindungen kommen aus der Sicherung.
- In der laufenden Installation. „Wiederherstellen …“ auf der Seite „Sicherungen“ ersetzt die gesamte Datenbank. Alles, was seit dieser Sicherung passiert ist, geht verloren: Konten, Anfragen, Bewertungen, Merklisten. Alle Angemeldeten fliegen heraus, du selbst auch. Das ist Absicht, denn die Konten in der Sicherung sind womöglich andere als die von eben. Nexview legt vorher eine Sicherung des jetzigen Standes an, das ist der Weg zurück.
Vorher prüft Nexview, ob die Sicherung passt. Nexview kann seine Datenbank nur nach vorn umbauen: Eine ältere Sicherung zieht es beim Start sauber hoch, eine neuere lehnt es ab, weil sie aus einer Fassung kommt, deren Tabellen die laufende nicht kennt. Aktualisiere dann zuerst. Die Ablehnung nennt den Grund.
Zwei Warnungen stehen im Fenster und sind ernst gemeint. Ist NEXVIEW_SECRET_KEY als Umgebungsvariable gesetzt, gewinnt sie, und der Schlüssel aus dem Archiv wird ignoriert. Stimmt der Wert nicht mit dem der Sicherung überein, lässt sich danach kein gespeicherter Zugang mehr lesen, und alles muss neu verbunden werden. Und: Zurückgeholt wird nur Nexview. Was inzwischen in nexcrate, Radarr, Sonarr oder auf dem Medienserver passiert ist, bleibt, wie es ist, gelöschte Filme kommen nicht zurück. Der nächste Abgleich bringt Nexview mit der Wirklichkeit in Übereinstimmung und kann dabei Anfragen erneut stornieren, samt Benachrichtigungen.
Eine Sicherung sichert Nexview, nicht deine Mediathek. Filme und Serien liegen dort, wo nexcrate oder Radarr und Sonarr sie hingelegt haben, dafür brauchst du weiter, was du ohnehin dafür benutzt.
Aktualisieren
Ein Update ist ein neues Abbild holen und neu starten:
docker compose pull
docker compose up -dDie Datenbank bleibt erhalten. Nexview bringt sie beim Start selbst auf den neuen Stand: Fehlende Tabellen, Spalten und Indizes werden ergänzt. Bevor etwas geändert wird, legt es eine Kopie nach /data/sicherungen/, die fünf jüngsten bleiben liegen. Die letzte Kopie vor einem Update wird nie aussortiert, sie ist der Weg zurück zur Fassung, von der du kamst.
Auf der Seite „Über Nexview“, die du über „Über“ in der Fußzeile erreichst, steht die „Installierte Version“. Dort zeigt Nexview auch, wenn eine neuere erscheint („Update verfügbar“), und „Was ist neu?“ führt zu den Release-Notizen. Dafür fragt es höchstens einmal am Tag bei GitHub nach. Die Anfrage schickt nichts aus Nexview hinaus, und „Täglich nach neuen Versionen sehen“ schaltest du dort ab. Die Release-Notizen jeder Fassung stehen auch auf GitHub. Nexview aktualisiert sich nie selbst.
Wer keine Überraschungen will, schreibt statt latest eine feste Fassung ins image::
| Abbild | Inhalt |
|---|---|
ghcr.io/derkezorm/nexview:latest | die jüngste veröffentlichte Fassung, die Empfehlung |
ghcr.io/derkezorm/nexview:1.1.0 | genau diese Fassung, ändert sich nie |
ghcr.io/derkezorm/nexview:main | der aktuelle Entwicklungsstand, kann kaputt sein |
Auf Unraid und TrueNAS aktualisierst du aus dem Katalog, siehe Selbst hosten.
Zurück auf eine ältere Fassung
Starte nicht einfach das ältere Abbild auf dem aktualisierten Datenordner. Eine ältere Fassung kann nicht lesen, was eine neuere geschrieben hat, und ändert dabei Daten, ohne es zu sagen: Sie bricht offene Anfragen ab, streicht 4K-Rechte und baut Speicherposten um. Eine ältere 1.x-Fassung weigert sich deshalb zu starten, bevor sie etwas ändert. Der Weg zurück ist die Sicherung, die vor dem Update entstanden ist. Sie liegt in sicherungen/ und trägt „before update“ im Namen, der Startlog des Updates nennt die genaue Datei. Nimm genau diese Datei und keine neuere: Eine ältere Fassung, die auf der aktualisierten Datenbank gestartet wurde, schreibt zuerst eine eigene Sicherung, und die enthält die neuen Daten schon.
Zurück geht es durch Austauschen der Datei bei gestopptem Nexview, nicht über „Wiederherstellen“ in den Einstellungen:
- Stoppen
Den Container anhalten:
docker compose down. - Datei ersetzen
Im Datenordner kopierst du diese Sicherung über
nexview.db. - Reste entfernen
Lösche
nexview.db-walundnexview.db-shm, falls es sie gibt. Sie gehören zur neueren Datenbank und würden auf die alte gespielt. - Alte Fassung starten
Trag die ältere Fassung ins
image:ein, etwaghcr.io/derkezorm/nexview:1.1.0, und starte mitdocker compose up -d.
Alles, was seit dem Update passiert ist, steht in dieser Sicherung nicht und ist in der alten Fassung weg. Ein späteres Update beginnt dann vom wiederhergestellten Stand und läuft noch einmal.
Als Nächstes folgt eine Integration, die vieles von dem nutzt: Home Assistant. Alle Umgebungsvariablen stehen auf der Seite Selbst hosten.