OpenClaw pasó de 9K a 210K estrellas en GitHub en seis semanas, lo que significa que la documentación todavía no ha llegado a cubrir completamente las necesidades de producción. La configuración de demostración funciona. La configuración que realmente necesitas para uso diario requiere un trabajo más cuidadoso, especialmente en los gateways de mensajería y el sandbox de herramientas.
Aquí tienes la instalación de producción que ejecuto en un Hetzner CCX23, con los detalles que las opciones oficiales no advierten.
Lista de verificación previa a la instalación
Necesitas:
- VPS con Ubuntu 24.04 o Debian 12
- Mínimo 16 GB de RAM para producción (8 GB solo para demostración o uso en solitario)
- Disco NVMe de 160 GB
- Un nombre de dominio apuntando a tu VPS para HTTPS
- Claves de API para tu proveedor de modelos (OpenAI, Anthropic o Ollama local)
- Tokens de API para los gateways de mensajería que planeas usar
La capacidad del VPS importa más aquí que para muchas otras herramientas porque el registro de herramientas MCP y los daemons de gateway de OpenClaw suman en recursos. La mejor guía de VPS para OpenClaw cubre las matemáticas de las especificaciones en detalle.
Paso 1: Provisión y endurecimiento del VPS
Actualiza el sistema e instala los requisitos previos:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git ufw ca-certificates gnupg
Configura el firewall antes que cualquier cosa:
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Instala Docker siguiendo la documentación oficial de Docker (no uses el paquete de la distro, este está desactualizado):
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker
Verifica Docker:
docker run --rm hello-world
Paso 2: Clona y configura OpenClaw
Clona el repositorio oficial:
mkdir -p /opt
sudo git clone https://github.com/openclaw/openclaw.git /opt/openclaw
sudo chown -R $USER:$USER /opt/openclaw
cd /opt/openclaw
Copia la configuración de ejemplo y edita:
cp .env.example .env
nano .env
Las configuraciones críticas a modificar:
POSTGRES_PASSWORD=<generar-una-contraseña-fuerte>
[email protected]
ADMIN_PASSWORD=<generar-otra-contraseña-fuerte>
PUBLIC_DOMAIN=openclaw.tudominio.com
MODEL_PROVIDER=openai
OPENAI_API_KEY=sk-...
Para la contraseña de la base de datos, genera una aleatoria con openssl rand -hex 24. Lo mismo para la contraseña del administrador. No uses valores predeterminados, las implementaciones de OpenClaw se escanean en horas por credenciales filtradas públicas.
Paso 3: Iniciar los contenedores
docker compose pull
docker compose up -d
El primer inicio tarda de 2 a 5 minutos ya que inicializa la base de datos Postgres y ejecuta migraciones. Vigila los logs:
docker compose logs -f openclaw
Busca Server listening on :8080 para confirmar que está activo.
Paso 4: Configurar el reverse proxy
OpenClaw funciona en el puerto 8080 internamente. Usa Caddy como proxy inverso para terminar HTTPS. Instala Caddy:
sudo apt install -y caddy
Configura /etc/caddy/Caddyfile:
openclaw.tudominio.com {
reverse_proxy localhost:8080
}
Asegúrate de que tu registro DNS tipo A apunte al VPS, luego recarga Caddy:
sudo systemctl reload caddy
Caddy gestiona automáticamente Let’s Encrypt. Visita https://openclaw.tudominio.com y deberías ver la pantalla de login de OpenClaw con un certificado válido.
Paso 5: Configuración inicial vía interfaz web
Inicia sesión con las credenciales de administrador desde el archivo .env. El asistente de configuración solicita:
- Configuración del proveedor del modelo (detectada automáticamente desde
.envsi lo configuraste allí) - Nombre del espacio de trabajo inicial
- Integraciones opcionales MCP (comienza solo con el sistema de archivos y búsqueda web)
- Primera cuenta de usuario
Prueba que el agente funciona: en un chat con el espacio de trabajo predeterminado, pregunta “¿Qué puedes hacer?” El agente debería describir sus herramientas disponibles.
Si aparece un error sobre el endpoint del modelo, revisa los logs:
docker compose logs openclaw | grep -i error
Problemas comunes en esta etapa:
- Formato incorrecto de la clave de OpenAI (debe comenzar con
sk-) - Error en el nombre del modelo (usa
gpt-4o-minioclaude-3-5-sonnet-20241022, no nombres arbitrarios) - Límite de tasa en tu cuenta API, especialmente con claves gratuitas de OpenAI
Paso 6: Añadir los gateways de mensajería
Aquí es donde OpenClaw gana sus puntos. Para WhatsApp Business:
- Obtén una cuenta de WhatsApp Business API (a través de Meta, Twilio o 360dialog)
- En la administración de OpenClaw: Integraciones → WhatsApp → Añadir
- Pega tu token de acceso y ID de número telefónico
- Configura la URL del webhook:
https://openclaw.tudominio.com/webhooks/whatsapp
Para Slack:
- Crea una app en api.slack.com/apps
- Activa Modo Socket y Subscripciones a eventos
- Instálala en tu espacio de trabajo
- En OpenClaw: Integraciones → Slack → Añadir, pega el token de bot y el token de la app
Para Telegram:
- Crea un bot vía @BotFather y copia el token
- En OpenClaw: Integraciones → Telegram → Añadir, pega el token
Cada gateway aparece como un canal de conversación dentro de OpenClaw. El mismo agente atiende todos los canales, manteniendo el historial por usuario y canal.
Paso 7: Endurecimiento del registro de herramientas
El registro de herramientas MCP es lo que hace potente a OpenClaw y lo que introduce preocupaciones de seguridad. La configuración predeterminada permite al agente instalar nuevas herramientas en tiempo de ejecución, lo cual es genial para capacidades, pero peligroso en producción.
Restringe esto editando .env:
TOOL_REGISTRY_MODE=allowlist
TOOL_REGISTRY_ALLOWLIST=filesystem,web-search,github,gmail
Solo las herramientas en tu lista de permitidas podrán ser invocadas. Añade más conforme las verifiques. Reinicia:
docker compose restart openclaw
Paso 8: Estrategia de copia de seguridad
Las dos cosas que deben sobrevivir a una falla del VPS: la base de datos de Postgres y el volumen de almacenamiento de archivos.
Agrega un cron de copia diaria:
sudo crontab -e
Agrega:
0 3 * * * cd /opt/openclaw && docker compose exec -T postgres pg_dump -U openclaw openclaw | gzip > /backup/openclaw-$(date +\%Y\%m\%d).sql.gz && find /backup -name "openclaw-*.sql.gz" -mtime +14 -delete
Este cron se ejecuta a las 3 AM, realiza un volcado de Postgres y mantiene las copias durante 14 días. Copia las copias de seguridad a un almacenamiento externo (S3, Backblaze, otro VPS) para recuperación ante desastres reales.
Qué sigue
Con la instalación básica funcionando, las próximas prioridades suelen ser:
- Añadir más herramientas MCP verificadas seguras
- Configurar cuentas y permisos para tu equipo
- Implementar monitoreo (Uptime Kuma funciona bien junto a OpenClaw)
- Ajustar la selección del modelo por espacio de trabajo según coste y calidad
Para dimensionar tu VPS a medida que crece tu uso, consulta la mejor comparativa de VPS para OpenClaw. Para otras herramientas autoalojadas, las guías de SelfHostVPS cubren un ecosistema más amplio.
Frequently asked questions
¿Cuánto tiempo tarda realmente la instalación de OpenClaw?
Aproximadamente 25 minutos en un VPS limpio con Ubuntu 24.04 usando Docker Compose. La fase más lenta son las descargas de los contenedores (10 a 15 minutos dependiendo del ancho de banda de tu VPS). Después, la configuración inicial a través de la interfaz web toma de 5 a 10 minutos para el endpoint del modelo, la cuenta de administrador y tu primer gateway de mensajería.
¿Necesito Docker o puedo instalar OpenClaw nativamente?
Docker Compose es el método soportado y recomendado. La instalación nativa es técnicamente posible siguiendo los componentes en el archivo compose, pero el aislamiento del sandbox de las herramientas hace que Docker sea efectivamente necesario para uso en producción. Intentar ejecutar el registry de herramientas MCP sin aislamiento en contenedores crea problemas de seguridad reales. Usa Docker.
¿Qué puertos necesita tener abiertos OpenClaw en el VPS?
El puerto 443 para acceso HTTPS a la interfaz web (a través de tu reverse proxy). Internamente, OpenClaw usa el 8080 para la API y el 5432 para Postgres, pero estos no deben estar expuestos públicamente. Los gateways de mensajería (WhatsApp, Telegram, Slack) solo usan conexiones salientes y no requieren puertos entrantes. Restringe tu firewall únicamente a 22 (SSH) y 443.
¿Cómo puedo actualizar OpenClaw después de la instalación sin perder mis datos?
El patrón estándar: detener los contenedores, actualizar las imágenes, reiniciar. El volumen de Postgres y el volumen de almacenamiento de archivos persisten a través de las actualizaciones de los contenedores. Siempre realiza una instantánea del VPS o respalda la base de datos de Postgres antes de actualizar, especialmente para saltos de versión mayores. Las notas de las versiones indican cualquier cambio de esquema que requiera migración manual.