Sicherungen und Updates¶
Zwei Gewohnheiten halten Ihren Server sicher:
- Sichern. Schalten Sie eine tägliche Sicherung der Datenbank ein, und
bewahren Sie eine Kopie des Ordners
evey-dataan einem anderen Ort auf. - Aktualisieren. Ein Befehl holt die neue Version. Evey sichert die Datenbank vorher von selbst, wann immer ein Update sie verändert.
Diese Seite zeigt beides, danach, was eine Sicherung enthält, wie Sie eine Sicherung wiederherstellen und wie Sie zu einer älteren Version zurückkehren.
Sicherungen planen¶
- Gehen Sie zu Verwaltung → Sicherung & Wiederherstellung, Karte Zeitplan.
- Legen Sie unter Cron-Ausdruck fest, wann sie laufen soll.
0 3 * * *heißt jeden Tag um 3 Uhr. (Das Format ist Minute, Stunde, Tag, Monat, Wochentag.) - Legen Sie unter Aufbewahrung (Tage) fest, wie lange jede Sicherung
aufbewahrt wird, zum Beispiel
30. Ältere Sicherungen werden nach jedem geplanten Durchlauf gelöscht. - Setzen Sie das Häkchen bei Aktiviert und drücken Sie auf Speichern.
Jetzt ausführen erstellt sofort eine Sicherung, ebenso Sicherung erstellen oben auf der Seite.
Sicherungen werden in ./evey-data/backups gespeichert. Das liegt in dem
Ordner, den Sie ohnehin auf eine andere Festplatte kopieren sollten (siehe
Was eine Sicherung enthält).
Über die Kommandozeile
Ein Skript oder ein Cron-Job auf dem Host kann dieselbe Sicherung erstellen:
Der Befehl folgt dem Telemetrie-Schalter im Verwaltungsbereich (siehe
unten); --include-telemetry nimmt die Telemetrie nur für diesen
Durchlauf mit.
Der Server sichert die Datenbank außerdem von selbst, bevor ein Update sie verändert, unabhängig vom Zeitplan (siehe Evey aktualisieren).
Was eine Sicherung enthält¶
Eine Sicherung ist eine Kopie der Datenbank: Konten, Profile, Bibliotheken und ihr Katalog, Wiedergabeverlauf und Fortsetzungspunkte, Sammlungen, Playlists und Favoriten, Einstellungen, Plugin-Einträge, Webhooks, API-Schlüssel, Benachrichtigungen und Audit-Protokolle.
Sie enthält nicht:
- Ihre Mediendateien;
- den Video-Cache (er füllt sich von selbst wieder);
- den Suchindex (er wird aus der Datenbank neu aufgebaut);
- die Schlüssel in
./evey-data:jwt.key, der jede Anmeldung schützt, und den Ordnerkeys(Datenbankpasswort, Suchschlüssel) undhls_aes.key, den Schlüssel, der die Streaming-Segmente verschlüsselt (beim ersten Start angelegt, Modus 0600); - die Dateien der installierten Plugins.
Bewahren Sie deshalb auch eine Kopie des ganzen Ordners ./evey-data
auf. Eine Datenbanksicherung stellt Evey auf derselben Installation wieder
her. Um einen Rechner von Grund auf neu aufzubauen, brauchen Sie den Ordner.
Telemetrie und das Dateiformat
Messwerte zu Wiedergabe und Server (hinter den Diagrammen zu Qualität und Last) werden standardmäßig nicht aufgenommen: Sie wachsen am schnellsten und enthalten keine Angaben über Ihren Katalog. Telemetrie in Sicherungen einschließen (Verwaltung → Serverkonfiguration) nimmt sie wieder auf, für manuelle, geplante und über die Kommandozeile erstellte Sicherungen. Beim Wiederherstellen einer Sicherung werden diese Tabellen immer geleert.
Eine Sicherung ist eine .tar.gz-Datei mit dem Datenbank-Dump und einer
kurzen Beschreibung samt Prüfsumme (SHA256) und Schemaversion.
Eine Sicherung wiederherstellen¶
Verwaltung → Sicherung & Wiederherstellung listet die Sicherungen auf. Stellen Sie eine aus der Liste wieder her, oder laden Sie mit Aus Datei wiederherstellen eine Datei hoch. Das Wiederherstellen ersetzt die aktuelle Datenbank: Alles seit dieser Sicherung geht verloren.
Nur eine Sicherung aus einer Version mit demselben Datenbankaufbau
Der Server prüft zuerst die Datei und den Aufbau der Datenbank (die Schemaversion). Eine Sicherung aus einer Version mit anderem Aufbau lehnt er ab, statt sie zu laden. Wie Sie mit Ihren Daten zu einer älteren Version zurückkehren, steht unter Zurückkehren.
Startet der Server nicht mehr, kann die Kommandozeile die Sicherheitskopien
wiederherstellen, die vor einem Update angelegt wurden
(pre-migration-*.sql.gz), nicht die .tar.gz-Sicherungen aus diesem Bereich:
siehe Wiederherstellung.
Evey aktualisieren¶
In dem Ordner, in dem Ihre Compose-Datei liegt:
Das ist das ganze Update.
- Ihre Daten werden zuerst gesichert. Muss die neue Version die Datenbank
verändern, schreibt sie zuerst eine Kopie nach
./evey-data/backups/pre-migration-*.sql.gz(die drei neuesten werden aufbewahrt) und nimmt die Änderung dann beim Start vor. - Das kann bei einem großen Katalog ein paar Minuten dauern. Der Container meldet sich als gesund, sobald er wieder antwortet.
- Evey sagt Ihnen, wenn es ein Update gibt. Es prüft jede Stunde, ob ein neueres Image veröffentlicht ist, und zeigt das im Verwaltungsbereich an. Es aktualisiert sich nie selbst.
- Welche Version läuft:
docker exec evey-server evey versiongibt die Version und den Commit aus.
Die genaue Version festlegen, die Sie betreiben
latest folgt der neuesten Version und ändert sich mit jedem Update. Für
einen Server, auf den Sie sich verlassen, tragen Sie in der Zeile image:
ein Versions-Tag (0.1.0, oder 0.1, um nur dessen Fixes zu erhalten) oder ein festes Tag sha-<commit> ein. So
laufen zwei Pulls im Abstand eines Tages mit demselben Code.
Die Tabelle unter Installation zeigt, was jedes Tag bringt.
Zurückkehren¶
- Tragen Sie das vorherige Tag in die Zeile
image:Ihrer Compose-Datei ein. - Hat die neuere Version die Datenbank verändert, stellen Sie zuerst deren
Kopie von vor dem Update wieder her:
docker exec evey-server evey admin rollbackgibt die genauen Schritte aus, mit dem Pfad der Datei. - Führen Sie
docker compose up -daus.
Image-Tags, weitere Varianten und Builds für Grafikkarten sind unter Fortgeschrittene Bereitstellungen beschrieben.