Sauvegardes et reprise après sinistre
L’état de AiHummer est petit et bien défini, ce qui rend les sauvegardes simples — tant que vous vous souvenez que le la clé principale n’est pas dans la base de données et doit être protégé indépendamment. Cette page couvre quoi sauvegarder, comment, et comment récupérer.
Que sauvegarder
Il y a trois choses indépendantes à protéger :
| Quoi | Où | Pourquoi |
|---|---|---|
| Base de données | PostgreSQL | La source de vérité — agents, conversations, mémoire, paramètres, secrets chiffrés |
| Gouttes | AIHUMMER_BLOB_DIR |
Médias et pièces jointes référencés par la base de données |
| Clé passe-partout | AIHUMMER_MASTER_KEY |
Déchiffre le coffre-fort ; jamais stocké dans la base de données |
[!DANGER] Sauvegarder
AIHUMMER_MASTER_KEYséparément et le stocker ailleurs que la sauvegarde de la base de données. Le coffre est chiffré par enveloppe sous cette clé — perdre le la clé principale et les secrets chiffrés sont irrécupérables, même avec un parfait sauvegarde de base de données.
PostgreSQL est la source de vérité
Traitez la base de données comme faisant autorité. La référence recommandée est une quotidien pg_dump plus Archivage WAL pour la récupération à un point dans le temps (PITR) ainsi vous pouvez avancer jusqu’à n’importe quel moment entre les sauvegardes.
# Daily logical dump
pg_dump "$AIHUMMER_DATABASE_URL" --format=custom --file=aihummer-$(date +%F).dump
Associez les dumps à l’archivage WAL continu (PITR) pour une récupération granulaire entre les snapshots.
La mémoire d’Einstein vit aussi dans la base de données : le Markdown canonique lisible par l’homme (MEMORY.md) et le magasin de vecteurs v2 sont projections dérivé de celui-ci, et non de sources autoritaires séparées.
Sauvegarde des blobs
Les médias et les pièces jointes se trouvent sous AIHUMMER_BLOB_DIR. Sauvegardez ce répertoire en même temps que la base de données afin que les conversations restaurées puissent toujours retrouver leurs pièces jointes. Si AIHUMMER_BLOB_DIR n’est pas configuré, le service média/fichier n’est pas actif et il n’y a rien de supplémentaire à copier.
Les commandes de sauvegarde et de restauration aihummer
L’interface en ligne de commande regroupe la routine en deux commandes :
aihummer backup [dir] # write a backup into [dir]
aihummer restore <file> # restore from a backup file
Utilisez-les pour des sauvegardes et des restaurations opérationnelles ordinaires. Voir le Référence CLI pour les commandes associées.
[!WARNING] La restauration d’une base de données seule n’est pas une récupération complète. Restaurez également le répertoire des blobs. et assurez-vous que le même
AIHUMMER_MASTER_KEYest présent sur l’hôte cible — sinon le coffre-fort ne peut pas être décrypté.
Récupération après sinistre
Pour un scénario de perte complète d’hôte, suivez le manuel de reprise après sinistre (docs/runbooks/disaster-recovery.md). L’ordre de recouvrement est :
- Fournir un hôte et installer la même version d’AiHummer.
- Restaurer le clé maîtresse dans
AIHUMMER_MASTER_KEY. - Restaurer le base de données (dernier vidage, puis avancer via WAL/PITR si utilisé).
- Restaurer le répertoire de blobs à
AIHUMMER_BLOB_DIR. - Restaurer configuration du module et artefacts (les paramètres résident dans la base de données; restaurer tous les fichiers de configuration spécifiques aux modules à partir de votre sauvegarde).
- Restaurer le Fichiers de mémoire d’Einstein —
MEMORY.mdet le Markdown canonique (la projection de mémoire) — dans leur répertoire (ou laissez-les être reconstruits à partir de base de données). - Si le sidecar de l’embedder est utilisé, restaurer le magasin de vecteurs v2 (ou reconstruire les index de la base de données restaurée/Markdown).
- Lancer les services (
aihummer up) et vérifier avec/readyzetdeploy/host/smoke.sh.
[!TIP] Gardez aussi
AIHUMMER_MEDIA_TOKEN_SECRETavec votre clé principale. Il reste signé URL de téléchargement de médias valides lors des redémarrages et des reconstructions.
Où aller ensuite
- Sondes et test de fumée utilisés pour vérifier une restauration : systemd et contrôles de santé.
- Gestion des versions et migrations lors d’une mise à jour : Politique de mise à niveau.