Hosting
Hetzner
Ejecute un Gateway de OpenClaw persistente en un VPS de Hetzner mediante Docker, con estado duradero, binarios integrados en la imagen y un comportamiento de reinicio seguro.
Los precios de Hetzner cambian; elija el VPS Debian/Ubuntu más pequeño que se ajuste a sus necesidades y amplíelo si se producen errores por falta de memoria.
Se puede acceder al Gateway mediante el reenvío de puertos SSH desde su portátil o mediante la exposición directa del puerto si gestiona por su cuenta el cortafuegos y los tokens.
Recordatorio del modelo de seguridad:
- Los agentes compartidos por la empresa son adecuados cuando todos se encuentran dentro del mismo límite de confianza y el entorno de ejecución se usa exclusivamente para fines empresariales.
- Mantenga una separación estricta: VPS/entorno de ejecución dedicado y cuentas dedicadas; no use perfiles personales de Apple, Google, navegador ni gestor de contraseñas en ese host.
- Si los usuarios pueden actuar de forma hostil entre sí, sepárelos por gateway/host/usuario del sistema operativo.
Consulte Seguridad y Alojamiento en VPS.
Esta guía presupone que se usa Ubuntu o Debian en Hetzner. En otro VPS Linux, adapte los paquetes según corresponda. Para consultar el flujo genérico de Docker, consulte Docker.
Requisitos
- VPS de Hetzner con acceso root
- Acceso SSH desde su portátil
- 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)
- ~20 minutos
Ruta rápida
- Aprovisionar el VPS de Hetzner
- Instalar Docker
- Clonar el repositorio de OpenClaw
- Crear directorios persistentes en el host
- Configurar
.envydocker-compose.yml - Integrar los binarios necesarios en la imagen
docker compose up -d- Verificar la persistencia y el acceso al Gateway
Aprovisionar el VPS
Cree un VPS con Ubuntu o Debian en Hetzner y conéctese como root:
ssh root@YOUR_VPS_IPTrate el VPS como infraestructura con estado, no como infraestructura desechable.
Instalar Docker (en el VPS)
apt-get updateapt-get install -y git curl ca-certificatescurl -fsSL https://get.docker.com | shVerifique la instalación:
docker --versiondocker compose versionClonar el repositorio de OpenClaw
git clone https://github.com/openclaw/openclaw.gitcd openclawEsta guía compila una imagen personalizada para que los binarios integrados en ella sobrevivan a los reinicios.
Crear directorios persistentes en el host
Los contenedores de Docker son efímeros; todo el estado de larga duración debe residir en el host.
mkdir -p /root/.openclaw/workspace # Establezca como propietario al usuario del contenedor (uid 1000):chown -R 1000:1000 /root/.openclawConfigurar las variables de entorno
Cree .env en la raíz del repositorio:
OPENCLAW_IMAGE=openclaw:latestOPENCLAW_GATEWAY_TOKEN=OPENCLAW_GATEWAY_BIND=lanOPENCLAW_GATEWAY_PORT=18789 OPENCLAW_CONFIG_DIR=/root/.openclawOPENCLAW_WORKSPACE_DIR=/root/.openclaw/workspace GOG_KEYRING_PASSWORD=XDG_CONFIG_HOME=/home/node/.openclawConfigure OPENCLAW_GATEWAY_TOKEN para gestionar el token estable del gateway mediante
.env; de lo contrario, configure gateway.auth.token antes de depender de clientes
entre reinicios. Si no se configura ninguno, OpenClaw utiliza un token exclusivo del entorno de ejecución para
ese inicio. Genere una contraseña para el almacén de claves de GOG_KEYRING_PASSWORD:
openssl rand -hex 32No confirme este archivo en el repositorio. Contiene variables de entorno del contenedor/entorno de ejecución, como
OPENCLAW_GATEWAY_TOKEN. La autenticación almacenada mediante OAuth/claves de API de proveedores reside en el
~/.openclaw/agents/<agentId>/agent/auth-profiles.json montado.
Configuración de Docker Compose
Cree o actualice docker-compose.yml:
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: # Recomendación: mantenga el Gateway limitado a la interfaz de bucle invertido en el VPS; acceda mediante un túnel SSH. # Para exponerlo públicamente, elimine el prefijo `127.0.0.1:` y configure el cortafuegos según corresponda. - "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 solo facilita el arranque inicial; no sustituye una configuración real del gateway. Configure de todos modos la autenticación (gateway.auth.token o contraseña) y un modo de enlace seguro para su despliegue.
Pasos compartidos del entorno de ejecución de la máquina virtual Docker
Siga la guía compartida del entorno de ejecución para el flujo común del host Docker:
Acceso específico de Hetzner
Después de realizar los pasos compartidos de compilación e inicio, abra el túnel.
Requisito previo: asegúrese de que la configuración de sshd del VPS permita el reenvío TCP. Si
reforzó la configuración de SSH, compruebe /etc/ssh/sshd_config y establezca:
AllowTcpForwarding locallocal permite los reenvíos locales de ssh -L desde su portátil, al tiempo que bloquea
los reenvíos remotos desde el servidor. Si se establece en no, el túnel falla con:
channel 3: open failed: administratively prohibited: open failed
Después de confirmar que el reenvío TCP está habilitado, reinicie el servicio SSH
(systemctl restart ssh) y ejecute el túnel desde su portátil:
ssh -N -L 18789:127.0.0.1:18789 root@YOUR_VPS_IPAbra http://127.0.0.1:18789/ y pegue el secreto compartido configurado.
Esta guía utiliza de forma predeterminada el token del gateway; si cambió a la autenticación mediante contraseña,
use en su lugar la contraseña configurada.
El mapa de persistencia compartido se encuentra en Entorno de ejecución de máquina virtual Docker.
Infraestructura como código (Terraform)
Para los equipos que prefieren flujos de trabajo de infraestructura como código, una configuración de Terraform mantenida por la comunidad proporciona:
- Configuración modular de Terraform con gestión remota del estado
- Aprovisionamiento automatizado mediante cloud-init
- Scripts de despliegue (arranque inicial, despliegue, copia de seguridad/restauración)
- Refuerzo de seguridad (cortafuegos, UFW, acceso exclusivo mediante SSH)
- Configuración del túnel SSH para acceder al gateway
Repositorios:
- Infraestructura: openclaw-terraform-hetzner
- Configuración de Docker: openclaw-docker-config
Este enfoque complementa la configuración de Docker anterior con despliegues reproducibles, infraestructura controlada por versiones y recuperación automatizada ante desastres.
Pasos siguientes
- Configurar canales de mensajería: Canales
- Configurar el Gateway: Configuración del Gateway
- Mantener OpenClaw actualizado: Actualización