OpenClaw no responde en VPS de Hostinger: cómo solucionamos un problema de puertos con Docker
Instalar OpenClaw en un VPS puede parecer sencillo, pero cuando el gateway deja de responder, encontrar la causa puede tomar horas.
Esto fue exactamente lo que nos ocurrió al desplegar OpenClaw (antes Moltbot / Clawdbot) en un VPS de Hostinger usando Docker.
El contenedor funcionaba perfectamente, Docker mostraba el puerto publicado y sin embargo el servicio no era accesible desde fuera del servidor.
Después de revisar contenedores, redes y configuración del VPS, finalmente encontramos la causa: el firewall del sistema estaba bloqueando el puerto.
En este artículo explico todo el proceso de diagnóstico y la solución paso a paso.
El problema: OpenClaw funciona pero el puerto no responde
Después de instalar OpenClaw, verificamos que el contenedor estuviera corriendo.
docker ps
El resultado mostraba algo como esto:
ghcr.io/hostinger/hvps-openclaw:latest
0.0.0.0:59646->59646/tcp
Esto significa que el puerto 59646 del contenedor está expuesto en el VPS.
En teoría, deberíamos poder acceder desde cualquier navegador usando:
http://IP_DEL_SERVIDOR:59646
Pero el servicio simplemente no respondía.
No había error claro.
El navegador quedaba esperando conexión.
Paso 1: verificar que Docker esté funcionando
Lo primero fue confirmar que Docker realmente estuviera exponiendo el puerto.
docker ps
El contenedor estaba activo y el puerto correctamente mapeado.
Luego probamos acceder al servicio desde dentro del propio servidor:
curl localhost:59646
Aquí apareció una pista importante.
El servicio sí respondía internamente.
Esto significa que:
- OpenClaw estaba funcionando
- el contenedor estaba activo
- el puerto estaba abierto dentro del VPS
Por lo tanto, Docker no era el problema.
Paso 2: verificar si Hostinger bloquea el puerto
El siguiente sospechoso era el proveedor del VPS.
Algunos proveedores bloquean puertos específicos o requieren reglas adicionales.
Probamos:
- usar diferentes puertos
- revisar la documentación de Hostinger
- reiniciar el contenedor
Nada cambió.
El puerto seguía inaccesible desde el exterior.
Paso 3: revisar el firewall del VPS (la causa real)
Finalmente revisamos el firewall del sistema.
En muchos VPS con Ubuntu está activo UFW (Uncomplicated Firewall).
Primero verificamos su estado:
sudo ufw status
Ahí apareció el problema.
El puerto 59646 no estaba permitido.
Esto significa que Docker estaba exponiendo el puerto, pero el firewall del sistema bloqueaba el tráfico externo.
La solución: abrir el puerto en UFW
La solución fue abrir el puerto manualmente en el firewall.
sudo ufw allow 59646/tcp
sudo ufw reload
Después verificamos nuevamente:
sudo ufw status
El puerto ya aparecía como permitido.
Ahora el gateway de OpenClaw sí respondía al acceder desde el navegador:
http://IP_DEL_SERVIDOR:59646
Arquitectura final: Telegram para interacción y WhatsApp para notificaciones
Durante el proceso también tomamos una decisión importante sobre la arquitectura del sistema.
Inicialmente queríamos usar WhatsApp como canal principal de interacción con OpenClaw.
Sin embargo, la integración de WhatsApp puede ser más compleja debido a:
- gateways externos
- configuraciones adicionales
- restricciones de APIs
Por eso decidimos dividir los roles.
Telegram: interacción directa con OpenClaw
Telegram funciona como el canal principal para interactuar con el agente.
Ventajas:
- API abierta
- bots fáciles de configurar
- interacción rápida con el sistema
Esto permite consultas diarias y acceso directo a información.
WhatsApp: notificaciones y gestión
WhatsApp quedó como canal para:
- notificaciones
- avisos del curso
- recordatorios
- comunicaciones administrativas
Es decir, WhatsApp funciona como canal de distribución, no como interfaz de interacción con OpenClaw.
Seguridad al abrir puertos en OpenClaw
Abrir un puerto en un VPS no significa que el servicio deba quedar completamente expuesto.
Recomendaciones:
- usar tokens de autenticación
- evitar puertos predecibles
- limitar IPs cuando sea posible
- usar reverse proxy
- considerar Cloudflare Tunnel
Por ejemplo:
gateway.auth.token=UN_TOKEN_LARGO_Y_SEGURO
Esto evita que cualquier persona pueda interactuar con el gateway.
Conclusión
Si OpenClaw está corriendo en Docker pero el puerto no responde externamente, lo más probable es que el problema esté en una de estas tres capas:
- Docker (puertos publicados)
- Firewall del sistema (UFW / iptables)
- Red del proveedor VPS
En nuestro caso, la causa fue simplemente una regla de firewall que bloqueaba el puerto.
Después de abrir el puerto en UFW, el gateway comenzó a funcionar correctamente.
Creo que la configuración de Openclaw todavia es un poco difusa y no esta unificada, pero ese el precio por ser early - adopter .... y bueno para el admin siempre Tailscale es mandatorio.
.