Exécuter OpenClaw dans Docker
Exécutez le gateway et la CLI en tant que services Docker Compose, en les compilant depuis les sources ou en récupérant l’image préconstruite ghcr.io/openclaw/openclaw.
Vous avez besoin de Git et de Docker avec Compose. La création de l’image en local nécessite au moins 6 GB de RAM ; utilisez donc l’image préconstruite sur un hôte moins puissant.
Cloner le dépôt et lancer la configuration
Le script de configuration du dépôt prépare les services Compose. Pour ignorer la compilation locale, exportez OPENCLAW_IMAGE=ghcr.io/openclaw/openclaw:latest avant de lancer le script. Une image miroir est également publiée sur Docker Hub sous le nom openclaw/openclaw.
shell git clone https://github.com/openclaw/openclaw.git cd openclaw ./scripts/docker/setup.shOuvrir le tableau de bord
Cette commande lance le conteneur CLI une seule fois pour la commande du tableau de bord ; --no-open l’empêche d’essayer d’ouvrir un navigateur dans le conteneur. Les autres commandes CLI fonctionnent de la même manière, par exemple docker compose run --rm openclaw-cli channels add --channel telegram --token "<token>".
shell docker compose run --rm openclaw-cli dashboard --no-openConserver les données et dimensionner l’hôte
Stockez l’état d’OpenClaw — c’est-à-dire openclaw.json et l’espace de travail de l’agent — dans un volume nommé ou un bind mount afin qu’il survive aux reconstructions et aux mises à jour du conteneur. Prévoyez au moins 6 GB de RAM si vous créez vous-même l’image ; avec l’image préconstruite et des modèles cloud, le gateway fonctionne avec 1 GB. Dans un conteneur, gateway.bind auto est résolu en 0.0.0.0 : gardez donc l’authentification par token activée.
Mettre à jour les conteneurs
Récupérez les nouvelles images du gateway et du service CLI, puis recréez uniquement le gateway. Votre configuration et votre espace de travail restent sur le volume.
shell docker compose pull openclaw-gateway openclaw-cli docker compose up -d openclaw-gateway
Comme le gateway écoute sur 0.0.0.0 dans le conteneur, un mappage de port tel que 18789:18789 le publie sur toutes les interfaces de l’hôte. Utilisez plutôt 127.0.0.1:18789:18789.