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/workspaceen el host (sobrevive reinicios/reconstrucciones) - Acceder a la IU de Control desde su laptop mediante un túnel SSH
- Reenvío de puertos SSH desde su laptop
- Exposición directa de puertos si usted mismo gestiona el firewall y los tokens
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)
- Aprovisionar VPS de Hetzner
- Instalar Docker
- Clonar el repositorio de OpenClaw
- Crear directorios persistentes en el host
- Configurar
.envydocker-compose.yml - Integrar los binarios requeridos en la imagen
docker compose up -d- 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:2. Instalar Docker (en el VPS)
3. Clonar el repositorio de OpenClaw
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.
6. Configuración de Docker Compose
Cree o actualicedocker-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:gogpara acceso a Gmailgoplacespara Google Placeswaclipara WhatsApp
- Actualizar el Dockerfile
- Reconstruir la imagen
- Reiniciar los contenedores
8. Construir y lanzar
9. Verificar el Gateway
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.| Componente | Ubicación | Mecanismo de persistencia | Notas |
|---|---|---|---|
| Configuración del Gateway | /home/node/.openclaw/ | Montaje de volumen del host | Incluye openclaw.json, tokens |
| Perfiles de autenticación del modelo | /home/node/.openclaw/ | Montaje de volumen del host | Tokens OAuth, claves de API |
| Configuraciones de Skills | /home/node/.openclaw/skills/ | Montaje de volumen del host | Estado a nivel de Skill |
| Espacio de trabajo del agente | /home/node/.openclaw/workspace/ | Montaje de volumen del host | Código y artefactos del agente |
| Sesión de WhatsApp | /home/node/.openclaw/ | Montaje de volumen del host | Conserva el inicio de sesión por QR |
| Llavero de Gmail | /home/node/.openclaw/ | Volumen del host + contraseña | Requiere GOG_KEYRING_PASSWORD |
| Binarios externos | /usr/local/bin/ | Imagen Docker | Debe ser horneado en tiempo de construcción |
| Runtime de Node | Sistema de archivos del contenedor | Imagen Docker | Se reconstruye en cada build |
| Paquetes del SO | Sistema de archivos del contenedor | Imagen Docker | No instalar en tiempo de ejecución |
| Contenedor Docker | Efímero | Reiniciable | Seguro de destruir |
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
- Infraestructura: openclaw-terraform-hetzner
- Configuración Docker: openclaw-docker-config
Nota: Mantenido por la comunidad. Para problemas o contribuciones, consulta los enlaces de los repositorios anteriores.