Tags immuables · Discipline Compose · Smoke avant trafic · Rollback prêt Gateway
Exploitants solo et petites équipes sur un VPS voient souvent des mises à niveau surprises parce que :latest a tiré une nouvelle Gateway la nuit. Cet article explique pourquoi les tags flottants cassent la reproductibilité, comment épingler semver ou digest dans Compose et Kubernetes, quoi sauvegarder avant de changer d'image, comment lancer un smoke bi-instance dans une fenêtre calme, et une forme de rollback en shell qui revient au tag précédent et revérifie santé et canaux. Lecture croisée avec les mises à niveau durables, installation VPS Docker, Exit 137 et fenêtre WASM, triage Gateway doctor.
:latest fragilise OpenClaw en productionLes tags flottants masquent trois dérives : la surface binaire du Gateway attendue par vos Skills, le schéma plugin ou canal des callbacks, et les bibliothèques de base du conteneur autour de Node. Tirer « le plus récent » transforme les incidents en devinettes : deux hôtes récupèrent rarement les mêmes couches au même moment. Les post-mortems en souffrent et la confiance des collègues branchés IM ou webhooks se fissure.
| Couche | Ce qui bouge sous :latest | Premier symptôme |
|---|---|---|
| API Gateway | Flags CLI, schéma de config, routes Control UI | Échec de validation des Skills après redémarrage imprévu |
| Canaux | Timing du handshake webhook, intents Discord par défaut | Pertes silencieuses jusqu'à ce que quelqu'un voie la file |
| Pile runtime | Niveau de patch Node, compatibilité libc | Premier démarrage WASM ou deps natives qui tire CPU ou OOM |
OpenClaw en production, ce sont des images que vous pouvez nommer deux fois : une fois dans Git et une fois sur l'hôte—digest optionnel mais choisi en connaissance de cause.
Note : les bascules cluster sans interruption relèvent de PRA et mises à niveau sans interruption ; cette page vise une ou deux piles Compose sur un VPS.
Choisissez une référence immuable par environnement : soit un tag de release que vous avez testé (v2026.4.2), soit un digest si vous avez besoin d'identité d'octets entre régions. Conservez cette chaîne à côté du fichier compose et reflétez-la dans vos tickets d'incident.
services:
openclaw:
image: ghcr.io/openclaw/openclaw:v2026.4.2
pull_policy: missing
pull_policy: missing ou épingler un digest lorsque l'automatisation ne doit pas modifier les conteneurs en cours d'exécution.Attention : modifier uniquement openclaw.json pendant que l'image avance silencieusement reste une montée de version non maîtrisée—épinglez révision de config et référence d'image dans le même ticket de changement.
Avant tout docker compose pull, figez le périmètre pour que le rollback sache ce que « bien » signifiait.
Volume de configuration : instantané de ~/.openclaw ou du chemin monté ; checksum de liste de fichiers si votre outil de sauvegarde le permet.
Workspace : noter les répertoires Skills et les secrets hors volume que compose mappe via env_file.
Canaux : exporter les URL webhook et vérifier que les fenêtres d'atteignabilité correspondent aux messages de maintenance.
Liste smoke : deux Skills et une paire envoi-réception canal qui doivent passer avant le trafic production.
Ressources : marge mémoire pour les pics de compilation au premier démarrage, voir l'article Exit 137.
Exécutez l'image candidate comme second nom de projet ou fichier compose alternatif sur des ports hors production. Ne basculez le trafic qu'après smoke réussi.
| Signal | Où regarder | Critère de réussite |
|---|---|---|
| Santé Gateway | curl endpoint santé loopback | HTTP 200 stable sur plusieurs sondes |
| État des canaux | Journaux Gateway ou statut CLI | Pas de tempête de reconnexion ; callbacks acquittés |
| Audit Skills | Sortie du runner Skills | Pas de nouvelles règles de refus vs attentes préproduction |
| Control UI | Navigateur vers origine épinglée | Pas d'écart non-loopback après règles proxy |
Gardez la fenêtre de promotion courte ; les chevauchements longs amplifient la dérive entre bases ou files touchées par votre Gateway.
Traitez le rollback comme un script répété, pas une improvisation. Remplacez la référence d'image par votre dernier tag sain, tirez explicitement, recréez les conteneurs, puis prouvez la santé avant d'annoncer la reprise.
export OPENCLAW_IMAGE_TAG="v2026.4.1" docker compose pull openclaw docker compose up -d --force-recreate openclaw curl -sf http://127.0.0.1:18789/health
Lorsque votre pile VPS côtoie des charges dépendantes de macOS, séparez disponibilité Gateway et pools de compilation pour garder le débat rollback cadré. Pour une capacité Mac distante dédiée avec des frontières plus claires que le matériel domestique, voir tarifs location Mac Mini et commander en parallèle de cette discipline Gateway.
Le guide mises à niveau durables couvre canaux, cadence des mises à jour et sauvegardes multi-environnements. Cet article se restreint au pinning d'images Docker, au smoke de préproduction et aux commandes de rollback côté VPS.
Pour la plupart des équipes, des tags semver testés ; passez aux digest lorsque régulateurs ou parité multi-régions exigent des octets identiques. Dans tous les cas, documentez la référence à côté du compose dans Git.
Premier démarrage et dimensionnement dans installation OpenClaw v2026.4 VPS Docker ; pics mémoire lors des montées de version en chevauchement avec Exit 137 et fenêtre WASM.