GCP
OpenClaw en GCP Compute Engine (Docker, Guía de VPS de Producción)
Sección titulada «OpenClaw en GCP Compute Engine (Docker, Guía de VPS de Producción)»Objetivo
Sección titulada «Objetivo»Ejecutar un OpenClaw Gateway persistente en una VM de GCP Compute Engine usando Docker, con estado duradero, binarios integrados y un comportamiento de reinicio seguro.
Si quieres “OpenClaw 24/7 por ~$5-12/mes”, esta es una configuración confiable en Google Cloud. Los precios varían según el tipo de máquina y la región; elige la VM más pequeña que se ajuste a tu carga de trabajo y escala si encuentras errores de falta de memoria (OOMs).
¿Qué estamos haciendo (términos simples)?
Sección titulada «¿Qué estamos haciendo (términos simples)?»- Crear un proyecto de GCP y habilitar la facturación
- Crear una VM de Compute Engine
- Instalar Docker (entorno de ejecución de aplicaciones aislado)
- Iniciar el OpenClaw Gateway en Docker
- Persistir
~/.openclaw+~/.openclaw/workspaceen el host (sobrevive a reinicios/reconstrucciones) - Acceder a la interfaz de control (Control UI) desde tu portátil mediante un túnel SSH
Se puede acceder al Gateway a través de:
- Redirección de puertos SSH desde tu portátil
- Exposición directa de puertos si gestionas el firewall y los tokens por tu cuenta
Esta guía utiliza Debian en GCP Compute Engine. Ubuntu también funciona; mapea los paquetes en consecuencia. Para el flujo genérico de Docker, consulta Docker.
Camino rápido (operadores experimentados)
Sección titulada «Camino rápido (operadores experimentados)»- Crear proyecto de GCP + habilitar API de Compute Engine
- Crear VM de Compute Engine (e2-small, Debian 12, 20GB)
- Entrar por SSH en la VM
- Instalar Docker
- Clonar el repositorio de OpenClaw
- Crear directorios persistentes en el host
- Configurar
.envydocker-compose.yml - Integrar los binarios necesarios, construir e iniciar
Lo que necesitas
Sección titulada «Lo que necesitas»- Cuenta de GCP (nivel gratuito elegible para e2-micro)
- gcloud CLI instalado (o usar Cloud Console)
- Acceso SSH desde tu portátil
- Conocimientos básicos de SSH + copiar/pegar
- ~20-30 minutos
- Docker y Docker Compose
- Credenciales de autenticación del modelo
- Credenciales de proveedor opcionales
- Código QR de WhatsApp
- Token de bot de Telegram
- Gmail OAuth
Instalar gcloud CLI (o usar la consola)
Opción A: gcloud CLI (recomendado para automatización)
Instalar desde https://cloud.google.com/sdk/docs/install
Inicializar y autenticar:
Ventana de terminal gcloud initgcloud auth loginOpción B: Cloud Console
Todos los pasos se pueden hacer a través de la interfaz web en https://console.cloud.google.com
Crear un proyecto de GCP
CLI:
Ventana de terminal gcloud projects create my-openclaw-project --name="OpenClaw Gateway"gcloud config set project my-openclaw-projectActiva la facturación en https://console.cloud.google.com/billing (obligatorio para Compute Engine).
Habilita la API de Compute Engine:
Ventana de terminal gcloud services enable compute.googleapis.comConsola:
- Ve a IAM y administración > Crear proyecto
- Nómbralo y créalo
- Activa la facturación para el proyecto
- Navega a API y servicios > Habilitar API > busca “Compute Engine API” > Habilitar
Crear la VM
Tipos de máquina:
Tipo Especificaciones Costo Notas e2-medium 2 vCPU, 4GB RAM ~$25/mes Más fiable para compilaciones locales de Docker e2-small 2 vCPU, 2GB RAM ~$12/mes Mínimo recomendado para la compilación de Docker e2-micro 2 vCPU (compartido), 1GB RAM Elegible para capa gratuita A menudo falla con compilación Docker OOM (salida 137) CLI:
Ventana 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-cloudConsola:
- Ve a Compute Engine > Instancias de VM > Crear instancia
- Nombre:
openclaw-gateway - Región:
us-central1, Zona:us-central1-a - Tipo de máquina:
e2-small - Disco de arranque: Debian 12, 20GB
- Crear
SSH a la VM
CLI:
Ventana de terminal gcloud compute ssh openclaw-gateway --zone=us-central1-aConsola:
Haz clic en el botón “SSH” junto a tu VM en el panel de Compute Engine.
Nota: La propagación de la clave SSH puede tardar 1-2 minutos después de la creación de la VM. Si se rechaza la conexión, espera y vuelve a intentar.
Instalar Docker (en la VM)
Ventana de terminal sudo apt-get updatesudo apt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | sudo shsudo usermod -aG docker $USERCierra sesión y vuelve a entrar para que el cambio de grupo surta efecto:
Ventana de terminal exitLuego vuelve a entrar por SSH:
Ventana de terminal gcloud compute ssh openclaw-gateway --zone=us-central1-aVerificar:
Ventana de terminal docker --versiondocker compose versionClonar el repositorio de OpenClaw
Ventana de terminal git clone https://github.com/openclaw/openclaw.gitcd openclawEsta guía asume que construirás una imagen personalizada para garantizar la persistencia de los binarios.
Crear directorios persistentes del host
Los contenedores Docker son efímeros. Todo el estado de larga duración debe residir en el host.
Ventana de terminal mkdir -p ~/.openclawmkdir -p ~/.openclaw/workspaceConfigurar variables de entorno
Crea
.enven la raíz del repositorio.Ventana 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/.openclawGenera secretos seguros:
Ventana de terminal openssl rand -hex 32No confirmes este archivo.
Configuración de Docker Compose
Crea o actualiza
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-unconfiguredes solo por conveniencia de inicio, no es un reemplazo para una configuración adecuada de la puerta de enlace. Aún así, establece la autenticación (gateway.auth.tokeno contraseña) y usa configuraciones de enlace seguras para tu implementación.Pasos de tiempo de ejecución compartidos de VM Docker
Usa la guía de tiempo de ejecución compartido para el flujo común de host Docker:
Notas de inicio específicas de GCP
En GCP, si la compilación falla con
Killedoexit code 137durantepnpm install --frozen-lockfile, la VM se ha quedado sin memoria. Usee2-smallcomo mínimo, oe2-mediumpara compilaciones iniciales más confiables.Al vincularse a la LAN (
OPENCLAW_GATEWAY_BIND=lan), configure un origen de navegador confiable antes de continuar:Ventana de terminal docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins '["http://127.0.0.1:18789"]' --strict-jsonSi cambió el puerto de la puerta de enlace, reemplace
18789con su puerto configurado.Acceso desde su portátil
Cree un túnel SSH para reenviar el puerto de la puerta de enlace:
Ventana de terminal gcloud compute ssh openclaw-gateway --zone=us-central1-a -- -L 18789:127.0.0.1:18789Abra en su navegador:
http://127.0.0.1:18789/Obtenga un enlace nuevo de panel tokenizado:
Ventana de terminal docker compose run --rm openclaw-cli dashboard --no-openPegue el token de esa URL.
Si la interfaz de usuario de control muestra
unauthorizedodisconnected (1008): pairing required, apruebe el dispositivo del navegador:Ventana de terminal docker compose run --rm openclaw-cli devices listdocker compose run --rm openclaw-cli devices approve¿Necesita nuevamente la referencia de persistencia compartida y actualización?Vea [Tiempo de ejecución de VM Docker](/en/install/docker-vm-runtime#what-persists-where) y [Actualizaciones del tiempo de ejecución de VM Docker](/en/install/docker-vm-runtime#updates).
Solución de problemas
Sección titulada «Solución de problemas»Conexión SSH rechazada
La propagación de la clave SSH puede tardar 1-2 minutos después de la creación de la VM. Espere y vuelva a intentarlo.
Problemas de inicio de sesión del SO
Verifique su perfil de inicio de sesión del SO:
gcloud compute os-login describe-profileAsegúrese de que su cuenta tenga los permisos IAM necesarios (Compute OS Login o Compute OS Admin Login).
Sin memoria (OOM)
Si la compilación de Docker falla con Killed y exit code 137, la VM fue terminada por falta de memoria. Actualice a e2-small (mínimo) o e2-medium (recomendado para compilaciones locales confiables):
# 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-aCuentas de servicio (mejor práctica de seguridad)
Sección titulada «Cuentas de servicio (mejor práctica de seguridad)»Para uso personal, su cuenta de usuario predeterminada funciona bien.
Para automatización o canalizaciones de CI/CD, cree una cuenta de servicio dedicada con permisos mínimos:
-
Crear una cuenta de servicio:
Ventana de terminal gcloud iam service-accounts create openclaw-deploy \--display-name="OpenClaw Deployment" -
Otorgue el rol de administrador de instancia de Compute (o un rol personalizado más limitado):
Ventana de terminal gcloud projects add-iam-policy-binding my-openclaw-project \--role="roles/compute.instanceAdmin.v1"
Evite usar el rol de propietario para la automatización. Utilice el principio de menor privilegio.
Consulte https://cloud.google.com/iam/docs/understanding-roles para obtener detalles sobre los roles de IAM.
Siguientes pasos
Sección titulada «Siguientes pasos»- Configurar canales de mensajería: Canales
- Emparejar dispositivos locales como nodos: Nodos
- Configurar el Gateway: Configuración del Gateway