Include all custom Applio state in backups

This commit is contained in:
Mikei386
2026-09-16 08:44:56 +02:00
parent 54b9daae91
commit 276df0eae5
4 changed files with 40 additions and 8 deletions
+6
View File
@@ -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
=====================
+2
View File
@@ -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)
+28 -8
View File
@@ -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
+4
View File
@@ -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