Platforms overview
Application Linux
Le Gateway est entièrement pris en charge sous Linux. Node est l’environnement d’exécution recommandé ; Bun n’est pas recommandé (problèmes connus avec WhatsApp/Telegram).
Il n’existe pas encore d’application compagnon Linux native. Les contributions sont les bienvenues.
Procédure rapide (VPS)
- Installez Node 24 (recommandé) ou Node 22.19+ (LTS, toujours pris en charge).
npm i -g openclaw@latestopenclaw onboard --install-daemon- Depuis votre ordinateur portable :
ssh -N -L 18789:127.0.0.1:18789 <user>@<host> - Ouvrez
http://127.0.0.1:18789/et authentifiez-vous avec le secret partagé configuré (jeton par défaut ; mot de passe sigateway.auth.modevaut"password").
Guide complet du serveur : Serveur Linux. Exemple de VPS détaillé : exe.dev.
Installation
- Bien démarrer
- Installation et mises à jour
- Facultatif : Bun (expérimental), Nix, Docker
Service Gateway (systemd)
Installez-le avec l’une des commandes suivantes :
openclaw onboard --install-daemonopenclaw gateway installopenclaw configure # sélectionner « Gateway service » lorsque vous y êtes invitéRéparez ou migrez une installation existante :
openclaw doctoropenclaw gateway install génère par défaut une unité systemd utilisateur. Les
instructions complètes relatives au service, notamment la variante d’unité au niveau
système pour les hôtes partagés ou toujours actifs, figurent dans le guide d’exploitation du Gateway.
Créez manuellement une unité uniquement pour une configuration personnalisée. Exemple minimal
d’unité utilisateur (~/.config/systemd/user/openclaw-gateway[-<profile>].service) :
[Unit]Description=OpenClaw Gateway (profile: <profile>, v<version>)After=network-online.targetWants=network-online.targetStartLimitBurst=5StartLimitIntervalSec=60 [Service]ExecStart=/usr/local/bin/openclaw gateway --port 18789Restart=alwaysRestartSec=5RestartPreventExitStatus=78TimeoutStopSec=30TimeoutStartSec=30SuccessExitStatus=0 143OOMPolicy=continueKillMode=control-group [Install]WantedBy=default.targetActivez-la :
systemctl --user enable --now openclaw-gateway[-<profile>].servicePression mémoire et arrêts provoqués par l’OOM
Sous Linux, le noyau choisit un processus victime de l’OOM lorsqu’un hôte, une machine virtuelle ou le cgroup d’un conteneur manque de mémoire. Le Gateway constitue un mauvais choix, car il gère des sessions et des connexions aux canaux de longue durée. OpenClaw favorise donc, lorsque cela est possible, l’arrêt en premier des processus enfants temporaires.
Pour les lancements de processus enfants Linux éligibles, OpenClaw enveloppe la commande dans un court
adaptateur /bin/sh qui augmente la valeur oom_score_adj propre au processus enfant à 1000, puis
exécute la véritable commande avec exec. Cette opération ne nécessite aucun privilège : un processus peut toujours augmenter
son propre score OOM.
Processus enfants concernés :
- Processus enfants de commandes gérés par le superviseur
- Processus enfants de shell PTY
- Processus enfants de serveurs MCP stdio
- Processus de navigateur/Chrome lancés par OpenClaw (via l’environnement d’exécution des processus du SDK de Plugin)
L’adaptateur est réservé à Linux et n’est pas utilisé lorsque /bin/sh est indisponible, ou lorsque
l’environnement du processus enfant définit OPENCLAW_CHILD_OOM_SCORE_ADJ sur 0, false, no ou
off.
Vérifiez un processus enfant :
cat /proc/<child-pid>/oom_score_adjLa valeur attendue pour les processus enfants concernés est 1000 ; le processus Gateway lui-même
conserve son score normal (généralement 0).
La valeur OOMPolicy=continue de l’unité systemd maintient le service Gateway actif lorsqu’un
processus enfant temporaire est sélectionné par le mécanisme d’arrêt OOM, au lieu de marquer toute
l’unité comme défaillante et de redémarrer tous les canaux ; le processus enfant ou la session défaillante signale
sa propre erreur.
Cela ne remplace pas un réglage approprié de la mémoire. Si un VPS ou un conteneur
arrête régulièrement des processus enfants, augmentez la limite de mémoire, réduisez la concurrence ou ajoutez des
contrôles de ressources plus stricts (MemoryMax= de systemd, limites de mémoire du conteneur).