OpenClaw sur GCP Compute Engine (Docker, guide de production VPS)
Objectif
Faire tourner une passerelle OpenClaw persistante sur une VM GCP Compute Engine avec Docker, un etat durable, des binaires integres et un comportement de redemarrage fiable.
Si vous voulez “OpenClaw 24/7 pour ~5-12 $/mois”, c’est une configuration fiable sur Google Cloud. Les tarifs varient selon le type de machine et la region ; choisissez la plus petite VM adaptee a votre charge et montez en gamme si vous rencontrez des OOM.
En termes simples, que faisons-nous ?
- Creer un projet GCP et activer la facturation
- Creer une VM Compute Engine
- Installer Docker (runtime d’application isole)
- Demarrer la passerelle OpenClaw dans Docker
- Persister
~/.openclaw+~/.openclaw/workspacesur l’hote (survit aux redemarrages/reconstructions) - Acceder a l’interface de controle depuis votre portable via un tunnel SSH
La passerelle est accessible via :
- Redirection de port SSH depuis votre portable
- Exposition directe du port si vous gerez le pare-feu et les tokens vous-meme
Ce guide utilise Debian sur GCP Compute Engine. Ubuntu fonctionne aussi ; adaptez les paquets en consequence. Pour le flux Docker generique, consultez Docker.
Chemin rapide (operateurs experimentes)
- Creer un projet GCP + activer l’API Compute Engine
- Creer une VM Compute Engine (e2-small, Debian 12, 20 Go)
- Se connecter en SSH a la VM
- Installer Docker
- Cloner le depot OpenClaw
- Creer les repertoires persistants sur l’hote
- Configurer
.envetdocker-compose.yml - Integrer les binaires requis, construire et lancer
Ce dont vous avez besoin
- Compte GCP (eligible au tier gratuit pour e2-micro)
- CLI gcloud installe (ou utiliser Cloud Console)
- Acces SSH depuis votre portable
- A l’aise avec SSH + copier/coller
- ~20-30 minutes
- Docker et Docker Compose
- Identifiants d’authentification de modele
- Identifiants de fournisseur optionnels
- QR WhatsApp
- Token de bot Telegram
- OAuth Gmail
1) Installer le CLI gcloud (ou utiliser la Console)
Option A : CLI gcloud (recommande pour l’automatisation)
Installez depuis https://cloud.google.com/sdk/docs/install
Initialisez et authentifiez-vous :
gcloud init
gcloud auth login
Option B : Cloud Console
Toutes les etapes peuvent etre effectuees via l’interface web a https://console.cloud.google.com
2) Creer un projet GCP
CLI :
gcloud projects create my-openclaw-project --name="OpenClaw Gateway"
gcloud config set project my-openclaw-project
Activez la facturation a https://console.cloud.google.com/billing (necessaire pour Compute Engine).
Activez l’API Compute Engine :
gcloud services enable compute.googleapis.com
Console :
- Allez dans IAM et admin > Creer un projet
- Nommez-le et creez
- Activez la facturation pour le projet
- Naviguez vers APIs et services > Activer les APIs > cherchez “Compute Engine API” > Activer
3) Creer la VM
Types de machines :
| Type | Specs | Cout | Notes |
|---|---|---|---|
| e2-medium | 2 vCPU, 4 Go RAM | ~25 $/mois | Le plus fiable pour les builds Docker locaux |
| e2-small | 2 vCPU, 2 Go RAM | ~12 $/mois | Minimum recommande pour le build Docker |
| e2-micro | 2 vCPU (partage), 1 Go RAM | Eligible tier gratuit | Echoue souvent avec Docker build OOM (exit 137) |
CLI :
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-cloud
Console :
- Allez dans Compute Engine > Instances de VM > Creer une instance
- Nom :
openclaw-gateway - Region :
us-central1, Zone :us-central1-a - Type de machine :
e2-small - Disque de demarrage : Debian 12, 20 Go
- Creer
4) Se connecter en SSH a la VM
CLI :
gcloud compute ssh openclaw-gateway --zone=us-central1-a
Console :
Cliquez sur le bouton “SSH” a cote de votre VM dans le tableau de bord Compute Engine.
A noter : la propagation des cles SSH peut prendre 1-2 minutes apres la creation de la VM. Si la connexion est refusee, patientez et reessayez.
5) Installer Docker (sur la VM)
sudo apt-get update
sudo apt-get install -y git curl ca-certificates
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
Deconnectez-vous et reconnectez-vous pour que le changement de groupe prenne effet :
exit
Puis reconnectez-vous en SSH :
gcloud compute ssh openclaw-gateway --zone=us-central1-a
Verifiez :
docker --version
docker compose version
6) Cloner le depot OpenClaw
git clone https://github.com/openclaw/openclaw.git
cd openclaw
Ce guide suppose que vous construirez une image personnalisee pour garantir la persistance des binaires.
7) Creer les repertoires persistants sur l’hote
Les conteneurs Docker sont ephemeres. Tout etat longue duree doit resider sur l’hote.
mkdir -p ~/.openclaw
mkdir -p ~/.openclaw/workspace
8) Configurer les variables d’environnement
Creez .env a la racine du depot.
OPENCLAW_IMAGE=openclaw:latest
OPENCLAW_GATEWAY_TOKEN=change-me-now
OPENCLAW_GATEWAY_BIND=lan
OPENCLAW_GATEWAY_PORT=18789
OPENCLAW_CONFIG_DIR=/home/$USER/.openclaw
OPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspace
GOG_KEYRING_PASSWORD=change-me-now
XDG_CONFIG_HOME=/home/node/.openclaw
Generez des secrets solides :
openssl rand -hex 32
Ne commitez pas ce fichier.
9) Configuration Docker Compose
Creez ou mettez a jour docker-compose.yml.
services:
openclaw-gateway:
image: ${OPENCLAW_IMAGE}
build: .
restart: unless-stopped
env_file:
- .env
environment:
- 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:/bin
volumes:
- ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
- ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace
ports:
# Recommande : garder la passerelle en loopback sur la VM ; acceder via tunnel SSH.
# Pour l'exposer publiquement, retirez le prefixe `127.0.0.1:` et configurez le pare-feu.
- "127.0.0.1:${OPENCLAW_GATEWAY_PORT}:18789"
command:
[
"node",
"dist/index.js",
"gateway",
"--bind",
"${OPENCLAW_GATEWAY_BIND}",
"--port",
"${OPENCLAW_GATEWAY_PORT}",
]
10) Etapes partagees du runtime Docker VM
Utilisez le guide de runtime partage pour le flux commun Docker sur hote :
- Integrer les binaires requis dans l’image
- Construction et lancement
- Ce qui persiste et ou
- Mises a jour
11) Notes specifiques a GCP
Sur GCP, si la construction echoue avec Killed ou exit code 137 pendant pnpm install --frozen-lockfile, la VM manque de memoire. Utilisez au minimum e2-small, ou e2-medium pour des premiers builds plus fiables.
Lors de la liaison au LAN (OPENCLAW_GATEWAY_BIND=lan), configurez une origine de navigateur de confiance avant de continuer :
docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:18789"]' --strict-json
Si vous avez change le port de la passerelle, remplacez 18789 par votre port configure.
12) Acceder depuis votre portable
Creez un tunnel SSH pour rediriger le port de la passerelle :
gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789
Ouvrez dans votre navigateur :
http://127.0.0.1:18789/
Recuperez un lien de tableau de bord avec token frais :
docker compose run --rm openclaw-cli dashboard --no-open
Collez le token de cette URL.
Si l’interface de controle affiche unauthorized ou disconnected (1008): pairing required, approuvez le peripherique navigateur :
docker compose run --rm openclaw-cli devices list
docker compose run --rm openclaw-cli devices approve <requestId>
Besoin de la reference de persistance et mise a jour partagee a nouveau ? Consultez Docker VM Runtime et Mises a jour Docker VM Runtime.
Depannage
Connexion SSH refusee
La propagation des cles SSH peut prendre 1-2 minutes apres la creation de la VM. Patientez et reessayez.
Problemes OS Login
Verifiez votre profil OS Login :
gcloud compute os-login describe-profile
Assurez-vous que votre compte dispose des permissions IAM requises (Compute OS Login ou Compute OS Admin Login).
Memoire insuffisante (OOM)
Si la construction Docker echoue avec Killed et exit code 137, la VM a ete tuee par OOM. Passez a e2-small (minimum) ou e2-medium (recommande pour des builds locaux fiables) :
# Arreter d'abord la VM
gcloud compute instances stop openclaw-gateway --zone=us-central1-a
# Changer le type de machine
gcloud compute instances set-machine-type openclaw-gateway \
--zone=us-central1-a \
--machine-type=e2-small
# Demarrer la VM
gcloud compute instances start openclaw-gateway --zone=us-central1-a
Comptes de service (bonne pratique de securite)
Pour un usage personnel, votre compte utilisateur par defaut convient.
Pour l’automatisation ou les pipelines CI/CD, creez un compte de service dedie avec des permissions minimales :
-
Creez un compte de service :
gcloud iam service-accounts create openclaw-deploy \ --display-name="OpenClaw Deployment" -
Accordez le role Compute Instance Admin (ou un role personnalise plus restreint) :
gcloud projects add-iam-policy-binding my-openclaw-project \ --member="serviceAccount:[email protected]" \ --role="roles/compute.instanceAdmin.v1"
Evitez d’utiliser le role Owner pour l’automatisation. Appliquez le principe du moindre privilege.
Consultez https://cloud.google.com/iam/docs/understanding-roles pour les details des roles IAM.
Prochaines etapes
- Configurer les canaux de messagerie : Canaux
- Appairer des peripheriques locaux comme noeuds : Noeuds
- Configurer la passerelle : Configuration de la passerelle