diff --git a/Erklärung.txt b/Erklärung.txt index 24c13d0..79148d3 100644 --- a/Erklärung.txt +++ b/Erklärung.txt @@ -299,6 +299,12 @@ heruntergeladenes Paket kann statt des externen Restic-Speichers als Quelle für den Daten- oder Totalausfall dienen. Auf /data verbliebene Pakete schützen nicht gegen den Ausfall genau dieser Datenplatte. +Für Applio enthalten diese Notfallpakete ausdrücklich die trainierten +.pth-Stimmengewichte, .index-Dateien und Zwischenstände unter +/data/voice/applio/logs, die Trainingsdatensätze, die Auftragsdatenbank von +Mikes Applio UI sowie benutzerdefinierte Pretrain-Dateien. Erneut ladbare +Predictor-, Embedder- und Standardmodell-Caches werden nicht mitgesichert. + ENTFERNTE KOMPONENTEN ===================== diff --git a/dev/test_recovery.py b/dev/test_recovery.py index c897bb2..b377496 100644 --- a/dev/test_recovery.py +++ b/dev/test_recovery.py @@ -118,6 +118,8 @@ class RecoveryScriptTests(unittest.TestCase): self.assertIn("/opt/mike-ai:/backup/opt-mike-ai:ro", compose) self.assertIn("/data/voice/applio/logs", export) self.assertIn("/data/voice/applio/datasets", export) + self.assertIn("/data/voice/applio/mikes-applio-ui", export) + self.assertIn("/data/voice/applio/models/pretraineds/custom", export) self.assertIn("ATHENA_EXPORT_KEEP:-5", export) self.assertNotIn("add_path /data/models", export) diff --git a/docs/RECOVERY.md b/docs/RECOVERY.md index 751c181..76e7ce6 100644 --- a/docs/RECOVERY.md +++ b/docs/RECOVERY.md @@ -1,6 +1,6 @@ # Backup und Wiederherstellung -## Athena – geprüfter Sicherungsstand vom 12. September 2026 +## Athena – geprüfter Sicherungsstand vom 16. September 2026 `mike-ai-backup` läuft und sichert im Fünf-Stunden-Takt nach `/data/docker-backups` (14 Tage Aufbewahrung). Die aktuell geprüften Mounts sichern: @@ -13,13 +13,33 @@ Piper-Daten sind kein aktueller Sicherungsbestand. Modellgewichte unter `/data/models` und das reproduzierbare Whisper-Volume gehören nicht zu diesen Backup-Mounts. Ein Backup ausschließlich auf `/data` schützt nicht vor deren Ausfall. -Zusätzlich existieren die externe Restic-Sicherung über -`athena-disaster-backup.timer` und verschlüsselte Notfallpakete über -`athena-export-backup.timer`. Bei beiden zugehörigen Services wurden -`Result=success` und `ExecMainStatus=0` gelesen. Das bestätigt den letzten -Dienstabschluss, keinen in diesem Auftrag geprüften vollständigen Restore. -Die Notfallpakete liegen unter `/data/emergency-backups`; Schutz vor -Datenplattenausfall setzt eine außerhalb Athenas aufbewahrte Kopie voraus. +Die verschlüsselten Notfallpakete über `athena-export-backup.timer` laufen +ebenfalls im Fünf-Stunden-Takt; der letzte geprüfte Lauf war erfolgreich. Sie +liegen unter `/data/emergency-backups`. Schutz vor Datenplattenausfall setzt +eine außerhalb Athenas aufbewahrte Kopie voraus. + +Die externe Restic-Sicherung über `athena-disaster-backup.timer` ist derzeit +nicht eingerichtet: `/etc/mike-ai/disaster-backup.env` fehlt. Bis ein externes +Ziel konfiguriert und die Sicherung aktiviert wurde, darf diese Ebene nicht als +vorhandener Schutz eingeplant werden. Ein vollständiger Restore wurde in +diesem Auftrag nicht ausgeführt. + +### Applio-Stimmen + +Die verschlüsselten Notfallpakete enthalten die selbst trainierten +Applio-Stimmen vollständig: + +- `/data/voice/applio/logs`: `.pth`-Gewichte, `.index`-Dateien und + Trainings-Zwischenstände, +- `/data/voice/applio/datasets`: verwendete Trainingsdaten, +- `/data/voice/applio/mikes-applio-ui`: Auftragsdatenbank der Oberfläche, +- `/data/voice/applio/models/pretraineds/custom`: benutzerdefinierte + Pretrain-Dateien. + +Erneut ladbare Predictor-, Embedder- und Standard-Pretrain-Caches bleiben +ausgeschlossen. Die breite externe Restic-Sicherung umfasst, sobald sie +konfiguriert und aktiviert ist, ohnehin das gesamte Verzeichnis +`/data/voice`. ### Wiederherstellung und Versionsgrenze diff --git a/platform/backup/athena-export-backup b/platform/backup/athena-export-backup index 6137acd..bf3ebf2 100755 --- a/platform/backup/athena-export-backup +++ b/platform/backup/athena-export-backup @@ -50,6 +50,10 @@ add_path /var/lib/mike-ai-disaster-backup/latest add_path /data/voice/applio/logs add_path /data/voice/applio/datasets add_path /data/voice/applio/config.json +# Preserve user-created Applio state while continuing to omit the large, +# reproducible predictor/embedder/base-model caches. +add_path /data/voice/applio/mikes-applio-ui +add_path /data/voice/applio/models/pretraineds/custom add_path /data/voice/omnivoice/output add_path /data/voice/xvc/output add_path /data/voice/studio