2026 OpenClaw : upgrade et migration d’exécution
Sauvegardes de config, bascule Gateway et rollback pas à pas (Docker / local)

Lecture ~18 min · MACCOME

Les équipes qui font tourner OpenClaw en production redoutent surtout trois choses en 2026 : latest qui dérive, monter de version sans sauvegarde complète de l’état, arrêter le Gateway dans le mauvais ordre et voir jetons et volumes diverger. Ce n’est pas un guide d’installation neuve. Il complète les articles installation multi-plateforme, production Docker, triage post-installation et Linux systemd + Tunnel avec une grille de douleurs, une matrice local vs conteneur, une table symptôme–rollback, des extraits de sauvegarde, un runbook d’upgrade en six étapes et trois phrases pour la garde. Pour les secrets et l’exposition, enchaînez avec le runbook Gateway avancé.

Périmètre : comment s’insérer dans la série OpenClaw

Le guide d’installation répond à « comment installer » ; la production Docker à « rester en ligne et corriger les erreurs conteneurs courantes » ; le post-install à « ça ne démarre pas—triage par symptôme » ; Linux+Tunnel à « systemd sans exposition publique du Gateway ». Cet article ne couvre que les upgrades, migrations de machine, changement de forme de déploiement et rollback, une fois le système déjà en service—rédigé pour qu’un ticket de change soit signable. Six douleurs fréquentes en astreinte réelle à coller dans la description du change.

  1. Dérive d’image ou de paquet : la prod suit latest ou une balise flottante ; le digest précédent n’est pas reproductible.
  2. Sauvegarde du dépôt sans état : ~/.openclaw (ou le chemin documenté) avec clés, workspace et config gateway n’est pas snapshoté avec les volumes.
  3. Mauvais ordre d’arrêt : tuer le conteneur avant d’exporter les volumes, ou changer le DNS avant l’ancien Gateway—écriture double et état de pairing cassé.
  4. Chemins locaux et conteneur mélangés : npm et Compose sur un même hôte se disputent ports ou répertoire ; après « migration » le processus lit encore l’ancien chemin.
  5. Upgrade à froid sans validation : seul le processus vit ; pas d’appel modèle minimal ni login Control UI.
  6. Rollback = simple rétrogradation : la nouvelle version a modifié schéma ou fichiers workspace ; l’ancien binaire sans plan de restauration de volume.

Tableau 1 : local (npm/scripts) vs Docker Compose—dimensions d’upgrade

Pour figer en revue « quel chemin pour cette release » ; noms de champs selon votre fork ou notes de version.

DimensionChemin localChemin Docker Compose
Ancre de versionFixer npm/pnpm et lockfile ; noter le mineur NodeFixer tag image ou digest ; interdire le latest silencieux
Emplacement de l’état~/.openclaw et chemins workspace locauxBind mount ou volume nommé mappé sur l’hôte
Clés et jetonsVariables d’environnement, trousseau ou .env (jamais en git).env, secrets Docker ou variables d’orchestration ; exporter avant upgrade
SantéCLI / sondes de ports locauxcompose ps, commande health dans le conteneur, ports hôte
Levier de rollbackRéinstaller la version de paquet ciblée + restaurer le tar du répertoireRevenir au digest précédent + restaurer snapshot de volume

Tableau 2 : symptôme → action prioritaire (indices rollback et bind)

Complète le triage post-install ; ici l’ordre de décision dans la fenêtre d’upgrade prime. Pour Control UI et exposition publique, alignez-vous sur le runbook avancé.

SymptômeSuspect en premierFaire d’abordSi échec persistant
Boucle de redémarrage GatewayAdresse de liaison et liste blanche UI non alignéesPasser en loopback ou compléter les réglages type allowedOrigins, puis réessayerRevenir au digest image précédent et restaurer le snapshot de volume
Pairing / auth appareil bizarreDeux instances ou jetons tournés sans mise à jour clientArrêter complètement l’ancienne instance ; lister les appareils en CLI et suivre le flux officielRestaurer les fichiers jeton depuis la sauvegarde et rétrograder brièvement la version
Timeout connectivité modèleEgress, proxy ou changement de clécurl depuis conteneur et hôte ; test minimal de rotation de cléVérifier statut fournisseur et politique pare-feu
Disque plein puis upgrade en échecWorkspace et logs sans rotationSnapshot avant nettoyage agressif ; espace libre selon recommandation éditeur avant upgradeAgrandir le disque ou déplacer le workspace sur un volume dédié
bash
# Exemple : archiver l'état avant upgrade (chemin selon votre env ; ne pas committer les archives)
tar czf openclaw-state-$(date +%Y%m%d).tgz -C "$HOME" .openclaw

# Compose : fixer digest ou mineur dans .env ou compose, puis pull & up
# docker compose pull && docker compose up -d
warning

Attention : restreindre les sauvegardes contenant des secrets aux rôles ops ; après restauration, faire tourner tout jeton potentiellement exposé ; cadence d’audit Secrets alignée sur le runbook avancé.

Runbook d’upgrade en six étapes (à coller dans l’outil de change)

  1. Notes de version : ruptures, scripts de migration DB/workspace, Node/noyau minimum.
  2. Geler les ancres : noter digest image ou version de paquet ; ne pas toucher à latest en plein fenêtre.
  3. Sauvegarde à froid : tar d’état, volumes ou chemins bind compose, copie sûre de .env (copie masquée pour audit).
  4. Bascule dans la fenêtre : couper l’ingress (reverse proxy / Tunnel) avant l’ancien Gateway ; health-checker la nouvelle instance avant de rétablir l’ingress.
  5. Valider : état CLI, logs Gateway propres, login Control UI, une conversation modèle minimale.
  6. Tracer ou revenir : en cas de succès mettre à jour runbooks (version, digest) ; en cas d’échec suivre la branche tableau 2 et ouvrir un incident.

Trois phrases « dures » pour la garde

  1. Ancre reproductible : la production doit pouvoir dire « quel digest / quelle version de paquet tourne »—sinon l’upgrade n’est pas terminée.
  2. Preuve de sauvegarde : exercices de restauration tar ou snapshot de volumes au moins trimestriellement ; sans restore testé, pas de sauvegarde.
  3. Budget temps : la fenêtre doit couvrir « validation en échec + restauration complète », pas seulement le happy path.

Si portables et serveurs hébergent chacun un Gateway, étiqueter les instances en monitoring—sinon l’alerte ne dit que « down » et le basculement DNS devient une supposition. C’est la prolongation du contrat jetons/exposition de l’article production Docker.

Limites d’un laptop perso ou d’un VPS éphémère comme Gateway long terme

Veille, mises à jour OS et disque imprévisible rendent la fenêtre d’upgrade aléatoire. Un VPS court sans snapshots alignés au terme manque souvent de disque pour revenir en arrière. Traiter le Gateway comme composant de prod exige une disponibilité prévisible, des disques récupérables et un choix de région, avec le runbook relié au monitoring.

Les hôtes fragmentés gênent gouvernance des secrets et traçabilité : qui a changé quel jeton en dernier, quelle machine tourne avec le digest X. MACCOME propose des nœuds bare-metal Mac Mini M4 / M4 Pro multi-régions avec conditions de location flexibles—couche d’exécution stable ou hôte Gateway dédié pour OpenClaw. Croiser avec le guide multi-régions et durées et le guide SSH vs VNC, puis aligner les offres sur les tarifs et le centre d’aide pour facturation et accès.

En pilote, louer court dans la région cible pour répéter sauvegarde–upgrade–rollback avant d’engager un contrat long.

FAQ

Quelles sont les trois choses à ne pas sauter avant une montée de version ?

Fixer les ancres image ou paquet, sauvegarder intégralement le répertoire d’état et les volumes, consigner responsable de rollback et cas de validation dans la fenêtre. Conditions commerciales : tarifs de location et centre d’aide.

Après upgrade du Gateway, l’UI de contrôle déraille—que vérifier en premier ?

Liaison et health ; sous Docker loopback et réglages type liste blanche UI ; en local ports et jetons. Le détail symptôme par symptôme reste dans l’article post-installation.

Comment cela s’articule avec l’article production Docker ?

Production : résidence et pannes conteneurs fréquentes ; cet article : ordre des sauvegardes, ancres et rollback autour des upgrades. Conserver les deux à côté de l’article production Docker dans le même sommaire.