Include all custom Applio state in backups
This commit is contained in:
@@ -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
|
für den Daten- oder Totalausfall dienen. Auf /data verbliebene Pakete schützen
|
||||||
nicht gegen den Ausfall genau dieser Datenplatte.
|
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
|
ENTFERNTE KOMPONENTEN
|
||||||
=====================
|
=====================
|
||||||
|
|||||||
@@ -118,6 +118,8 @@ class RecoveryScriptTests(unittest.TestCase):
|
|||||||
self.assertIn("/opt/mike-ai:/backup/opt-mike-ai:ro", compose)
|
self.assertIn("/opt/mike-ai:/backup/opt-mike-ai:ro", compose)
|
||||||
self.assertIn("/data/voice/applio/logs", export)
|
self.assertIn("/data/voice/applio/logs", export)
|
||||||
self.assertIn("/data/voice/applio/datasets", 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.assertIn("ATHENA_EXPORT_KEEP:-5", export)
|
||||||
self.assertNotIn("add_path /data/models", export)
|
self.assertNotIn("add_path /data/models", export)
|
||||||
|
|
||||||
|
|||||||
+28
-8
@@ -1,6 +1,6 @@
|
|||||||
# Backup und Wiederherstellung
|
# 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
|
`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:
|
`/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
|
`/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.
|
Backup-Mounts. Ein Backup ausschließlich auf `/data` schützt nicht vor deren Ausfall.
|
||||||
|
|
||||||
Zusätzlich existieren die externe Restic-Sicherung über
|
Die verschlüsselten Notfallpakete über `athena-export-backup.timer` laufen
|
||||||
`athena-disaster-backup.timer` und verschlüsselte Notfallpakete über
|
ebenfalls im Fünf-Stunden-Takt; der letzte geprüfte Lauf war erfolgreich. Sie
|
||||||
`athena-export-backup.timer`. Bei beiden zugehörigen Services wurden
|
liegen unter `/data/emergency-backups`. Schutz vor Datenplattenausfall setzt
|
||||||
`Result=success` und `ExecMainStatus=0` gelesen. Das bestätigt den letzten
|
eine außerhalb Athenas aufbewahrte Kopie voraus.
|
||||||
Dienstabschluss, keinen in diesem Auftrag geprüften vollständigen Restore.
|
|
||||||
Die Notfallpakete liegen unter `/data/emergency-backups`; Schutz vor
|
Die externe Restic-Sicherung über `athena-disaster-backup.timer` ist derzeit
|
||||||
Datenplattenausfall setzt eine außerhalb Athenas aufbewahrte Kopie voraus.
|
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
|
### Wiederherstellung und Versionsgrenze
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,10 @@ add_path /var/lib/mike-ai-disaster-backup/latest
|
|||||||
add_path /data/voice/applio/logs
|
add_path /data/voice/applio/logs
|
||||||
add_path /data/voice/applio/datasets
|
add_path /data/voice/applio/datasets
|
||||||
add_path /data/voice/applio/config.json
|
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/omnivoice/output
|
||||||
add_path /data/voice/xvc/output
|
add_path /data/voice/xvc/output
|
||||||
add_path /data/voice/studio
|
add_path /data/voice/studio
|
||||||
|
|||||||
Reference in New Issue
Block a user