Skip to main content
Exécutez un Gateway OpenClaw persistant sur une VM GCP Compute Engine à l’aide de Docker, avec un état durable, des binaires intégrés et un comportement de redémarrage sûr. Les tarifs varient selon le type de machine et la région ; choisissez la plus petite VM adaptée à votre charge de travail et augmentez sa capacité si vous rencontrez des erreurs de mémoire insuffisante. Vous pouvez accéder au Gateway depuis votre ordinateur portable au moyen d’une redirection de port SSH, ou en exposant directement le port si vous gérez vous-même le pare-feu et les jetons. Ce guide utilise Debian sur GCP Compute Engine. Ubuntu fonctionne également ; adaptez les paquets en conséquence. Pour la procédure Docker générique, consultez Docker.

Prérequis

  • Un compte GCP (e2-micro est éligible à l’offre gratuite)
  • La CLI gcloud, ou la Cloud Console
  • Un accès SSH depuis votre ordinateur portable
  • Docker et Docker Compose
  • Des identifiants d’authentification au modèle
  • Des identifiants de fournisseur facultatifs (code QR WhatsApp, jeton de bot Telegram, OAuth Gmail)
  • Environ 20 à 30 minutes

Procédure rapide

  1. Créez un projet GCP, activez la facturation et l’API Compute Engine
  2. Créez une VM Compute Engine (e2-small, Debian 12, 20 Go)
  3. Connectez-vous à la VM par SSH et installez Docker
  4. Clonez le dépôt OpenClaw
  5. Créez des répertoires persistants sur l’hôte
  6. Configurez .env et docker-compose.yml
  7. Intégrez les binaires requis, puis générez et lancez l’image
1

Installer la CLI gcloud (ou utiliser la Console)

Installez-la depuis cloud.google.com/sdk/docs/install, puis exécutez :
Vous pouvez également effectuer toutes les étapes ci-dessous dans l’interface web de la Cloud Console.
2

Créer un projet GCP

Activez la facturation sur console.cloud.google.com/billing (obligatoire pour Compute Engine).Équivalent dans la Console : IAM & Admin > Create Project, activez la facturation, puis APIs & Services > Enable APIs > “Compute Engine API” > Enable.
3

Créer la VM

4

Se connecter à la VM par SSH

Dans la Console : cliquez sur “SSH” à côté de la VM dans le tableau de bord Compute Engine.La propagation de la clé SSH peut prendre une à deux minutes après la création de la VM ; attendez et réessayez si la connexion est refusée.
5

Installer Docker (sur la VM)

Déconnectez-vous puis reconnectez-vous pour que la modification du groupe prenne effet, puis rétablissez la connexion SSH :
Vérifiez l’installation :
6

Cloner le dépôt OpenClaw

Ce guide génère une image personnalisée afin que tous les binaires intégrés persistent après les redémarrages.
7

Créer des répertoires persistants sur l’hôte

Les conteneurs Docker sont éphémères ; tout état à conserver à long terme doit résider sur l’hôte.
8

Configurer les variables d’environnement

Créez .env à la racine du dépôt :
Définissez OPENCLAW_GATEWAY_TOKEN pour gérer le jeton stable du Gateway au moyen de .env ; sinon, configurez gateway.auth.token avant de compter sur des clients persistants entre les redémarrages. Si aucun des deux n’est défini, OpenClaw utilise, pour ce démarrage, un jeton limité à l’exécution en cours. Générez un mot de passe de trousseau pour GOG_KEYRING_PASSWORD :
Ne validez pas ce fichier dans le dépôt. Il contient des variables d’environnement du conteneur et de l’exécution, telles que OPENCLAW_GATEWAY_TOKEN. Les authentifications OAuth et par clé API des fournisseurs enregistrées résident dans le fichier monté ~/.openclaw/agents/<agentId>/agent/auth-profiles.json.
9

Configuration de Docker Compose

Créez ou mettez à jour docker-compose.yml :
--allow-unconfigured sert uniquement à faciliter l’amorçage et ne remplace pas une véritable configuration du Gateway. Définissez tout de même l’authentification (gateway.auth.token ou un mot de passe) et un mode de liaison sûr pour votre déploiement.
10

Étapes d’exécution communes pour une VM Docker

Suivez le guide d’exécution commun pour la procédure standard sur un hôte Docker :
11

Remarques de lancement propres à GCP

Si la génération échoue avec Killed ou exit code 137 pendant pnpm install --frozen-lockfile, la VM manque de mémoire. Utilisez au minimum e2-small, ou e2-medium pour des premières générations plus fiables.Lorsque la liaison s’effectue au réseau local (OPENCLAW_GATEWAY_BIND=lan), configurez une origine de navigateur approuvée avant de continuer :
Remplacez 18789 par le port configuré si vous l’avez modifié.
12

Accéder au service depuis votre ordinateur portable

Créez un tunnel SSH pour rediriger le port du Gateway :
Ouvrez http://127.0.0.1:18789/ dans votre navigateur.Affichez de nouveau un lien propre vers le tableau de bord :
Si l’interface vous demande une authentification par secret partagé, collez le jeton configuré ou le mot de passe dans les paramètres de Control UI (cette procédure Docker écrit un jeton par défaut ; utilisez plutôt le mot de passe configuré si vous avez adopté l’authentification par mot de passe).Si Control UI affiche unauthorized ou disconnected (1008): pairing required, approuvez l’appareil correspondant au navigateur :
Consultez Exécution sur une VM Docker pour connaître la répartition commune des données persistantes et la procédure de mise à jour.

Résolution des problèmes

Connexion SSH refusée La propagation de la clé SSH peut prendre une à deux minutes après la création de la VM. Attendez et réessayez. Problèmes avec OS Login Vérifiez votre profil OS Login :
Assurez-vous que votre compte dispose des autorisations IAM requises (Compute OS Login ou Compute OS Admin Login). Mémoire insuffisante Si la génération Docker échoue avec Killed et exit code 137, le système a arrêté le processus de la VM par manque de mémoire :

Comptes de service (bonne pratique de sécurité)

Pour un usage personnel, votre compte utilisateur par défaut convient. Pour l’automatisation ou l’intégration et le déploiement continus, créez un compte de service dédié doté des autorisations minimales :
Évitez le rôle Owner pour l’automatisation ; utilisez le rôle le plus restreint qui répond à vos besoins. Consultez Comprendre les rôles.

Étapes suivantes

Pages connexes