Hosting

GCP

Voer een permanente OpenClaw Gateway uit op een GCP Compute Engine-VM met Docker, met duurzame statusopslag, ingebouwde binaire bestanden en veilig herstartgedrag.

De prijs varieert per machinetype en regio; kies de kleinste VM die geschikt is voor je werklast en schaal op als er OOM-fouten optreden.

De Gateway is vanaf je laptop toegankelijk via SSH-poortdoorsturing, of via directe openstelling van de poort als je zelf de firewall en tokens beheert.

Deze handleiding gebruikt Debian op GCP Compute Engine. Ubuntu werkt ook; pas de pakketten dienovereenkomstig aan. Zie Docker voor de algemene Docker-procedure.

Wat je nodig hebt

  • GCP-account (e2-micro komt in aanmerking voor de gratis laag)
  • gcloud CLI, of de Cloud Console
  • SSH-toegang vanaf je laptop
  • Docker en Docker Compose
  • Authenticatiegegevens voor het model
  • Optionele providerreferenties (WhatsApp-QR-code, Telegram-bottoken, Gmail OAuth)
  • Ongeveer 20-30 minuten

Snelle procedure

  1. Maak een GCP-project, schakel facturering en de Compute Engine API in
  2. Maak een Compute Engine-VM (e2-small, Debian 12, 20GB)
  3. Maak via SSH verbinding met de VM en installeer Docker
  4. Kloon de OpenClaw-repository
  5. Maak permanente hostmappen
  6. Configureer .env en docker-compose.yml
  7. Bouw de vereiste binaire bestanden in, bouw de image en start deze
  • Installeer de gcloud CLI (of gebruik Console)

    Installeer deze via cloud.google.com/sdk/docs/install en voer vervolgens het volgende uit:

    bash
    gcloud initgcloud auth login

    Je kunt in plaats daarvan ook alle onderstaande stappen uitvoeren via de webinterface van de Cloud Console.

  • Maak een GCP-project

    bash
    gcloud projects create my-openclaw-project --name="OpenClaw Gateway"gcloud config set project my-openclaw-projectgcloud services enable compute.googleapis.com

    Schakel facturering in via console.cloud.google.com/billing (vereist voor Compute Engine).

    Overeenkomstige stappen in Console: IAM & Admin > Create Project, schakel facturering in en ga vervolgens naar APIs & Services > Enable APIs > "Compute Engine API" > Enable.

  • Maak de VM

    Type Specificaties Kosten Opmerkingen
    e2-medium 2 vCPU, 4GB RAM Ongeveer $25 per maand Meest betrouwbaar voor lokale Docker-builds
    e2-small 2 vCPU, 2GB RAM Ongeveer $12 per maand Aanbevolen minimum voor een Docker-build
    e2-micro 2 vCPU (gedeeld), 1GB RAM Komt in aanmerking voor gratis laag Mislukt vaak door OOM tijdens Docker-build (exit 137)
    bash
    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
  • Maak via SSH verbinding met de VM

    bash
    gcloud compute ssh openclaw-gateway --zone=us-central1-a

    Console: klik naast de VM in het Compute Engine-dashboard op "SSH".

    Het doorgeven van SSH-sleutels kan na het maken van de VM 1-2 minuten duren; wacht en probeer het opnieuw als de verbinding wordt geweigerd.

  • Installeer Docker (op de VM)

    bash
    sudo apt-get updatesudo apt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | sudo shsudo usermod -aG docker $USER

    Meld je af en weer aan om de groepswijziging toe te passen en maak daarna opnieuw via SSH verbinding:

    bash
    exit
    bash
    gcloud compute ssh openclaw-gateway --zone=us-central1-a

    Controleer:

    bash
    docker --versiondocker compose version
  • Kloon de OpenClaw-repository

    bash
    git clone https://github.com/openclaw/openclaw.gitcd openclaw

    Deze handleiding bouwt een aangepaste image, zodat alle ingebouwde binaire bestanden behouden blijven na herstarts.

  • Maak permanente hostmappen

    Docker-containers zijn tijdelijk; alle lang bewaarde status moet op de host staan.

    bash
    mkdir -p ~/.openclawmkdir -p ~/.openclaw/workspace
  • Configureer omgevingsvariabelen

    Maak .env in de hoofdmap van de repository:

    bash
    OPENCLAW_IMAGE=openclaw:latestOPENCLAW_GATEWAY_TOKEN=OPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_PORT=18789 OPENCLAW_CONFIG_DIR=/home/$USER/.openclawOPENCLAW_WORKSPACE_DIR=/home/$USER/.openclaw/workspace GOG_KEYRING_PASSWORD=XDG_CONFIG_HOME=/home/node/.openclaw

    Stel OPENCLAW_GATEWAY_TOKEN in om het stabiele Gateway-token te beheren via .env; configureer anders gateway.auth.token voordat je erop vertrouwt dat clients na herstarts verbonden kunnen worden. Als geen van beide is ingesteld, gebruikt OpenClaw voor die opstart een token dat alleen tijdens runtime bestaat. Genereer een sleutelringwachtwoord voor GOG_KEYRING_PASSWORD:

    bash
    openssl rand -hex 32

    Commit dit bestand niet. Het bevat omgevingsvariabelen voor de container/runtime, zoals OPENCLAW_GATEWAY_TOKEN. Opgeslagen OAuth-/API-sleutelauthenticatie voor providers staat in de aangekoppelde ~/.openclaw/agents/<agentId>/agent/auth-profiles.json.

  • Docker Compose-configuratie

    Maak of werk docker-compose.yml bij:

    yaml
    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:      # Aanbevolen: houd de Gateway op de VM beperkt tot de loopback-interface; gebruik een SSH-tunnel voor toegang.      # Verwijder het voorvoegsel `127.0.0.1:` en pas de firewall dienovereenkomstig aan om deze openbaar toegankelijk te maken.      - "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-unconfigured is uitsluitend bedoeld voor gemak tijdens het opstarten en is geen vervanging voor een echte Gateway-configuratie. Stel nog steeds authenticatie (gateway.auth.token of een wachtwoord) en een veilige bindmodus voor je implementatie in.

  • Gedeelde runtimestappen voor Docker-VM's

    Volg de gedeelde runtimehandleiding voor de algemene Docker-hostprocedure:

  • GCP-specifieke opmerkingen voor het starten

    Als de build tijdens pnpm install --frozen-lockfile mislukt met Killed of exit code 137, heeft de VM onvoldoende geheugen. Gebruik minimaal e2-small, of e2-medium voor betrouwbaardere eerste builds.

    Als je aan LAN bindt (OPENCLAW_GATEWAY_BIND=lan), configureer je een vertrouwde browseroorsprong voordat je doorgaat:

    bash
    docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:18789"]' --strict-json

    Vervang 18789 door je geconfigureerde poort als je deze hebt gewijzigd.

  • Toegang vanaf je laptop

    Maak een SSH-tunnel om de Gateway-poort door te sturen:

    bash
    gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789

    Open http://127.0.0.1:18789/ in je browser.

    Geef opnieuw een schone dashboardlink weer:

    bash
    docker compose run --rm openclaw-cli dashboard --no-open

    Als de UI om authenticatie met een gedeeld geheim vraagt, plak je het geconfigureerde token of wachtwoord in de instellingen van de Control UI (deze Docker-procedure schrijft standaard een token; gebruik in plaats daarvan je geconfigureerde wachtwoord als je bent overgeschakeld op wachtwoordauthenticatie).

    Als de Control UI unauthorized of disconnected (1008): pairing required toont, keur je het browserapparaat goed:

    bash
    docker compose run --rm openclaw-cli devices listdocker compose run --rm openclaw-cli devices approve <requestId>

    Zie Docker-VM-runtime voor het gedeelde overzicht van permanente opslag en de updateprocedure.

  • Problemen oplossen

    SSH-verbinding geweigerd

    Het doorgeven van SSH-sleutels kan na het maken van de VM 1-2 minuten duren. Wacht en probeer het opnieuw.

    Problemen met OS Login

    Controleer je OS Login-profiel:

    bash
    gcloud compute os-login describe-profile

    Zorg dat je account de vereiste IAM-machtigingen heeft (Compute OS Login of Compute OS Admin Login).

    Onvoldoende geheugen (OOM)

    Als de Docker-build mislukt met Killed en exit code 137, is de VM vanwege OOM beëindigd:

    bash
    # Stop eerst de VMgcloud compute instances stop openclaw-gateway --zone=us-central1-a # Wijzig het machinetypegcloud compute instances set-machine-type openclaw-gateway \  --zone=us-central1-a \  --machine-type=e2-small # Start de VMgcloud compute instances start openclaw-gateway --zone=us-central1-a

    Serviceaccounts (best practice voor beveiliging)

    Voor persoonlijk gebruik werkt je standaardgebruikersaccount prima. Maak voor automatisering of CI/CD een speciaal serviceaccount met minimale machtigingen:

    bash
    gcloud iam service-accounts create openclaw-deploy \  --display-name="OpenClaw Deployment" gcloud projects add-iam-policy-binding my-openclaw-project \  --member="serviceAccount:openclaw-deploy@my-openclaw-project.iam.gserviceaccount.com" \  --role="roles/compute.instanceAdmin.v1"

    Vermijd de rol Owner voor automatisering; gebruik de meest beperkte rol die werkt. Zie Inzicht in rollen.

    Volgende stappen

    Gerelateerd

    Was this useful?
    On this page

    On this page