OpenClaw sur VPS : Installation complète
Déployez le Gateway OpenClaw sur un VPS Ubuntu, gardez le port 18789 privé, activez le daemon et vérifiez canaux et sécurité.
Introduction
Un déploiement OpenClaw VPS donne au Gateway une machine disponible en continu pour posséder les sessions, les canaux et le routage des agents. Il est utile lorsqu’un laptop se met en veille, quand plusieurs appareils doivent retrouver le même assistant ou lorsqu’un canal doit rester connecté. Il est à éviter pour un simple test local ou une tâche ponctuelle. Ce tutoriel installe l’architecture Node/TypeScript actuelle sur Ubuntu, avec utilisateur dédié, daemon géré, état persistant, tunnel SSH, authentification et commandes de contrôle. Il exclut volontairement pip, les scripts Agent Python, openclaw.yaml et les faux endpoints HTTP des anciens guides.
Résumé rapide
- Créer un VPS Ubuntu avec clé SSH et un compte d’exploitation non root.
- Installer OpenClaw avec le script officiel ou l’image Docker officielle.
- Laisser le Gateway sur
127.0.0.1:18789et installer son daemon. - Administrer par tunnel SSH, Tailscale ou URL
wss://authentifiée. - Vérifier Doctor, sécurité, canaux, logs et sauvegarde avant production.
Pourquoi le Gateway doit posséder le serveur
OpenClaw exécute un Gateway de longue durée. Il ouvre les connexions Telegram, WhatsApp, Slack, Discord, Signal et autres plugins de canal ; il conserve l’état des sessions et route les messages vers un ou plusieurs agents. Les applications desktop, la CLI, le Control UI et les nodes mobiles sont des clients WebSocket. Les nodes ne remplacent pas le Gateway : ils déclarent des capacités d’appareil que celui-ci peut appeler après pairing et autorisation.
Sur un VPS, un seul Gateway doit normalement posséder cet état. La configuration canonique est ~/.openclaw/openclaw.json; le workspace par défaut est ~/.openclaw/workspace; les données partagées et par agent comprennent des bases SQLite. Un agent secondaire obtient son propre workspace, son agentDir et son historique. Réutiliser le même agentDir crée des collisions d’authentification et de sessions.
Le serveur devient donc stateful. Un snapshot de VM ou une archive vérifiée vaut davantage qu’un simple fichier JSON. Les credentials de canaux, les approbations, les sessions et la mémoire doivent rester cohérents. Pour plusieurs utilisateurs mutuellement hostiles, ne comptez pas sur des workspaces séparés : déployez des Gateways, comptes OS ou hôtes distincts.
Le choix d’hébergement OpenClaw dépend surtout de cette topologie et de votre capacité à maintenir le serveur, pas d’un besoin de PostgreSQL ou Redis ajouté artificiellement.
Installer OpenClaw sur un VPS étape par étape
1. Dimensionner sans surpromettre
Pour l’image Docker préconstruite ou une installation npm, un petit VPS moderne suffit souvent à un usage personnel. La charge dépend cependant des canaux, plugins, navigateurs sandboxés, fichiers et modèles locaux. Une construction d’image depuis les sources demande au moins environ 6 Go de RAM selon la documentation officielle ; sur une machine plus petite, utilisez l’image préconstruite.
Prévoyez un SSD avec marge pour les images, bases et logs. Mesurez CPU, mémoire et disque la première semaine au lieu de considérer un palier commercial comme une garantie universelle.
2. Sécuriser l’accès initial
Ajoutez votre clé publique à la création du VPS, puis connectez-vous :
ssh root@<ip-du-vps>
Mettez le système à jour et créez un utilisateur dédié :
apt update && apt upgrade -y
adduser openclaw
usermod -aG sudo openclaw
Copiez proprement la clé autorisée vers son home, testez une nouvelle connexion, puis seulement ensuite désactivez la connexion root et l’authentification SSH par mot de passe. Gardez une console de secours fournie par l’hébergeur pendant cette transition.
3. Activer un pare-feu minimal
Autorisez SSH avant UFW :
apt install -y ufw
ufw allow OpenSSH
ufw enable
ufw status verbose
N’ouvrez pas TCP 18789 au monde. Le Gateway peut recevoir les messages des canaux via leurs connexions sortantes sans port public. Si vous publiez plus tard une URL sécurisée, limitez l’entrée au proxy ou à la tailnet et examinez aussi la chaîne DOCKER-USER lorsque Docker est présent.
4. Installer le Gateway natif
Connectez-vous avec l’utilisateur dédié, puis lancez :
curl -fsSL https://openclaw.ai/install.sh | bash
L’installateur configure un runtime Node compatible, installe la CLI et ouvre l’onboarding. Choisissez un fournisseur ou réutilisez une authentification CLI existante. Pour installer explicitement le service persistant :
openclaw onboard --install-daemon
openclaw gateway status
Vous pouvez aussi tester sans installation globale avec npx openclaw@latest, mais ce mode au premier plan n’est pas le meilleur choix pour un serveur 24/7. L’installation native détaillée se trouve dans le guide OpenClaw Ubuntu.
5. Variante Docker officielle
Sur un VPS où Docker est déjà la norme, utilisez le dépôt openclaw/openclaw, l’image ghcr.io/openclaw/openclaw:latest et le script maintenu :
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
./scripts/docker/setup.sh
Le script gère le Gateway, la CLI et les volumes attendus. N’utilisez pas une image openclaw/app ni un Compose avec PostgreSQL, Redis et port 8000 repris d’un ancien article. En production, épinglez un tag testé. Le tutoriel Docker OpenClaw explique la persistance et l’administration conteneurisée.
6. Garder le bind privé
Le défaut natif est loopback sur 127.0.0.1:18789. Conservez-le et ouvrez depuis votre ordinateur :
ssh -N -L 18789:127.0.0.1:18789 openclaw@<ip-du-vps>
Puis ouvrez le Control UI localement avec openclaw dashboard ou l’adresse loopback. Si le serveur SSH bloque les forwards, configurez AllowTcpForwarding local, validez avec sshd -t, puis redémarrez le service SSH.
Un bind lan, tailnet ou custom exige une authentification par token, mot de passe ou proxy de confiance. Pour créer un token :
openclaw doctor --generate-gateway-token
Ne placez pas ce token dans une commande partagée, un historique collectif ou un dépôt. gateway.remote.token configure un client ; il ne protège pas à lui seul le serveur.
7. Connecter les canaux et contrôler le pairing
Ajoutez un canal via le wizard :
openclaw channels add --channel telegram
openclaw channels status --probe
Pour WhatsApp, utilisez le flux de login. Pour un expéditeur inconnu en DM, le mode pairing renvoie un code sans traiter le message. Approuvez uniquement après vérification :
openclaw pairing list telegram
openclaw pairing approve telegram <CODE>
Si plusieurs personnes sont autorisées, définissez session.dmScope: "per-channel-peer" afin d’éviter que leurs messages privés partagent la session principale. Cette isolation de contexte ne transforme pas le Gateway en frontière de sécurité hostile.
8. Vérifier l’exploitation
Exécutez les contrôles suivants après installation et après chaque changement :
openclaw gateway status
openclaw status --all
openclaw channels status --probe
openclaw security audit --deep
openclaw doctor --lint --json
Suivez les journaux avec openclaw logs --follow. Pour une mise à jour, commencez par une sauvegarde vérifiée puis utilisez openclaw update --dry-run et openclaw update. La commande valide le candidat avant activation lorsque le mode d’installation le permet. Après la mise à jour, vérifiez la santé et les canaux, pas seulement la version.
Checklist de validation
- SSH par clé fonctionne avec un compte non root.
- Le port
18789n’est pas ouvert publiquement. - Le daemon Gateway redémarre après reboot.
- Le state dir complet est sauvegardé et restaurable.
- Chaque canal passe un probe et applique une politique DM restrictive.
- Doctor lint et l’audit de sécurité ne rapportent pas d’erreur bloquante.
Exemple concret : VPS privé et Telegram
Une société déploie un assistant interne sur un VPS Ubuntu. Elle crée l’utilisateur openclaw, autorise seulement SSH dans le pare-feu cloud et dans UFW, puis installe OpenClaw avec le script officiel. L’onboarding installe le service utilisateur et configure le modèle. Le Gateway reste sur loopback.
L’administrateur ouvre un tunnel depuis son poste :
ssh -N -L 18789:127.0.0.1:18789 openclaw@vps
Il ajoute Telegram, garde dmPolicy en pairing et approuve seulement son identifiant. Il vérifie ensuite :
openclaw channels status --probe
openclaw security audit --deep
openclaw status --all
La validation ne repose pas sur une sortie copiée dans ce guide : l’opérateur examine les résultats de sa propre instance. Il redémarre volontairement le VPS, confirme que le daemon revient et envoie un message depuis l’expéditeur approuvé. Enfin, il restaure une sauvegarde dans un répertoire de staging et exécute Doctor sur cette copie. Cet exercice vérifie disponibilité, contrôle d’accès et reprise, les trois propriétés qui distinguent un serveur fiable d’un simple processus lancé dans une session SSH.
Bonnes pratiques
Traitez le VPS comme une infrastructure stateful. Sauvegardez les bases SQLite avec une méthode cohérente et ne restaurez pas une copie ancienne par-dessus une instance active. Les credentials WhatsApp et les états de déduplication peuvent évoluer ; un retour dans le temps peut imposer une nouvelle association.
Limitez les outils et sandboxez les agents qui traitent du contenu non fiable. Le workspace est un répertoire de travail, pas une prison : sans sandbox, les chemins absolus peuvent atteindre l’hôte avec les droits de l’utilisateur. Évitez aussi de partager des profils de navigateur personnels avec une équipe.
Surveillez les redémarrages, le disque, les erreurs de canal, la durée des runs et les coûts LLM. Un petit serveur est un bon choix tant que ces signaux restent stables. Si la maintenance devient plus coûteuse que la valeur produite, préférez un hébergement plus managé ou une approche plus simple.
Questions fréquentes
Quel VPS choisir pour OpenClaw ?
Choisissez d’abord la région, la sauvegarde, la qualité du réseau et une RAM suffisante pour votre méthode d’installation. Une image préconstruite demande moins de mémoire qu’une construction depuis les sources. Hetzner, OVH et Scaleway peuvent convenir ; mesurez la charge réelle plutôt que de figer une offre commerciale vite obsolète.
Faut-il ouvrir le port 18789 sur un VPS OpenClaw ?
Non dans le parcours recommandé. Gardez le Gateway sur loopback et utilisez un tunnel SSH ou Tailscale Serve. Les canaux établissent leurs propres connexions. Si vous publiez le port via un proxy, utilisez TLS, une authentification Gateway et des origines Control UI explicites, puis exécutez l’audit de sécurité.
OpenClaw VPS nécessite-t-il Python, PostgreSQL ou Redis ?
Non. OpenClaw est un Gateway Node/TypeScript et utilise sa propre organisation d’état, notamment SQLite. Le script Linux ou l’image Docker officielle suffit. Python peut être requis par un outil tiers particulier, mais il ne constitue ni le runtime principal ni la méthode d’installation d’OpenClaw.
Comment mettre à jour un serveur OpenClaw ?
Créez d’abord une sauvegarde vérifiée, exécutez openclaw update --dry-run, puis openclaw update. Pour Docker, remplacez l’image par le tag testé avec les mêmes volumes. Après activation, contrôlez health, gateway status --deep, Doctor, les plugins et les canaux. Une migration d’état peut limiter le rollback du seul binaire.
Articles liés
Un VPS est pertinent pour un Gateway toujours disponible, mais seulement avec un accès privé, un état sauvegardé et une procédure de vérification. Une fois l’installation validée, concentrez-vous sur la sécurité et l’observabilité plutôt que d’ajouter des services inutiles.
Restez informé sur les agents IA
Nouveaux tutoriels, comparatifs et guides pratiques directement dans votre boîte mail.