Skip to main content

OpenClaw en Hetzner (Docker, Guía de VPS en producción)

Objetivo

Ejecutar un Gateway persistente de OpenClaw en un VPS de Hetzner usando Docker, con estado duradero, binarios integrados y comportamiento de reinicio seguro. Si desea “OpenClaw 24/7 por ~$5”, esta es la configuración confiable más sencilla. Los precios de Hetzner cambian; elija el VPS más pequeño de Debian/Ubuntu y escale si encuentra OOMs.

¿Qué estamos haciendo (en términos simples)?

  • Alquilar un pequeño servidor Linux (VPS de Hetzner)
  • Instalar Docker (runtime de aplicaciones aislado)
  • Iniciar el Gateway de OpenClaw en Docker
  • Persistir ~/.openclaw + ~/.openclaw/workspace en el host (sobrevive reinicios/reconstrucciones)
  • Acceder a la IU 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 mismo gestiona el firewall y los tokens
Esta guía asume Ubuntu o Debian en Hetzner.
Si está en otro VPS Linux, ajuste los paquetes según corresponda. Para el flujo genérico de Docker, consulte Docker.

Ruta rápida (operadores con experiencia)

  1. Aprovisionar VPS de Hetzner
  2. Instalar Docker
  3. Clonar el repositorio de OpenClaw
  4. Crear directorios persistentes en el host
  5. Configurar .env y docker-compose.yml
  6. Integrar los binarios requeridos en la imagen
  7. docker compose up -d
  8. Verificar la persistencia y el acceso al Gateway

Lo que necesita

  • VPS de Hetzner con acceso root
  • Acceso SSH desde su laptop
  • Comodidad básica con SSH + copiar/pegar
  • ~20 minutos
  • Docker y Docker Compose
  • Credenciales de autenticación del modelo
  • Credenciales opcionales de proveedores
    • QR de WhatsApp
    • Token de bot de Telegram
    • OAuth de Gmail

1. Aprovisionar el VPS

Cree un VPS Ubuntu o Debian en Hetzner. Conéctese como root:
Esta guía asume que el VPS es con estado. No lo trate como infraestructura desechable.

2. Instalar Docker (en el VPS)

Verifique:

3. Clonar el repositorio de OpenClaw

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

4. Crear directorios persistentes en el host

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

5. Configurar variables de entorno

Cree .env en la raíz del repositorio.
Genere secretos fuertes:
No haga commit de este archivo.

6. Configuración de Docker Compose

Cree o actualice docker-compose.yml.
--allow-unconfigured es solo para comodidad durante el arranque inicial; no sustituye una configuración adecuada del gateway. Aun así, configura la autenticación (gateway.auth.token o contraseña) y utiliza ajustes de bind seguros para tu despliegue.

7. 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 construcción de 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
Ejemplo de Dockerfile

8. Construir y lanzar

Verificar binarios:
Salida esperada:

9. Verificar el Gateway

Éxito:
Desde su laptop:
Abra: 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 reinicios, reconstrucciones y reinicios del sistema.

Infraestructura como Código (Terraform)

Para equipos que prefieren flujos de trabajo de infraestructura como código, una configuración de Terraform mantenida por la comunidad ofrece:
  • Configuración modular de Terraform con gestión de estado remoto
  • Aprovisionamiento automatizado mediante cloud-init
  • Scripts de despliegue (bootstrap, deploy, backup/restore)
  • Refuerzo de seguridad (firewall, UFW, acceso solo por SSH)
  • Configuración de túnel SSH para acceso al gateway
Repositorios: Este enfoque complementa la configuración de Docker anterior con despliegues reproducibles, infraestructura versionada y recuperación ante desastres automatizada.
Nota: Mantenido por la comunidad. Para problemas o contribuciones, consulta los enlaces de los repositorios anteriores.