OpenClaw est passé de 9K à 210K étoiles sur GitHub en six semaines, ce qui signifie que la documentation n’a pas encore rattrapé les besoins de la production. La mise en évidence fonctionne. La configuration que vous souhaitez vraiment pour une utilisation quotidienne nécessite un travail plus précis, notamment autour des gateways de messagerie et de l’isolation du sandbox des outils.
Voici l’installation en production que je réalise sur un Hetzner CCX23, avec les aspects que la documentation officielle ne vous avertit pas.
Liste de vérification avant l’installation
Vous avez besoin de :
- VPS avec Ubuntu 24.04 ou Debian 12
- Minimum 16 Go de RAM pour la production (8 Go uniquement pour la démo ou un usage solo)
- Disque NVMe de 160 Go
- Un nom de domaine pointant vers votre VPS pour HTTPS
- Clés API pour votre fournisseur de modèles (OpenAI, Anthropic, ou Ollama local)
- Tokens API pour vos gateways de messagerie
La taille du VPS est plus critique ici que pour beaucoup d’outils, car le registre d’outils MCP et les démons gateway d’OpenClaw s’additionnent. Le guide du meilleur VPS pour OpenClaw couvre en détail la formule des spécifications.
Étape 1 : Provisionner et sécuriser le VPS
Mettez à jour le système et installez les prérequis :
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git ufw ca-certificates gnupg
Configurez le pare-feu avant tout :
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Installez Docker en suivant la documentation officielle (ne pas utiliser le paquet de la distro, il est en retard) :
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker
Vérifiez Docker :
docker run --rm hello-world
Étape 2 : Clonez et configurez OpenClaw
Clonez le repo officiel :
mkdir -p /opt
sudo git clone https://github.com/openclaw/openclaw.git /opt/openclaw
sudo chown -R $USER:$USER /opt/openclaw
cd /opt/openclaw
Créez la configuration d’exemple et modifiez-la :
cp .env.example .env
nano .env
Les paramètres critiques à changer :
POSTGRES_PASSWORD=<générez-un-mot-de-passe-fort>
[email protected]
ADMIN_PASSWORD=<générez-encore-un-mot-de-passe-fort>
PUBLIC_DOMAIN=openclaw.yourdomain.com
MODEL_PROVIDER=openai
OPENAI_API_KEY=sk-...
Pour le mot de passe de la base de données, générez-en un aléatoire avec openssl rand -hex 24. Idem pour le mot de passe admin. N’utilisez pas de valeurs par défaut, les déploiements OpenClaw sont scannés pour des identifiants leakés dans les heures suivant leur mise en ligne.
Étape 3 : Démarrez les conteneurs
docker compose pull
docker compose up -d
Le premier démarrage dure entre 2 et 5 minutes car il initialise la base Postgres et exécute les migrations. Surveillez les logs :
docker compose logs -f openclaw
Cherchez Server listening on :8080 pour confirmer que c’est opérationnel.
Étape 4 : Configurez le reverse proxy
OpenClaw fonctionne en interne sur le port 8080. Placez Caddy devant pour gérer HTTPS. Installez Caddy :
sudo apt install -y caddy
Configurez /etc/caddy/Caddyfile :
openclaw.yourdomain.com {
reverse_proxy localhost:8080
}
Assurez-vous que votre enregistrement DNS A pointe vers la VPS, puis rechargez Caddy :
sudo systemctl reload caddy
Caddy gère automatiquement Let’s Encrypt. Visitez https://openclaw.yourdomain.com et vous devriez voir l’écran de connexion OpenClaw avec un certificat valide.
Étape 5 : Configuration initiale via l’interface web
Connectez-vous avec les identifiants admin du fichier .env. L’assistant de configuration demande :
- La configuration du fournisseur du modèle (détectée automatiquement si renseignée dans
.env) - Nom de l’espace de travail initial
- Intégrations MCP (commencez avec le système de fichiers et la recherche web)
- Premier compte utilisateur
Testez que l’agent fonctionne : dans une conversation avec l’espace de travail par défaut, demandez « Que peux-tu faire ? » L’agent doit décrire ses outils disponibles.
Si vous avez une erreur concernant le point de terminaison du modèle, vérifiez les logs :
docker compose logs openclaw | grep -i error
Problèmes courants à cette étape :
- Mauvais format de la clé OpenAI (doit commencer par
sk-) - Erreur de nom de modèle (utilisez
gpt-4o-miniouclaude-3-5-sonnet-20241022, pas des noms arbitraires) - Limite de taux sur votre compte API, surtout avec des clés OpenAI en version gratuite
Étape 6 : Ajoutez les gateways de messagerie
C’est là que OpenClaw montre toute sa puissance. Pour WhatsApp Business :
- Obtenez un compte API WhatsApp Business (via Meta, Twilio ou 360dialog)
- Dans l’administration d’OpenClaw : Intégrations → WhatsApp → Ajouter
- Collez votre token d’accès et l’ID du numéro de téléphone
- Configurez l’URL du webhook :
https://openclaw.yourdomain.com/webhooks/whatsapp
Pour Slack :
- Créez une application Slack sur api.slack.com/apps
- Activez le Socket Mode et les Abonnements d’événements
- Installez dans votre workspace
- Dans OpenClaw : Intégrations → Slack → Ajouter, collez le token du bot et le token de l’application
Pour Telegram :
- Créez un bot via @BotFather, récupérez le token
- Dans OpenClaw : Intégrations → Telegram → Ajouter, collez le token
Chaque gateway apparaît comme un nouveau canal de conversation dans OpenClaw. Le même agent sert tous les canaux, avec l’historique préservé par utilisateur et par canal.
Étape 7 : Renforcement du registre d’outils
Le registre d’outils MCP donne tout le pouvoir à OpenClaw et comporte aussi de vrais enjeux de sécurité. La configuration par défaut permet à l’agent d’installer de nouveaux outils à tout moment, ce qui est pratique pour la capacité mais dangereux pour la sécurité en production.
Limitez cela en modifiant .env :
TOOL_REGISTRY_MODE=allowlist
TOOL_REGISTRY_ALLOWLIST=filesystem,web-search,github,gmail
Dorénavant, seul les outils de votre liste autorisée peuvent être invoqués. Ajoutez-en d’autres en les vérifiant. Redémarrez :
docker compose restart openclaw
Étape 8 : Stratégie de sauvegarde
Les deux éléments qui doivent absolument survivre à une panne de la VPS : la base Postgres et le volume de stockage des fichiers.
Ajoutez un cron de sauvegarde quotidien :
sudo crontab -e
Ajoutez :
0 3 * * * cd /opt/openclaw && docker compose exec -T postgres pg_dump -U openclaw openclaw | gzip > /backup/openclaw-$(date +\%Y\%m\%d).sql.gz && find /backup -name "openclaw-*.sql.gz" -mtime +14 -delete
Cela s’exécute tous les jours à 3h du matin, sauvegarde Postgres, et conserve 14 jours de sauvegardes. Reproduisez ces sauvegardes hors site (S3, Backblaze, autre VPS) pour une vraie récupération après sinistre.
Et après ?
Une fois l’installation de base opérationnelle, les priorités suivantes sont généralement :
- Ajouter d’autres outils MCP une fois vérifiés
- Configurer les comptes utilisateurs et permissions pour votre équipe
- Mettre
Frequently asked questions
Combien de temps faut-il réellement pour installer OpenClaw ?
Environ 25 minutes sur un VPS Ubuntu 24.04 neuf avec le chemin Docker Compose. La étape la plus lente est le pull des conteneurs (de 10 à 15 minutes selon la bande passante de votre VPS). Ensuite, la configuration initiale via l'interface web prend entre 5 et 10 minutes pour le point de terminaison du modèle, le compte admin et votre premier gateway de messagerie.
Ai-je besoin de Docker ou puis-je installer OpenClaw nativement ?
Docker Compose est la voie supportée et recommandée. L'installation native est techniquement possible en suivant les composants dans le fichier compose, mais l'isolation du sandbox de l'outil rend Docker effectivement nécessaire pour un usage en production. Tenter de faire fonctionner le registre d'outils MCP sans isolation de conteneurs crée de vrais problèmes de sécurité. Utilisez Docker.
Quels ports OpenClaw doit-il ouvrir sur la VPS ?
Port 443 pour l'accès HTTPS à l'interface web (via votre reverse proxy). En interne, OpenClaw utilise le port 8080 pour l'API et le 5432 pour Postgres, mais ces ports ne doivent pas être exposés publiquement. Les gateways de messagerie (WhatsApp, Telegram, Slack) utilisent uniquement des connexions sortantes et ne nécessitent pas de ports entrants. Limitez votre pare-feu à seulement 22 (SSH) et 443.
Comment mettre à jour OpenClaw après l'installation sans perdre mes données ?
Le pattern standard : arrêter les conteneurs, tirer les nouvelles images, redémarrer. Le volume Postgres et le volume de stockage de fichiers persistent à travers les mises à jour des conteneurs. Faites toujours une capture d'état (snapshot) de la VPS ou sauvegardez la base de données Postgres avant de mettre à jour, surtout pour les grandes versions. Les notes de version indiquent toute modification de schéma bloquante nécessitant une migration manuelle.