Guía paso a paso: OpenClaw directo en Ubuntu
1) Entrar al VPS
Desde tu PC:
2) Actualizar Ubuntu
apt -y install curl ca-certificates gnupg
3) Instalar Node.js
apt install -y nodejs
Verificar:
npm -v
4) Instalar OpenClaw
Usa el instalador oficial:
Recargar el shell:
hash -r
Verificar:
5) Ejecutar configuración inicial
Durante el asistente:
-
acepta generar token del gateway
-
elige runtime:
Node -
deja que cree el servicio
Al final te debería dejar instalado algo como:
y además actualizar:
6) Corregir la configuración para modo local
Este paso fue clave.
Crear o reemplazar este archivo:
cat > ~/.openclaw/openclaw.json <<'EOF'
{
"gateway": {
"mode": "local",
"bind": "loopback",
"port": 18789
},
"agents": {
"defaults": {
"model": {
"primary": "google/gemini-1.5-flash"
}
}
}
}
EOF
Qué hace esto
-
mode: localevita el bloqueo de arranque -
bind: loopbackdeja OpenClaw escuchando solo en127.0.0.1 -
port: 18789deja el panel en el puerto correcto
7) Iniciar o reiniciar el gateway
Primero habilitar linger para root:
Luego recargar systemd user:
Si estaba trabado, detener:
Luego iniciar servicio:
Verificar estado:
8) Confirmar que OpenClaw está escuchando
Deberías ver algo similar a:
9) Confirmar que responde en el VPS
Si está bien, responde algo como:
10) Obtener la URL correcta del panel con token
Te entregará algo como:
Guarda ese token.
11) Crear el túnel SSH desde tu PC
En tu computador, no en el VPS:
Déjalo abierto.
12) Abrir el panel en tu navegador local
En tu PC, abrir:
Con eso llegas al panel como en tu captura.
Comandos de verificación útiles
Ver si el gateway está corriendo
Ver si escucha en el puerto
Verificar panel desde el VPS
Regenerar URL con token
Detener gateway
Reiniciar gateway
Errores que evitamos con esta forma
1. No usar Dockploy para OpenClaw
Te complicó:
-
puertos
-
bridge Docker
-
config faltante
-
permisos
-
bind incorrecto
2. No exponer 18789 públicamente
OpenClaw quedó mejor y más seguro en:
3. No depender de --allow-unconfigured
Sirve para prueba, pero no para dejarlo bien.
4. Dejar gateway.mode=local
Ese fue el ajuste clave para que realmente partiera.
Estructura final que te quedó funcionando
En el VPS
-
OpenClaw instalado directo
-
servicio systemd user
-
panel escuchando en:
127.0.0.1:18789
En tu PC
-
túnel SSH:
localhost:18789 -> VPS 127.0.0.1:18789
Acceso final
-
navegador:
http://localhost:18789/#token=...