Architektur
3-stufiges Backup: State-Snapshots (15 Min) + Nightly Full (täglich) + Verschlüsselte DR-Bundles (täglich). Off-Host auf dedi8006.your-server.de via SFTP.
State-Snapshots
Alle 15 Minuten (Cron :07,:22,:37,:52). Enthält: state/*.json, state/crypto/*.json+*.db, config/*.yaml, .paper-state.json. ~10MB pro Snapshot. 576 Snapshots lokal, 30 Tage Retention.
Nightly Full
Täglich 03:00 UTC. Enthält: state/, config/, scripts/, agents/, research/strategies/, cockpit/src/, alle *.py. 2.7-7.5MB tar.gz. 7 Archive aufbewahrt.
DR-Bundles
Täglich 03:20 UTC. GPG AES256 verschlüsselt. Portable (862MB, cross-platform) + Fast-Restore (1.2GB, mit venv+node_modules). Secrets-Sidecar separat verschlüsselt.
Credentials
DR-Passphrase: ~/.apparat-dr-passphrase. SFTP-Password: ~/.apparat-backup-credentials. Beides NUR auf dem Server, nicht im Git.
Restore
1. DR-Bundle herunterladen (SFTP oder lokal). 2. gpg --decrypt → unzstd → tar -xf. 3. Python venv + npm ci. 4. Secrets aus Sidecar. 5. Services starten. Restore-Runbook: DR-RESTORE-RUNBOOK.md.
Off-Host
SFTP: cashgg@dedi8006.your-server.de:/apparat-backups/. Uploads: state/ (15 Min), nightly/ (täglich), dr/ (täglich). Alle Uploads verifiziert.