GCP
OpenClaw sur GCP Compute Engine (Docker, Guide VPS de production)
Section intitulée « OpenClaw sur GCP Compute Engine (Docker, Guide VPS de production) »Objectif
Section intitulée « Objectif »Exécuter une passerelle OpenClaw Gateway persistante sur une VM GCP Compute Engine en utilisant Docker, avec un état durable, des binaires intégrés et un comportement de redémarrage sûr.
Si vous souhaitez “OpenClaw 24/7 pour environ 5-12 $/mo”, c’est une configuration fiable sur Google Cloud. La tarification varie selon le type de machine et la région ; choisissez la plus petite VM adaptée à votre charge de travail et augmentez l’échelle si vous rencontrez des erreurs de mémoire insuffisante (OOM).
Que faisons-nous (termes simples) ?
Section intitulée « Que faisons-nous (termes simples) ? »- Créer un projet GCP et activer la facturation
- Créer une VM Compute Engine
- Installer Docker (runtime d’application isolé)
- Démarrer la passerelle OpenClaw Gateway dans Docker
- Persister
~/.openclaw+~/.openclaw/workspacesur l’hôte (survit aux redémarrages/reconstructions) - Accéder à l’interface de contrôle depuis votre ordinateur portable via un tunnel SSH
La Gateway peut être accessible via :
- Transfert de port SSH depuis votre ordinateur portable
- Exposition directe du 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 packages en conséquence. Pour le flux générique Docker, consultez Docker.
Chemin rapide (opérateurs expérimentés)
Section intitulée « Chemin rapide (opérateurs expérimentés) »- Créer un projet GCP + activer l’API Compute Engine
- Créer une VM Compute Engine (e2-small, Debian 12, 20 Go)
- Se connecter en SSH à la VM
- Installer Docker
- Cloner le dépôt OpenClaw
- Créer des répertoires hôtes persistants
- Configurer
.envetdocker-compose.yml - Intégrer les binaires requis, construire et lancer
Ce dont vous avez besoin
Section intitulée « Ce dont vous avez besoin »- Compte GCP (éligible à la offre gratuite pour e2-micro)
- CLI gcloud installé (ou utiliser Cloud Console)
- Accès SSH depuis votre ordinateur portable
- Confort de base avec SSH + copier/coller
- ~20-30 minutes
- Docker et Docker Compose
- Identifiants d’authentification du modèle
- Identifiants de fournisseur facultatifs
- QR WhatsApp
- Jeton de bot Telegram
- Gmail OAuth
Installer gcloud CLI (ou utiliser la Console)
Option A : gcloud CLI (recommandé pour l’automatisation)
Installer à partir de https://cloud.google.com/sdk/docs/install
Initialiser et authentifier :
Fenêtre de terminal gcloud initgcloud auth loginOption B : Cloud Console
Toutes les étapes peuvent être effectuées via l’interface Web à https://console.cloud.google.com
Créer un projet GCP
CLI :
Fenêtre de terminal gcloud projects create my-openclaw-project --name="OpenClaw Gateway"gcloud config set project my-openclaw-projectActiver la facturation sur https://console.cloud.google.com/billing (requis pour Compute Engine).
Activer l’API Compute Engine :
Fenêtre de terminal gcloud services enable compute.googleapis.comConsole :
- Aller dans IAM & Admin > Créer un projet
- Le nommer et créer
- Activer la facturation pour le projet
- Naviguer vers API et services > Activer les API > rechercher “Compute Engine API” > Activer
Créer la VM
Types de machines :
Type Specs Coût Notes e2-medium 2 vCPU, 4Go RAM ~25$/mo Le plus fiable pour les builds Docker locaux e2-small 2 vCPU, 2Go RAM ~12$/mo Minimum recommandé pour le build Docker e2-micro 2 vCPU (partagé), 1Go RAM Éligible au niveau gratuit Échoue souvent avec le build Docker OOM (exit 137) CLI :
Fenêtre de terminal gcloud compute instances create openclaw-gateway \--zone=us-central1-a \--machine-type=e2-small \--boot-disk-size=20GB \--image-family=debian-12 \--image-project=debian-cloudConsole :
- Aller dans Compute Engine > Instances de VM > Créer une instance
- Nom :
openclaw-gateway - Région :
us-central1, Zone :us-central1-a - Type de machine :
e2-small - Disque de démarrage : Debian 12, 20Go
- Créer
SSH dans la VM
CLI :
Fenêtre de terminal gcloud compute ssh openclaw-gateway --zone=us-central1-aConsole :
Cliquez sur le bouton “SSH” à côté de votre VM dans le tableau de bord Compute Engine.
Remarque : La propagation de la clé SSH peut prendre 1 à 2 minutes après la création de la VM. Si la connexion est refusée, attendez et réessayez.
Installer Docker (sur la VM)
Fenêtre de terminal sudo apt-get updatesudo apt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | sudo shsudo usermod -aG docker $USERDéconnectez-vous et reconnectez-vous pour que le changement de groupe prenne effet :
Fenêtre de terminal exitPuis SSH à nouveau :
Fenêtre de terminal gcloud compute ssh openclaw-gateway --zone=us-central1-aVérifiez :
Fenêtre de terminal docker --versiondocker compose versionCloner le dépôt OpenClaw
Fenêtre de terminal git clone https://github.com/openclaw/openclaw.gitcd openclawCe guide suppose que vous allez construire une image personnalisée pour garantir la persistance des binaires.
Créer des répertoires persistants sur l'hôte
Les conteneurs Docker sont éphémères. Tout état de longue durée doit résider sur l’hôte.
Fenêtre de terminal mkdir -p ~/.openclawmkdir -p ~/.openclaw/workspaceConfigurer les variables d'environnement
Créez
.envà la racine du dépôt.Fenêtre de terminal OPENCLAW_IMAGE=openclaw:latestOPENCLAW_GATEWAY_TOKEN=change-me-nowOPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_PORT=18789OPENCLAW_CONFIG_DIR=/home/$USER/.openclawOPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspaceGOG_KEYRING_PASSWORD=change-me-nowXDG_CONFIG_HOME=/home/node/.openclawGénérez des secrets forts :
Fenêtre de terminal openssl rand -hex 32Ne commitez pas ce fichier.
Configuration Docker Compose
Créez ou mettez à jour
docker-compose.yml.services:openclaw-gateway:image: ${OPENCLAW_IMAGE}build: .restart: unless-stoppedenv_file:- .envenvironment:- HOME=/home/node- NODE_ENV=production- TERM=xterm-256color- OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND}- OPENCLAW_GATEWAY_PORT=${OPENCLAW_GATEWAY_PORT}- OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}- GOG_KEYRING_PASSWORD=${GOG_KEYRING_PASSWORD}- XDG_CONFIG_HOME=${XDG_CONFIG_HOME}- PATH=/home/linuxbrew/.linuxbrew/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binvolumes:- ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw- ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspaceports:# Recommended: keep the Gateway loopback-only on the VM; access via SSH tunnel.# To expose it publicly, remove the `127.0.0.1:` prefix and firewall accordingly.- "127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789"command:["node","dist/index.js","gateway","--bind","${OPENCLAW_GATEWAY_BIND}","--port","${OPENCLAW_GATEWAY_PORT}","--allow-unconfigured",]--allow-unconfiguredn’est là que pour la commodité de l’amorçage, il ne remplace pas une configuration de passerelle appropriée. Définissez toujours l’authentification (gateway.auth.tokenou mot de passe) et utilisez des paramètres de liaison sûrs pour votre déploiement.Étapes d'exécution VM partagée Docker
Utilisez le guide d’exécution partagée pour le flux commun de l’hôte Docker :
Notes de lancement spécifiques à GCP
Sur GCP, si le build échoue avec
Killedouexit code 137pendantpnpm install --frozen-lockfile, la machine virtuelle manque de mémoire. Utiliseze2-smallminimum, oue2-mediumpour des premiers builds plus fiables.Lors de la liaison au LAN (
OPENCLAW_GATEWAY_BIND=lan), configurez une origine de navigateur approuvée avant de continuer :Fenêtre de terminal docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:18789"]' --strict-jsonSi vous avez modifié le port de la passerelle, remplacez
18789par votre port configuré.Accès depuis votre ordinateur portable
Créez un tunnel SSH pour rediriger le port de la Gateway :
Fenêtre de terminal gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789Ouvrez dans votre navigateur :
http://127.0.0.1:18789/Récupérez un nouveau lien de tableau de bord tokenisé :
Fenêtre de terminal docker compose run --rm openclaw-cli dashboard --no-openCollez le jeton depuis cette URL.
Si l’interface de contrôle affiche
unauthorizedoudisconnected (1008): pairing required, approuvez l’appareil du navigateur :Fenêtre de terminal docker compose run --rm openclaw-cli devices listdocker compose run --rm openclaw-cli devices approveBesoin de nouveau de la référence de persistance partagée et de mise à jour ?Consultez [Runtime VM Docker](/en/install/docker-vm-runtime#what-persists-where) et [Mises à jour du runtime VM Docker](/en/install/docker-vm-runtime#updates).
Dépannage
Section intitulée « Dépannage »Connexion SSH refusée
La propagation des clés SSH peut prendre 1 à 2 minutes après la création de la VM. Attendez et réessayez.
Problèmes de connexion OS
Vérifiez votre profil de connexion OS :
gcloud compute os-login describe-profileAssurez-vous que votre compte dispose des autorisations IAM requises (Compute OS Login ou Compute OS Admin Login).
Plus de mémoire (OOM)
Si le build Docker échoue avec Killed et exit code 137, la VM a été tuée par OOM. Passez à e2-small (minimum) ou e2-medium (recommandé pour des builds locaux fiables) :
# Stop the VM firstgcloud compute instances stop openclaw-gateway --zone=us-central1-a
# Change machine typegcloud compute instances set-machine-type openclaw-gateway \ --zone=us-central1-a \ --machine-type=e2-small
# Start the VMgcloud compute instances start openclaw-gateway --zone=us-central1-aComptes de service (bonne pratique de sécurité)
Section intitulée « Comptes de service (bonne pratique de sécurité) »Pour un usage personnel, votre compte utilisateur par défaut convient parfaitement.
Pour l’automatisation ou les pipelines CI/CD, créez un compte de service dédié avec des autorisations minimales :
-
Créer un compte de service :
Fenêtre de terminal gcloud iam service-accounts create openclaw-deploy \--display-name="OpenClaw Deployment" -
Accorder le rôle Administrateur d’instance Compute (ou un rôle personnalisé plus restreint) :
Fenêtre de terminal gcloud projects add-iam-policy-binding my-openclaw-project \--role="roles/compute.instanceAdmin.v1"
Évitez d’utiliser le rôle Propriétaire pour l’automatisation. Appliquez le principe du moindre privilège.
Voir https://cloud.google.com/iam/docs/understanding-roles pour plus de détails sur les rôles IAM.
Étapes suivantes
Section intitulée « Étapes suivantes »- Configurer les canaux de messagerie : Canaux
- Associer les appareils locaux en tant que nœuds : Nœuds
- Configurer le Gateway : Configuration du Gateway