Skip to main content

OpenClaw en GCP Compute Engine (Docker, Guía de VPS en producción)

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 quiere “OpenClaw 24/7 por ~$5–12/mes”, esta es una configuración confiable en Google Cloud. El precio varía según el tipo de máquina y la región; elija la VM más pequeña que se ajuste a su carga de trabajo y escale si encuentra OOM.

¿Qué estamos haciendo (en 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/workspace en el host (sobrevive reinicios/reconstrucciones)
  • Acceder a la UI de Control desde su laptop mediante un túnel SSH
Se puede acceder al Gateway mediante:
  • Reenvío de puertos SSH desde su laptop
  • Exposición directa de puertos si usted gestiona el firewall y los tokens por su cuenta
Esta guía usa Debian en GCP Compute Engine. Ubuntu también funciona; mapee los paquetes según corresponda. Para el flujo genérico de Docker, vea Docker.

Ruta rápida (operadores con experiencia)

  1. Crear proyecto de GCP + habilitar la API de Compute Engine
  2. Crear VM de Compute Engine (e2-small, Debian 12, 20GB)
  3. Conectarse por SSH a la VM
  4. Instalar Docker
  5. Clonar el repositorio de OpenClaw
  6. Crear directorios persistentes en el host
  7. Configurar .env y docker-compose.yml
  8. Integrar los binarios requeridos, compilar y lanzar

Lo que necesita

  • Cuenta de GCP (elegible para el nivel gratuito con e2-micro)
  • CLI de gcloud instalada (o usar Cloud Console)
  • Acceso SSH desde su laptop
  • Comodidad básica con SSH + copiar/pegar
  • ~20–30 minutos
  • Docker y Docker Compose
  • Credenciales de autenticación del modelo
  • Credenciales opcionales de proveedores
    • Código QR de WhatsApp
    • Token de bot de Telegram
    • OAuth de Gmail

1. Instalar la CLI de gcloud (o usar la Consola)

Opción A: CLI de gcloud (recomendado para automatización) Instale desde https://cloud.google.com/sdk/docs/install Inicialice y autentique:
Opción B: Cloud Console Todos los pasos se pueden realizar mediante la UI web en https://console.cloud.google.com

2. Crear un proyecto de GCP

CLI:
Habilite la facturación en https://console.cloud.google.com/billing (requerido para Compute Engine). Habilite la API de Compute Engine:
Consola:
  1. Vaya a IAM y administración > Crear proyecto
  2. Asígnele un nombre y créelo
  3. Habilite la facturación para el proyecto
  4. Navegue a APIs y servicios > Habilitar APIs > busque “Compute Engine API” > Habilitar

3. Crear la VM

Tipos de máquina: CLI:
Consola:
  1. Vaya a Compute Engine > Instancias de VM > Crear instancia
  2. Nombre: openclaw-gateway
  3. Región: us-central1, Zona: us-central1-a
  4. Tipo de máquina: e2-small
  5. Disco de arranque: Debian 12, 20GB
  6. Crear

4. Conectarse por SSH a la VM

CLI:
Consola: Haga clic en el botón “SSH” junto a su VM en el panel de Compute Engine. Nota: La propagación de claves SSH puede tardar 1–2 minutos después de crear la VM. Si la conexión es rechazada, espere y reintente.

5. Instalar Docker (en la VM)

Cierre sesión y vuelva a iniciarla para que el cambio de grupo tenga efecto:
Luego conéctese por SSH nuevamente:
Verifique:

6. Clonar el repositorio de OpenClaw

Esta guía asume que usted compilará una imagen personalizada para garantizar la persistencia de los binarios.

7. Crear directorios persistentes en el host

Los contenedores Docker son efímeros. Todo el estado de larga duración debe vivir en el host.

8. Configurar variables de entorno

Cree .env en la raíz del repositorio.
Genere secretos fuertes:
No confirme este archivo en el repositorio.

9. Configuración de Docker Compose

Cree o actualice docker-compose.yml.

10. Integrar los binarios requeridos en la imagen (crítico)

Instalar binarios dentro de un contenedor en ejecución es una trampa. Cualquier cosa instalada en tiempo de ejecución se perderá al reiniciar. Todos los binarios externos requeridos por las skills deben instalarse en el momento de compilar la imagen. Los ejemplos a continuación muestran solo tres binarios comunes:
  • gog para acceso a Gmail
  • goplaces para Google Places
  • wacli para WhatsApp
Estos son ejemplos, no una lista completa. Puede instalar tantos binarios como necesite usando el mismo patrón. Si agrega nuevas skills más adelante que dependan de binarios adicionales, debe:
  1. Actualizar el Dockerfile
  2. Reconstruir la imagen
  3. Reiniciar los contenedores
Dockerfile de ejemplo

11. Compilar y lanzar

Verifique los binarios:
Salida esperada:

12. Verificar el Gateway

Éxito:

13. Acceder desde su laptop

Cree un túnel SSH para reenviar el puerto del Gateway:
Abra en su navegador: http://127.0.0.1:18789/ Pegue su token del gateway.

Qué persiste y dónde (fuente de la verdad)

OpenClaw se ejecuta en Docker, pero Docker no es la fuente de la verdad. Todo el estado de larga duración debe sobrevivir a reinicios, reconstrucciones y reinicios del sistema.

Actualizaciones

Para actualizar OpenClaw en la VM:

Solución de problemas

Conexión SSH rechazada La propagación de claves SSH puede tardar 1–2 minutos después de crear la VM. Espere y reintente. Problemas de OS Login Revise su perfil de OS Login:
Asegúrese de que su cuenta tenga los permisos de IAM requeridos (Compute OS Login o Compute OS Admin Login). Falta de memoria (OOM) Si usa e2-micro y encuentra OOM, actualice a e2-small o e2-medium:

Cuentas de servicio (mejor práctica de seguridad)

Para uso personal, su cuenta de usuario predeterminada funciona bien. Para automatización o pipelines de CI/CD, cree una cuenta de servicio dedicada con permisos mínimos:
  1. Cree una cuenta de servicio:
  2. Otorgue el rol de Administrador de instancias de Compute (o un rol personalizado más restrictivo):
Evite usar el rol Owner para automatización. Use el principio de mínimo privilegio. Vea https://cloud.google.com/iam/docs/understanding-roles para detalles sobre roles de IAM.

Siguientes pasos