NOUVEAU 📢 Offre de lancement limitée : jusqu'à 70 % de remise sur votre premier mois, pour tous les jeux !Voir les offres

Comment lancer OpenClaw avec Docker

OpenClawUpdated Nov 6, 20269 min read

En bref. Clonez le dépôt OpenClaw et lancez ./scripts/docker/setup.sh avec OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest" défini : le script utilise alors l’image officielle précompilée au lieu d’en construire une (une construction depuis les sources demande au moins 6 GB de RAM). Le script lance l’onboarding, écrit un token de Gateway dans .env et démarre le Gateway avec Docker Compose. Montez le dossier d’état ~/.openclaw pour ne rien perdre quand le conteneur est remplacé, et gardez le port 18789 fermé à Internet : les ports publiés par Docker contournent UFW. Donnez au conteneur au moins 2 GB de mémoire ; limitée à 1 GB sans swap, l’image officielle a été tuée faute de mémoire dans notre test.

Vérifié le 6 novembre 2026, exact pour OpenClaw 2026.11.1.

Ce guide s’appuie sur la documentation Docker d’OpenClaw, le docker-compose.yml de son dépôt et un test de l’image officielle réalisé sur notre propre serveur (chiffres plus bas).

Avez-vous vraiment besoin de Docker ?

La doc d’OpenClaw qualifie Docker d’optionnel : utile pour un Gateway isolé et jetable, ou pour un hôte où vous ne voulez pas installer Node.js. Sur un VPS qui ne fait tourner qu’OpenClaw, l’installation npm simple avec un service systemd est la voie principale (voir comment héberger OpenClaw 24h/24 (24/7)). Docker convient bien quand vous faites déjà tourner d’autres choses dans des conteneurs.

Ce qu’est l’image officielle

  • Où : ghcr.io/openclaw/openclaw (principal) et le miroir Docker Hub openclaw/openclaw. OpenClaw déconseille les miroirs non officiels.
  • Tags : latest, des versions exactes comme 2026.11.1, des variantes -slim et des variantes -browser qui incluent Chromium pour l’automatisation de navigateur.
  • À l’intérieur : elle tourne avec l’utilisateur node sous tini, et son point d’entrée lance openclaw doctor --fix sur votre état monté avant le démarrage du Gateway : les mises à niveau d’image migrent donc l’état pour vous. Un contrôle de santé intégré appelle /healthz.

Ce que nous avons mesuré

Nous avons téléchargé ghcr.io/openclaw/openclaw:2026.11.1 sur l’un de nos serveurs Linux et démarré le Gateway deux fois avec docker run (pas Compose), sans modèle, sans appli de chat, sans port publié, limité à 1 CPU et sans swap : une fois avec une limite mémoire de 2 GB, une fois avec 1 GB. Les chiffres de mémoire sont en MiB, tels que Linux les rapporte.

Résultat
TéléchargementEnviron 695 MB compressés (amd64), 2 818 MiB (environ 3 GB) sur disque une fois téléchargée
Node.js dans l’image24.22.1
Limite de 2 GB : démarrage/healthz a répondu 48 secondes après docker run, passage de doctor compris. Le Gateway a chargé 14 plugins et affiché « ready » 22 secondes après son propre démarrage
Limite de 2 GB : mémoire au repos1 349 MiB 30 secondes après sa réponse au contrôle de santé, 1 106 MiB deux minutes plus tard, maximum 1 439 MiB. Aucun événement de manque de mémoire
Limite de 1 GBLe Gateway a atteint « ready », puis tout le conteneur a été tué faute de mémoire environ 54 secondes après le démarrage (code de sortie 137)

La FAQ d’OpenClaw donne 1 GB comme minimum absolu pour un VPS. Avec cette version dans un conteneur limité à 1 GB, ce n’était pas assez. Prévoyez 2 GB ou plus, et davantage encore pour de vraies conversations, plusieurs applis de chat ou une image -browser. Plus de détails dans de combien de mémoire OpenClaw a besoin.

Pas à pas avec Docker Compose

  1. Installez Docker Engine et Docker Compose v2, puis récupérez le dépôt :
    git clone https://github.com/openclaw/openclaw.git
    cd openclaw
  2. Lancez le script d’installation avec l’image précompilée :
    export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
    ./scripts/docker/setup.sh
    Sans OPENCLAW_IMAGE, le script construit openclaw:local depuis les sources, ce qui demande au moins 6 GB de RAM ; une construction qui se termine par Killed ou par le code de sortie 137 a manqué de mémoire. Le script demande votre clé API de fournisseur, génère le token du Gateway et l’écrit dans .env, puis démarre le Gateway.
  3. Ouvrez le tableau de bord à l’adresse http://127.0.0.1:18789/ sur la même machine et collez le token de .env dans Settings. Besoin du lien à nouveau : docker compose run --rm openclaw-cli dashboard --no-open.
  4. Ajoutez une appli de chat :
    docker compose run --rm openclaw-cli channels add --channel telegram --token "<token>"
    docker compose run --rm openclaw-cli channels add --channel discord --token "<token>"
    Les nouveaux DM démarrent en mode pairing : écrivez à votre bot, puis lancez docker compose run --rm openclaw-cli pairing approve telegram <CODE>. Plus de détails dans connecter OpenClaw à Telegram.
  5. Vérifiez :
    docker compose ps
    docker compose logs --tail=100 openclaw-gateway
    curl -fsS http://127.0.0.1:18789/healthz

Pour un hôte sans invite de terminal, OpenClaw documente un amorçage sans interface : mettez la clé du fournisseur, OPENCLAW_GATEWAY_TOKEN et TELEGRAM_BOT_TOKEN dans .env, puis lancez onboard --non-interactive et channels add --channel telegram --use-env via le conteneur du Gateway avant docker compose up -d openclaw-gateway.

Persistance : quoi monter et sauvegarder

Dans le conteneurCe qu’il contientCôté hôte (valeur par défaut du script)
/home/node/.openclawopenclaw.json, les bases SQLite (authentification des fournisseurs, sessions), les plugins installés, les secrets de .env$HOME/.openclaw
/home/node/.openclaw/workspaceL’espace de travail et les fichiers de mémoire de l’agent$HOME/.openclaw/workspace
/home/node/.config/openclawLa clé des anciens identifiants chiffrés$HOME/.openclaw-auth-profile-secrets
  • Montez le dossier, jamais le fichier seul. OpenClaw enregistre openclaw.json en le remplaçant : un bind mount d’un seul fichier peut laisser le conteneur lire une ancienne copie.
  • Gardez l’état sur un disque local. Les partages NFS, SMB et CIFS n’offrent pas à SQLite la coordination de mémoire partagée dont il a besoin et peuvent le corrompre.
  • Un Gateway par dossier d’état. Arrêtez l’ancien conteneur avant de démarrer son remplaçant.
  • Traitez les sauvegardes comme des secrets. La doc d’OpenClaw indique que les tokens OAuth se trouvent en clair dans ces fichiers SQLite.
  • Tout ce que vous installez dans un conteneur en marche est perdu quand il est recréé. Les outils supplémentaires vont dans l’image, à la construction.

Garder le port privé

Le docker-compose.yml du dépôt publie 18789 (ainsi que 18790 et 3978) sur l’hôte et démarre le Gateway avec --bind lan, de sorte que le port publié l’atteint. Sur un VPS, cela signifie que le port du tableau de bord est sur l’adresse publique tant que vous ne le bloquez pas. Deux pièges :

  • UFW ne le couvre pas. Les ports de conteneur publiés passent par les propres chaînes de redirection de Docker, pas seulement par les règles INPUT de l’hôte. La doc d’OpenClaw donne des règles pour la chaîne DOCKER-USER ; un pare-feu cloud qui n’admet que SSH fonctionne aussi.
  • Utilisez un tunnel pour accéder au tableau de bord : ssh -N -L 18789:127.0.0.1:18789 root@<vps-ip>, puis ouvrez http://127.0.0.1:18789/ sur votre propre ordinateur.

Compose définit aussi restart: unless-stopped, de sorte que le Gateway revient après un plantage ou un redémarrage, et retire les capacités NET_RAW et NET_ADMIN.

Mise à jour

docker compose pull openclaw-gateway openclaw-cli
docker compose stop openclaw-gateway
docker compose up -d openclaw-gateway

Le point d’entrée de l’image répare et migre l’état monté au démarrage. Sauvegardez d’abord ~/.openclaw. Avec latest, vous suivez chaque version stable ; épinglez un tag comme 2026.11.1 pour rester sur place.

Sans Docker : faire tourner OpenClaw sur PlayNHost

Un serveur PlayNHost est déjà un conteneur isolé avec sa propre limite de mémoire : il n’y a donc rien à composer. Nous n’utilisons pas l’image officielle : le serveur exécute Node.js 26 et installe le paquet npm openclaw au premier démarrage, puis cherche une version plus récente à chaque démarrage.

  • Installation : collez une clé de fournisseur d’IA et un token de bot Telegram ou Discord sur la page Agent, puis appuyez sur Démarrer. Dans notre test de la même installation, l’agent tournait 67 secondes après le premier démarrage, installation comprise.
  • Persistance : .openclaw se trouve sur le disque du serveur et dans ses sauvegardes (environ 4 MB dans notre test) ; le programme et ses caches sont réinstallés, pas sauvegardés.
  • Port : le Gateway n’écoute que sur l’adresse loopback du serveur lui-même, port 18789, avec un token que le panel génère. Rien n’est publié : il n’y a donc pas de pare-feu à mal régler.
  • Mémoire : des offres de 2 GB, 4 GB et 8 GB. Le démarrage refuse de lancer OpenClaw en dessous de 2 GB.
  • Pas encore inclus : le tableau de bord web, les applis de chat autres que Telegram et Discord, et l’automatisation de navigateur (pas de Chromium).

Créez un serveur OpenClaw.

PlayNHost n’est pas affilié à l’OpenClaw Foundation. OpenClaw est un logiciel open source sous licence MIT.

Votre serveur est hébergé ailleurs ? Transférez-le chez nous

NOS DERNIERS ARTICLES