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/workspace sur 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)

  1. Creer un projet GCP + activer l’API Compute Engine
  2. Creer une VM Compute Engine (e2-small, Debian 12, 20 Go)
  3. Se connecter en SSH a la VM
  4. Installer Docker
  5. Cloner le depot OpenClaw
  6. Creer les repertoires persistants sur l’hote
  7. Configurer .env et docker-compose.yml
  8. 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 :

  1. Allez dans IAM et admin > Creer un projet
  2. Nommez-le et creez
  3. Activez la facturation pour le projet
  4. Naviguez vers APIs et services > Activer les APIs > cherchez “Compute Engine API” > Activer

3) Creer la VM

Types de machines :

TypeSpecsCoutNotes
e2-medium2 vCPU, 4 Go RAM~25 $/moisLe plus fiable pour les builds Docker locaux
e2-small2 vCPU, 2 Go RAM~12 $/moisMinimum recommande pour le build Docker
e2-micro2 vCPU (partage), 1 Go RAMEligible tier gratuitEchoue 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 :

  1. Allez dans Compute Engine > Instances de VM > Creer une instance
  2. Nom : openclaw-gateway
  3. Region : us-central1, Zone : us-central1-a
  4. Type de machine : e2-small
  5. Disque de demarrage : Debian 12, 20 Go
  6. 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 :


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 :

  1. Creez un compte de service :

    gcloud iam service-accounts create openclaw-deploy \
      --display-name="OpenClaw Deployment"
  2. 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