Si vous exécutez OpenClaw avec Docker uniquement sur un VPS Linux sans interface graphique—sans bureau, sans navigateur—et rencontrez un assistant ou onboard bloqué en pending, des journaux qui demandent d’ouvrir un navigateur local, ou un dashboard qui échoue sans DISPLAY, cet article fournit une échelle d’acceptation headless prête pour ticket : figer une piste compose et une source TOKEN unique, puis remplacer « j’ai vu la Control UI » par dashboard --no-open, gateway status/probe et des journaux structurés. Il complète le guide d’installation trois OS, la triage Windows Docker, le Linux systemd+Tunnel sans Docker et l’appairage Compose 1006/1008 ; les ancres production s’associent au Gateway dédié via transfert SSH local.
pending.json et les variables d’environnement—pending aléatoire ou dérive TOKEN (même racine que l’article d’appairage Compose).La valeur headless est une surface d’attaque réduite et une automatisation plus forte ; si l’acceptation dépend encore d’un clic navigateur, vous n’avez que déplacé le chaos bureau dans SSH. En lisant le runbook Docker production, gardez tag d’image, hash compose et injection TOKEN sur le même ticket.
Si l’équipe maintient à la fois bare metal systemd et Docker, documentez la vérité par défaut : quel chemin est l’intégration CI image et quel chemin est la prod—les hôtes mélangés sont la classe la plus dure à déboguer.
| Dimension | Docker headless (cet article) | Linux systemd + Tunnel (sans conteneurs) |
|---|---|---|
| Repro & upgrades | Tags d’image et compose versionnent vite, rollback rapide | Dépend des paquets distro et unit files ; personnalisation profonde, histoire image plus faible |
| Acceptation headless | S’accorde naturellement avec --no-open et pilotes de journaux conteneur |
journald et sondes curl ; chemins différents de Docker |
| Espaces de noms réseau | 1006/1008 souvent liés aux combinaisons bridge / publish | Pile hôte ; les problèmes tombent souvent sur Tunnel et bind |
| Avec Mac distant dédié | Le Gateway peut migrer vers un hôte dédié ; le portable reste CLI-only | Même conclusion ; habitudes ops différentes |
| Mauvaise pratique courante | Forks compose CI/prod sans labels | Faire cohabiter mentalement Tunnel-gateway et Docker-gateway sur une même boîte |
Note : Les conseils communautaires pour mettre silent à true dans pending.json afin de sauter les assistants bloquants doivent être recoupés avec la documentation OpenClaw actuelle avant de les figer dans les pipelines ; relancez une régression après upgrades pour éviter qu’un mode silent ne devienne un gel silencieux.
docker info, espace libre sur la racine données Docker, ulimit -n ; les tout petits VPS ajoutent swap ou plafonnent la concurrence avant les fonctionnalités.openclaw gateway status → openclaw gateway probe (si disponible) → openclaw dashboard --no-open ; interdisez « je l’ai vu dans un navigateur » comme unique signal de succès.# Exemple : contrôles CLI uniquement (adapter les noms de services compose) docker compose ps docker compose logs -f --tail=200 openclaw-gateway openclaw gateway status || true openclaw dashboard --no-open || true openclaw doctor --yes || true
compose up -d à première gateway probe réussie ; si la hausse hebdomadaire dépasse 40 % sans changement de tags image, vérifiez disque et fds avant d’accuser les modèles.DISPLAY retourne vers produit ou profil compose dev-only.Les bureaux légers élargissent la surface de patch et le coût d’audit de session ; le VNC public reste un motif à haut risque. Les retries onboard infinis cachent la dérive des champs dans la mémoire manuelle, pas dans l’automatisation.
Lorsque vous avez besoin d’un Gateway 7×24 auditable aligné sur CI pendant que Linux headless reste idéal pour essais en périphérie ou PoCs courts, placer le Gateway faisant autorité sur un Mac Apple Silicon distant dédié avec SSH forward ou politique tailnet documentée bat généralement les limites cgroup des petits VPS—MACCOME propose Mac mini (M4 / M4 Pro) dans six régions avec baux flexibles ; dimensionnez avec le guide public nœuds et baux avant engagement.
Livrez : version compose, digest image, politique silent/pending, exemples de sorties CLI, affirmation explicite « aucun navigateur requis ». Toute étape non rejouable sur un second hôte headless est une documentation incomplète.
Par rapport à la triage Windows Docker, rappelez-vous : même échelle, hôte et moteur différents ; ne mélangez pas chemins de journaux Docker Desktop et moteur Linux.
FAQ
L’onboard reste en pending sur un serveur sans interface graphique—ai-je besoin d’un bureau ?
En général non : utilisez les commutateurs headless et l’acceptation CLI ; vérifiez les champs pending.json avec la doc. Pour un Gateway de production sur nœuds dédiés, voir les tarifs de location Mac mini et commander un Mac mini cloud.
Linux Docker et systemd+Tunnel peuvent-ils partager une machine ?
Techniquement oui, mais sans environnements séparés la double vérité Gateway / TOKEN est fréquente. Documentez la valeur par défaut. Voir le runbook Tunnel et l’article d’appairage Compose.