Comment installer OpenClaw avec Docker en toute sécurité ?
Déployer OpenClaw avec Docker constitue une solution efficace pour exécuter cet agent IA dans un environnement isolé, stable et facile à maintenir. La conteneurisation permet de séparer clairement l’application du système hôte, de simplifier la gestion des dépendances et de faciliter les mises à jour. Dans cet article, nous vous expliquons étape par étape comment préparer votre serveur, installer OpenClaw avec Docker et Docker Compose, sécuriser la configuration et mettre en place une exploitation fiable en production.
Pourquoi installer OpenClaw avec Docker Compose ?
Avant de vous lancer, vous devez comprendre ce qu’est OpenClaw et pourquoi il est judicieux d’exploiter la solution avec Docker Compose:
- OpenClaw est un agent IA autonome, capable d’exécuter différentes tâches de manière indépendante. Il peut traiter des messages, analyser des fichiers et automatiser des conversations par chat.
- OpenClaw peut fonctionner sur votre propre serveur, est open source et propose plus de 50 intégrations (WhatsApp, Telegram, Slack, Discord, etc.).
- La méthode d’installation recommandée et la plus stable est via Docker Compose, car toutes les dépendances sont automatiquement gérées de manière isolée. Vous pourrez de plus les mettre à jour ou les étendre plus facilement par la suite.
OpenClaw utilise Docker comme environnement isolé. Via Docker Compose, plusieurs conteneurs sont ensuite démarrés simultanément, notamment Gateway, CLI, éventuellement Sandbox et des outils externes, qui constituent ensemble le système.
OpenClaw agit, dans de nombreux environnements, principalement comme service de passerelle et d’orchestration, qui relie des messageries, des outils et des services à un grand modèle de langage (LLM). Le degré d’autonomie avec lequel OpenClaw fonctionnera ensuite dépend fortement de votre configuration individuelle, comme les règles réseau. Pour des raisons de sécurité et de gestion des attentes, vous devez en particulier concevoir la gestion des droits selon le principe du moindre privilège et n’autoriser que les accès réellement nécessaires à vos automatisations.
Étape 1 : trouver le serveur adapté
OpenClaw n’est pas simplement un chatbot, mais un outil autonome qui fonctionne sur votre serveur et interagit avec des programmes, des messageries et des services. Par exemple, vous pouvez utiliser le logiciel pour gérer des calendriers, administrer des fichiers et envoyer des notifications. Il est également possible de déclencher des automatisations ou d’exécuter des workflows complets de développement via API ou webhooks.
Pour la plupart des cas d’usage, les configurations VPS sont particulièrement recommandées, car elles offrent une base à la fois économique et performante pour la combinaison OpenClaw / Docker. C’est encore plus pratique si l’hébergement VPS peut s’appuyer sur l’automatisation n8n, car la connexion de Docker et OpenClaw à d’autres outils en est d’autant facilitée. En règle générale, plus vos tâches sont exigeantes, plus vous devez prévoir de RAM et de CPU. Docker Compose et les modèles d’IA consomment de la mémoire pour les images, les journaux des conteneurs et la persistance des données. De manière générale, les ressources nécessaires dépendent aussi fortement de la charge de travail et du fait que vous utilisiez un LLM Cloud ou que vous exécutiez les modèles en local. Le tableau ci-dessous vous propose, à titre indicatif, quelques cas d’usage exemplaires et la puissance VPS recommandée.
| Cas d’usage | Fonctions principales | Ressources VPS recommandées |
|---|---|---|
| Assistant numérique du quotidien | Synthèses de rendez-vous, messages, calendrier | 4 vCores CPU, 4 Go de RAM, 120 Go d’espace disque |
| Automatisation de workflows et documentation | Créer des documents, traiter des données, upload de fichiers | 6 vCores CPU, 8 Go de RAM, 240 Go d’espace disque |
| Productivité développeur et automatisation à distance | Tests, builds, logs, tâches shell | 8 vCores CPU, 16 Go de RAM, 480 Go d’espace disque |
Étape 2 : installer le système d’exploitation et établir une connexion sécurisée
Avant de pouvoir installer des logiciels comme OpenClaw avec Docker Compose, vous avez besoin d’un système d’exploitation sur votre serveur. Pour la configuration d’OpenClaw avec Docker, une distribution Linux comme Ubuntu Server est particulièrement adaptée. Installez donc une version Ubuntu récente sur votre VPS, puis établissez une connexion sécurisée à votre serveur, par exemple via SSH (Secure Shell). Veillez à utiliser des accès SSH avec clés plutôt que des mots de passe, afin de protéger votre serveur contre les accès non autorisés.
Ce tutoriel présente un setup standard fonctionnel pour des environnements de test et de développement. N’utilisez pas la configuration par défaut telle quelle publiquement sur Internet. Pour les systèmes de production, vous devez mettre en œuvre des mesures de durcissement supplémentaires, comme la sécurisation TLS/HTTPS via un reverse proxy, une gestion centralisée des secrets, l’isolation réseau et des règles de pare-feu, ainsi que le monitoring, les alertes et des sauvegardes régulières des données et des configurations.
Étape 3 : installer Docker Compose
Dès que vous avez établi une connexion sécurisée au serveur et configuré le système d’exploitation souhaité, vous pouvez installer Docker Compose. Pour cela, vous devez d’abord mettre le système à jour :
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-releasebashEnsuite, ajoutez la clé GPG de Docker et configurez le dépôt :
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullbashMettez de nouveau à jour la liste des paquets, puis installez le moteur Docker, la CLI Docker (interface en ligne de commande) ainsi que le service « containerd » :
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.iobashLors de la dernière étape, installez Docker Compose. De nombreux nouveaux systèmes peuvent pour cela s’appuyer sur le système de plugins :
sudo apt install -y docker-compose-pluginbashVous pouvez aussi télécharger manuellement les fichiers d’installation :
mkdir -p ~/.docker/cli-plugins
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 \
-o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-composebashVous pouvez vérifier le succès de l’installation avec la commande suivante :
docker --version
docker compose versionbash
Étape 4 : cloner le dépôt OpenClaw
Récupérez maintenant le code source d’OpenClaw, qui contient également la configuration Docker requise :
sudo apt install git -y
git clone https://github.com/openclaw/openclaw.git
cd openclawbashVous voyez ensuite, entre autres, un fichier nommé « docker-setup.sh » (script de configuration) et le fichier « docker-compose.yml », qui décrit les conteneurs standard. Dans ce dernier fichier de configuration YAML, sont consignées les informations suivantes :
openclaw-gateway: le service principal qui lance OpenClaw avec Dockerenv_file: cette information indique au conteneur où se trouvent les variables d’environnementvolumes: cette entrée garantit que vos données sont stockées de manière persistante au lieu d’être perdues dans le conteneurports: le port 18789 doit être ouvert afin que vous puissiez y accéder plus tard dans le navigateur
Étape 5 : créer les variables d’environnement et saisir les clés API
Pour qu’OpenClaw sache quel fournisseur d’IA utiliser, comment communiquer avec des services externes et comment s’authentifier, vous devez définir quelques paramètres importants dans un fichier .env. Il s’agit d’un simple fichier texte dans lequel figurent des éléments sensibles comme les clés API et les tokens ; ils ne doivent jamais être rendus publics, surtout dans les dépôts. Protégez en plus le fichier .env avec des droits d’accès restrictifs à l’aide de la commande chmod 600 .env.
Comment créer le fichier .env ?
- Copiez le fichier d’exemple déjà présent dans le dépôt avec la commande suivante :
cp .env.example .env. - Ouvrez le nouveau fichier pour le modifier avec la commande suivante :
nano .env. - Vous voyez maintenant de nombreux espaces réservés possibles. Les lignes les plus importantes que vous devriez modifier dans ce fichier sont les suivantes (les valeurs sont données à titre d’exemple) :
LLM_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ihrapikey123xyz
GATEWAY_TOKEN=my_secure_gateway_token_abc
MODEL_VERSION=claude-4-5-sonnet-20260101txtLLM_PROVIDER définit quel fournisseur d’IA vous souhaitez utiliser. Anthropic est en quelque sorte le standard recommandé, mais vous pouvez bien entendu choisir n’importe quel autre fournisseur. Les clés API correspondantes sont nécessaires pour qu’OpenClaw aient accès aux LLM dans le Cloud. GATEWAY_TOKEN sécurise l’accès au tableau de bord et, avec MODEL_VERSION, vous indiquez enfin la version souhaitée du modèle d’IA, par exemple Claude 4.5. Les noms de fournisseurs et les versions de modèles changent fréquemment, c’est pourquoi les valeurs utilisées ici ne servent qu’à titre d’exemple. Référez-vous toujours à la documentation la plus récente de votre fournisseur.
Pour des environnements de production, les Docker secrets ou un gestionnaire de mots de passe sont souvent un meilleur choix que de stocker des clés en clair dans des fichiers texte.
Étape 6 : exécuter le script de configuration
Après avoir cloné le dépôt OpenClaw avec Docker, vous y trouverez, comme déjà mentionné, un fichier nommé « docker-setup.sh ». Ce fichier est un script de configuration qui automatise de nombreuses tâches que vous devriez autrement effectuer manuellement. Il fait partie de la documentation officielle du projet. Sans ce script, vous devriez vous‑même :
- Construire les images Docker
- Adapter les configurations Docker Compose
- Saisir les variables d’environnement (si vous ne l’avez pas fait manuellement comme décrit à l’étape 5)
- Démarrer les conteneurs
Le script de configuration vous évite ce travail et veille à ce que les conteneurs soient correctement installés et configurés. Pour vérifier au préalable ce que fait exactement le script, vous pouvez exécuter la commande less docker-setup.sh. Si vous pouvez suivre les modifications, lancez‑le avec la commande suivante dans le terminal :
./docker-setup.shbashPendant l’installation, il vous sera demandé de manière interactive de choisir des options de configuration (mode passerelle, fournisseur, tokens). Répondez aux questions selon vos préférences afin de finaliser la mise en place d’OpenClaw avec Docker.
Étape 7 : démarrer Docker Compose
Lorsque les fichiers Compose sont prêts, démarrez tous les services. Avec la commande suivante, vous téléchargez les images, lancez les conteneurs concernés et montez automatiquement les volumes nécessaires :
docker compose up -dbashPour vous assurer qu’aucune erreur ne survient et que tous les services ont bien démarré et fonctionnent correctement, activez simplement la fonction de journalisation afin de consulter les logs en temps réel :
docker compose logs -fbashLa fonction de journalisation est également importante plus tard, en phase d’exploitation de votre installation OpenClaw avec Docker. De cette manière, vous surveillez durablement les ressources (CPU/RAM/disque) et les taux d’erreur !
Étape 8 : accéder à l’interface Web
Dès que tout fonctionne, vous pouvez accéder à l’interface d’administration Web dans votre navigateur en appelant l’URL http://VOTRE_SERVEUR_IP:18789. Remplacez pour cela la partie VOTRE_SERVEUR_IP par l’adresse IP de votre serveur. Via le tableau de bord OpenClaw, vous pouvez désormais :
- Démarrer des conversations de chat
- Configurer vos agents
- Créer des tokens d’appairage pour les clients et appareils
Si des messages d’erreur tels que « Unauthorized » ou « Pairing required » apparaissent dans le navigateur, générez simplement un nouveau token de tableau de bord avec la commande suivante :
docker compose run --rm openclaw-cli dashboard --no-openbashEnsuite, validez le processus comme suit :
docker compose run --rm openclaw-cli devices list
docker compose run --rm openclaw-cli devices approve <requestID>bashLe conteneur ne démarre pas ? Inspectez les logs avec docker compose logs -f pour identifier le problème ou vérifiez le fichier .env afin de repérer des clés manquantes ou des fautes de frappe. Si le port n’est pas accessible, il est probable que vous deviez ajuster les paramètres du pare-feu ou des groupes de sécurité.
Étape 9 : sécuriser l’instance OpenClaw
OpenClaw peut intervenir en profondeur dans le système et exécuter des tâches. Cela signifie que, s’il fonctionne sans protection sur Internet, n’importe quelle personne pourrait, en principe, y accéder. Pour cette raison, respectez les règles de sécurité suivantes :
- Protégez votre serveur avec un pare-feu. Seules les connexions nécessaires doivent être autorisées.
- N’ouvrez le port OpenClaw (par défaut 18789) que si nécessaire. Si vous souhaitez autoriser un accès public, limitez-le de préférence à des adresses IP de confiance et imposez la connexion via un reverse proxy avec HTTPS ou un VPN.
- Sécurisez vos conteneurs de manière ciblée en les lançant si possible sans droits root, en utilisant des systèmes de fichiers en mode
read-onlyet en supprimant les autorisations inutiles. Évitez les montages de volumes hôtes superflus et limitez l’accès réseau aux seules cibles nécessaires, comme les API de messagerie et les fournisseurs de LLM. - Utilisez l’authentification basée sur des tokens. Le
GATEWAY_TOKENque vous avez défini dans le fichier .env sert à empêcher les accès non autorisés. - Si l’image le permet, veillez à ne pas exécuter OpenClaw en tant que root à l’intérieur du conteneur et à restreindre les autorisations à l’aide d’options (flags) comme
--read-only,--cap-drop=ALLet--security-opt=no-new-privileges, afin de réduire les potentielles surfaces d’attaque. - Créez un environnement réseau Docker isolé ou utilisez des règles permettant à OpenClaw d’atteindre uniquement les services externes réellement nécessaires (par ex. des API de fournisseurs d’IA), plutôt que de disposer d’un accès illimité à Internet.
- Veillez à appliquer les bons réglages dans la configuration de sécurité d’OpenClaw. Tous les mécanismes d’authentification doivent être activés et toutes les règles du gateway pour l’environnement de production correctement définies.
Sur des systèmes Linux comme Ubuntu, vous pouvez activer rapidement une bonne protection de base à l’aide de l’Uncomplicated Firewall (ufw). Remplacez ici<IP_AUTORISÉE> par l’adresse IP publique à partir de laquelle vous souhaitez accéder à l’interface.
sudo ufw allow 22/tcp
sudo ufw allow from <IP_AUTORISÉE> to any port 18789 proto tcp
sudo ufw enablebashEn ouvrant le port TCP 22, vous permettez un accès SSH sécurisé. Le port TCP 18789 est le port standard pour OpenClaw, sauf si vous avez défini un autre port. Si vous ne souhaitez pas ouvrir complètement ce port, vous pouvez aussi le limiter à certaines adresses IP.
Un exemple de configuration de connexion sécurisée est le suivant : vous utilisez un reverse proxy comme NGINX, Traefik ou Caddy. Vous installez en complément un certificat TLS tel que le certificat gratuit Let’s Encrypt. Vous redirigez ensuite en interne vers l’adresse localhost:18789. Lorsque c’est possible, il est également recommandé de configurer une limitation de débit pour restreindre le nombre de requêtes, ainsi que Basic-Auth/OIDC pour renforcer l’authentification.
Étape 10 : configurer les intégrations de messagerie
OpenClaw peut se connecter à différentes plateformes de chat tels que Slack, WhatsApp, Telegram et bien d’autres. Vous pouvez ainsi piloter votre agent IA directement depuis votre chat de travail. Par exemple, si vous connectez OpenClaw à Slack, votre agent IA agit comme un bot Slack. Vous pouvez alors lui poser des questions ou lui envoyer des tâches dans le chat d’équipe, et il répond ou exécute des actions.
L’intégration fonctionne globalement de la manière suivante (il peut y avoir de légères différences de configuration selon l’intégration) :
- Bot / application enregistrer : créez un bot ou une application dans le service concerné (par ex. Telegram, Slack, Discord). En général, cela se fait via le portail développeurs du service. À la fin, vous obtenez un ou plusieurs tokens/clefs d’API permettant d’authentifier votre bot.
- Tokens / clefs saisir dans OpenClaw : saisissez les identifiants d’accès à l’API (par ex.
TELEGRAM_BOT_TOKEN,SLACK_BOT_TOKEN) dans le fichier de configuration .env d’OpenClaw ou dans une interface de configuration appropriée. - Redémarrer ou configurer OpenClaw : redémarrez OpenClaw afin qu’il puisse prendre en compte les nouveaux réglages d’intégration.
- Appairage / authentification : selon le service, vous devez autoriser une fois le bot ou la connexion, par exemple via des codes d’appairage, des flux OAuth ou des liens de confirmation fournis par le service ou affichés par OpenClaw.
- Tester : envoyez un message de test via le bot ou le chat afin de vérifier qu’OpenClaw réagit correctement.
Traitez les tokens d’API de façon confidentielle, n’accordez que les autorisations nécessaires, testez la connexion immédiatement après la configuration et terminez entièrement la procédure d’autorisation (par ex. appairage/OAuth). En cas de problème, vérifiez les logs et utilisez de préférence un channel ou workspace privé pour les premiers tests.
Étape 11 : garder OpenClaw à jour
Pour pouvoir toujours utiliser les dernières fonctionnalités de l’outil et bénéficier des correctifs de bugs ainsi que des mises à jour de sécurité, il est important de mettre régulièrement OpenClaw à jour. Pour cela, commencez par ouvrir le répertoire :
cd ~/openclawbashEnsuite, récupérez la dernière version avec la commande suivante :
git pull
docker compose pullbashRedémarrez ensuite votre instance Docker OpenClaw :
docker compose up -dbashPlanifiez des sauvegardes des volumes persistants (configuration, tokens, données pertinentes) afin de disposer, en cas de besoin, de copies de sécurité pour restaurer vos projets.

