Intermedio 12 minAgentes

Instalar OpenClaw con Docker: paso a paso y configuración jour

Esta guía muestra cómo instalar OpenClaw con Docker Compose en un PC o un VPS: obtención del repositorio oficial, onboarding, primera conexión a la interfaz de control y, después, actualización y desinstalación sin dejar ningún rastro. Los comandos se basan en la documentación del proyecto, que debes releer antes de pegarlos porque cambia rápidamente; esta guía no contiene pruebas propias ni indica cuánto dura la instalación. Una regla se aplica en todas las etapas: la pasarela de OpenClaw nunca debe ser accesible desde Internet.

Por Samir K.·Actualización 2026-10-04·Probado en Windows, macOS y Linux

#Instalar OpenClaw: ¿script oficial o Docker?

El proyecto documenta dos formas de instalar OpenClaw. La primera utiliza un script que instala el comando openclaw directamente en el sistema. La segunda ejecuta la puerta de enlace (el proceso central que conecta tus servicios de mensajería con el modelo) dentro de un contenedor Docker. Ambas dan como resultado el mismo software y el mismo asistente de configuración, llamado onboarding.

Script oficial
La vía más rápida en un equipo personal con macOS, Linux o WSL2. El script instala el comando openclaw y Node.js si es necesario; después, la configuración inicial registra la pasarela como servicio de tu sesión.
Docker Compose
La pasarela se ejecuta en un contenedor y en el sistema anfitrión solo está instalado Docker. Es la opción práctica en un VPS o para poder eliminarlo todo de una vez. La documentación la presenta como opcional.
Lo que Docker no cambia
El contenedor mantiene acceso completo a la carpeta de configuración y al espacio de trabajo montados desde el host, así como a la red. Es una barrera útil, no una caja fuerte.
Terminal — el método mediante script, como recordatorio
# Télécharger et exécuter l'installateur officiel
curl -fsSL https://openclaw.ai/install.sh | bash

# Lancer l'onboarding et installer le service
openclaw onboard --install-daemon

El resto de esta guía sigue el método con Docker e incluye un recordatorio del comando equivalente para el método con script en los pasos de actualización y desinstalación. Si aún tienes dudas sobre la utilidad de la herramienta en sí, nuestra página «OpenClaw: ¿qué es?» aborda esa cuestión; aquí nos centramos en la instalación.

!
Solo fuentes oficiales
El proyecto cambió dos veces de nombre (Clawdbot, luego Moltbot, luego OpenClaw) y su popularidad ha atraído repositorios falsos, paquetes falsos e «instaladores en un clic» dudosos. Nunca pegues en un terminal un comando de instalación encontrado en un vídeo, un foro o un artículo de blog, incluido este, sin compararlo con la documentación. Tres direcciones son las fuentes de referencia: openclaw.ai para el script, github.com/openclaw/openclaw para el código y docs.openclaw.ai para la documentación. Y nada impide leer un script antes de ejecutarlo: descárgalo en un archivo, ábrelo y luego ejecútalo.

#Prerrequisitos

El kit de Agentes Locales

Agentes que actúan en tu máquina: Cline agéntico, MCP, n8n + Ollama, automatizaciones locales.

  • Espacio en línea de por vida
  • PDF + archivos
  • Reembolsado 30 j

La propia pasarela consume poco: retransmite mensajes y llama a un modelo. Los requisitos que se indican a continuación se refieren principalmente a Docker y a la construcción de la imagen.

Docker y Compose v2
Docker Desktop en macOS y Windows (con WSL2), o Docker Engine junto con el plugin Compose en Linux. El comando se escribe docker compose, con un espacio: el binario anterior docker-compose en versión 1 no es compatible.
Git
Para clonar el repositorio oficial, que contiene el Dockerfile, el archivo docker-compose.yml y el script de instalación
Memoria
La documentación exige al menos 2 GB de RAM para construir la imagen. En un host de 1 GB, la compilación puede ser interrumpida por el sistema por falta de memoria (código de salida 137). La imagen preconstruida, que se presenta más abajo, evita este paso.
Disco
Espacio para imágenes Docker y los logs. La documentación no da un número: monitorea el espacio con docker system df.
Un modelo
Una clave de API de un proveedor en línea, con un límite de gasto, o un modelo local. La conexión de un modelo local es un tema aparte que esta guía no trata.
En un VPS
Acceso SSH mediante clave y el firewall del proveedor configurado para permitir solo SSH. Ningún otro puerto necesita estar abierto, como se verá.
Terminal — verificar herramientas
docker --version
docker compose version
git --version

En Windows, trabaja desde un terminal WSL2: el script de instalación es un script de shell y, de todos modos, la documentación dirige a los usuarios de Windows a WSL2. Sea cual sea la máquina, evita la que contiene tus documentos personales y tus contraseñas: un agente capaz de ejecutar comandos debe instalarse en una máquina dedicada, una máquina virtual o un servidor alquilado.

#Instalar OpenClaw con Docker Compose, paso a paso

La instalación con Docker se basa en un script proporcionado en el repositorio. Este script ejecuta sucesivamente la preparación de la imagen, la configuración inicial y el arranque de la pasarela. Los cuatro pasos siguientes siguen este orden.

#1. Clonar el repositorio oficial

Terminal
git clone https://github.com/openclaw/openclaw.git
cd openclaw

Verifica la dirección carácter por carácter: es la organización openclaw en GitHub, no un repositorio con un nombre parecido. Según la documentación que conocemos, el script de instalación de Docker se llama docker-setup.sh y está en la raíz del repositorio. El proyecto reorganiza sus archivos con frecuencia y las versiones recientes pueden situar el script en scripts/docker/: el siguiente comando muestra cuál de las dos ubicaciones existe en tu sistema.

Terminal — localizar el script
ls docker-setup.sh scripts/docker/setup.sh 2>/dev/null

#2. Elegir entre imagen preconstruida y construcción local

Por defecto, el script construye la imagen en tu máquina a partir del Dockerfile y la nombra openclaw:local. Es la vía más transparente, ya que compilas el código que acabas de clonar, pero requiere memoria y tiempo de cálculo. La alternativa consiste en descargar la imagen publicada por el proyecto en el registro de GitHub, especificando la variable OPENCLAW_IMAGE antes de lanzar el script.

Terminal — opción: usar la imagen publicada
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"

La etiqueta latest sigue la última versión publicada. En un servidor, es mejor reemplazarla por un número de versión preciso, tomado de la página de releases del repositorio: así tú decides cuándo actualizar y sabes a qué versión volver en caso de problemas.

#3. Ejecutar el script de instalación

Terminal
./docker-setup.sh

Según la documentación, este script realiza cinco cosas consecutivas:

Imagen
Construye la imagen localmente o la descarga si OPENCLAW_IMAGE está definido.
Onboarding
Lanza el asistente de configuración en un contenedor temporal.
Token
Genera el token de acceso de la pasarela y lo escribe en un archivo .env en la raíz del repositorio.
Inicio
Inicia la puerta de enlace con Docker Compose, bajo el nombre de servicio openclaw-gateway.
Datos
Coloca la configuración y el espacio de trabajo en el host, en ~/.openclaw y ~/.openclaw/workspace. Estos directorios sobreviven a la eliminación del contenedor.

#4. Responder a las preguntas de la configuración inicial

El asistente hace preguntas sobre el modelo, los servicios de mensajería y la pasarela. Para esta última parte, el script muestra las respuestas esperadas en un contenedor. Difieren de las de una instalación clásica, y la primera merece una explicación.

Gateway bind: lan
Dentro del contenedor, la puerta de enlace debe escuchar en la interfaz de la red de Docker; de lo contrario, no se puede acceder a ella a través del puerto publicado en el host. Este ajuste no determina qué es visible desde el exterior: eso se controla en el host; consulta la sección VPS.
Autenticación de gateway: token
El acceso a la interfaz y a la API de la pasarela requiere un token.
Gateway token
Usa el token que acaba de mostrar el script para que coincida con el del archivo .env.
Tailscale exposure : Off
Sin exposición automática. El acceso remoto se decide más tarde, con conocimiento de causa.
Install Gateway daemon : No
En esta configuración, es Docker Compose el que reinicia el contenedor, no un servicio del sistema.

En cuanto al modelo, proporciona una clave de API con un límite de presupuesto en lugar de tu clave principal. En cuanto a los servicios de mensajería, puedes saltarte este paso y volver a él una vez verificada la pasarela. Recuerda la regla de conversión: cualquier comando de la documentación que empiece por openclaw se ejecuta aquí anteponiendo docker compose run --rm openclaw-cli.

Terminal — añadir un sistema de mensajería posteriormente
# WhatsApp : affiche un QR code à scanner depuis le téléphone
docker compose run --rm openclaw-cli channels login

# Telegram : avec le jeton du bot créé auprès de BotFather
docker compose run --rm openclaw-cli channels add --channel telegram --token "<jeton-du-bot>"

#Comprobar que la pasarela esté funcionando

Antes de conectar cualquier otra cosa, asegúrate de que el contenedor esté en marcha y de que sus registros no indiquen errores.

Terminal
docker compose ps
docker compose logs -f openclaw-gateway

Abre después la interfaz de control en el navegador de la misma máquina y pega el token en sus ajustes. Si has perdido el enlace, el comando dashboard lo vuelve a mostrar sin intentar abrir un navegador.

Interfaz de control (desde la máquina misma)
http://127.0.0.1:18789/
Terminal — mostrar nuevamente el enlace de acceso
docker compose run --rm openclaw-cli dashboard --no-open

Dos controles integrados completan la verificación. El primero diagnostica la instalación y la configuración; el segundo revisa los ajustes peligrosos. Vuelve a ejecutarlos después de cada cambio de configuración.

Terminal — diagnóstico y auditoría
docker compose run --rm openclaw-cli doctor
docker compose run --rm openclaw-cli security audit --deep

Último paso: protege el archivo .env. Contiene el token de la puerta de enlace, y quien tenga ese token controla al agente y, por tanto, todo aquello a lo que el agente tiene acceso. Un chmod 600 .env limita su lectura a tu cuenta. No lo copies en un repositorio Git ni en una captura de pantalla.

#OpenClaw en un VPS: no exponer la puerta de enlace

En un PC detrás de un router doméstico, un puerto publicado por Docker permanece en la red local. En un VPS, la máquina tiene una dirección pública: un puerto publicado sin especificar una dirección es accesible desde todo Internet. A principios de 2026, unos investigadores identificaron miles de pasarelas OpenClaw accesibles de esta manera. El token protege el acceso, pero una sola vulnerabilidad basta para eludir esa protección: la vulnerabilidad CVE-2026-25253, corregida a finales de enero de 2026, permitía precisamente robarlo. La estrategia adecuada consiste en no exponer nada en absoluto.

!
Docker se salta las reglas de UFW
Docker escribe sus propias reglas de firewall. Un puerto publicado por un contenedor sigue siendo accesible desde fuera incluso cuando UFW muestra una política de rechazo. Por esta razón, la documentación de seguridad de OpenClaw remite a la cadena DOCKER-USER. No confíes solo en UFW: comprueba qué está realmente escuchando.
Terminal (en el VPS) — ¿en qué dirección se publica el puerto?
docker compose port openclaw-gateway 18789
ss -tlnp | grep 18789

Si la respuesta comienza con 0.0.0.0, el puerto está publicado en todas las interfaces. Se combinan tres capas de protección, desde la más externa hasta la más cercana al contenedor.

Cortafuegos del proveedor
El filtrado propuesto en la consola del proveedor actúa antes de la máquina, por lo tanto antes de Docker. Solo permite SSH.
Publicación en 127.0.0.1
Pide a Docker que publique el puerto solo en la dirección local del host, con el archivo siguiente.
Acceso por túnel
Accede a la interfaz de control a través de un túnel SSH o una VPN, nunca mediante una dirección pública.
docker-compose.override.yml — ejemplo para adaptar
services:
  openclaw-gateway:
    ports: !override
      - "127.0.0.1:18789:18789"
      - "127.0.0.1:18790:18790"

Este archivo es un ejemplo que proporcionamos nosotros, no un extracto de la documentación de OpenClaw: compara el nombre del servicio y la lista de puertos con los del docker-compose.yml de tu versión antes de usarlo. La etiqueta !override reemplaza la lista de puertos en lugar de añadir elementos a ella; requiere Docker Compose 2.24.4 o una versión más reciente. Coloca el archivo junto a docker-compose.yml, vuelve a crear el contenedor con docker compose up -d openclaw-gateway y ejecuta de nuevo la comprobación: ahora debe devolver 127.0.0.1:18789.

Terminal (en tu ordenador) — túnel SSH hacia la pasarela
ssh -N -L 18789:127.0.0.1:18789 utilisateur@adresse-du-vps

Mientras este túnel esté abierto, la dirección http://127.0.0.1:18789/ de tu ordenador lleva a la pasarela del servidor. Los servicios de mensajería, por su parte, no necesitan ningún puerto de entrada en su modo habitual: para WhatsApp, Telegram o Discord, es la pasarela la que abre conexiones de salida. Por tanto, no hay ninguna razón para publicar la interfaz de control bajo un nombre de dominio. El razonamiento es el mismo que para un servidor de modelos y se explica en detalle en nuestra guía sobre cómo proteger un servidor Ollama.

#Actualizar OpenClaw

El proyecto publica versiones a un ritmo elevado, y algunas corrigen vulnerabilidades. Dejar una instalación sin actualizar durante meses es un riesgo, no un ahorro de tiempo. Con Docker, actualizar consiste en reemplazar la imagen y luego recrear el contenedor; tus datos, en ~/.openclaw, permanecen intactos.

  1. 01
    Hacer una copia de seguridad del directorio de datos
    Archiva ~/.openclaw antes de cualquier actualización. Una nueva versión puede migrar la configuración, y volver al estado anterior solo es fiable si conservas una copia de ese estado.
  2. 02
    Obtener la nueva versión
    Actualiza el repositorio con git pull para obtener el Dockerfile y el archivo Compose actuales, luego reconstruye la imagen local o descarga la imagen publicada, según la opción elegida en la instalación.
  3. 03
    Recrear el contenedor
    Reinicia el servicio openclaw-gateway. Docker Compose reemplaza el contenedor en cuanto detecta una imagen diferente.
  4. 04
    Comprobar
    Inicia doctor, lee las últimas líneas de los logs y envía un mensaje de prueba desde tu mensajería.
Terminal — 1. copia de seguridad
tar czf openclaw-sauvegarde-$(date +%F).tar.gz -C ~ .openclaw
Terminal — 2 y 3, con una imagen construida localmente
cd openclaw
git pull
docker build -t openclaw:local -f Dockerfile .
docker compose up -d openclaw-gateway
Terminal — 2 y 3, con la imagen publicada
cd openclaw
git pull
docker compose pull openclaw-gateway
docker compose up -d openclaw-gateway
Terminal — 4. control
docker compose run --rm openclaw-cli doctor
docker compose logs --tail 50 openclaw-gateway

La variante con una imagen publicada presupone que la línea OPENCLAW_IMAGE está en el archivo .env; el script la añade si la variable estaba definida durante la instalación. Si has fijado un número de versión, modifica primero esa línea. Para volver atrás, restablece el número anterior, vuelve a crear el contenedor y, si la configuración se ha migrado mientras tanto, restaura la copia de seguridad.

→
Leer las notas de versión antes, no después
La página de releases del repositorio indica los cambios incompatibles y los parches de seguridad. Treinta segundos de lectura antes de un git pull evitan descubrir un ajuste renombrado en los registros de un asistente que ya no responde.

Con el método basado en un script, la actualización se realiza mediante el comando integrado, seguido del mismo diagnóstico.

Terminal — instalación por script
openclaw update
openclaw doctor

#Desinstalar OpenClaw correctamente

Una desinstalación completa elimina tres cosas: los contenedores y las imágenes, los datos en el disco y los accesos que le habías confiado al asistente. La tercera es la que suele olvidarse.

Terminal — 1. contenedores e imágenes
cd openclaw
docker compose down

# Supprimer l'image utilisée (l'une ou l'autre selon votre cas)
docker image rm openclaw:local
docker image rm ghcr.io/openclaw/openclaw:latest

# Vérifier qu'il ne reste ni conteneur ni volume
docker ps -a --filter name=openclaw
docker volume ls --filter name=openclaw

La carpeta ~/.openclaw contiene la configuración, las claves de API, las sesiones de mensajería y la memoria del asistente. Su eliminación es irreversible: guarda una copia de seguridad si piensas volver a usarlo algún día o si quieres releer lo que el asistente había anotado. El repositorio clonado contiene por su parte el archivo .env y su token.

Terminal — 2. datos (irreversible)
rm -rf ~/.openclaw

# Le dépôt cloné, avec son fichier .env
cd ..
rm -rf openclaw
Claves de API
Revoca la clave que has confiado a OpenClaw en el servicio del proveedor del modelo. Borrar el archivo local no la invalida.
Bot de Telegram o Discord
Revoca el token del bot o elimina el bot desde la herramienta del servicio (BotFather para Telegram, portal de desarrolladores para Discord).
WhatsApp
En la aplicación, abre la lista de dispositivos conectados y desconecta el que corresponde a la pasarela.
Acceso a red
Elimina la regla de cortafuegos, el túnel o la máquina de la VPN creados para este propósito. Si el VPS se alquiló únicamente para este uso, cancela el servicio del servidor.

Con el método de instalación mediante script, el comando de desinstalación integrado elimina el servicio y ofrece la opción de borrar los datos; después queda por eliminar el propio comando.

Terminal — instalación por script
openclaw uninstall
npm rm -g openclaw

#Solución de problemas: los bloqueos más comunes

« unauthorized » o « pairing required (1008) »
El navegador aún no ha sido aprobado por la pasarela. Vuelve a mostrar el enlace de acceso, luego lista y aprueba el dispositivo con los comandos a continuación. Este caso es frecuente en Docker y detrás de un túnel, porque la conexión no llega desde la dirección local del contenedor.
Construcción interrumpida, código 137
El sistema ha abortado la compilación por falta de memoria. Cambia a la imagen publicada con OPENCLAW_IMAGE o usa una máquina de al menos 2 GB de RAM.
Permiso denegado en /home/node/.openclaw
La imagen se ejecuta con el usuario node, cuyo identificador es 1000. Los directorios montados desde el host deben pertenecerle: sudo chown -R 1000:1000 ~/.openclaw.
Puerto 18789 ya en uso
Otro servicio o una instalación anterior de OpenClaw ocupa el puerto. Detén ese servicio o esa instalación, o cambia OPENCLAW_GATEWAY_PORT en el archivo .env antes de recrear el contenedor.
docker compose introuvable
Tienes el binario docker-compose antiguo o no tienes el plugin Compose. Instala el plugin Compose v2 de tu distribución.
No se puede conectar con el modelo local
Dentro de un contenedor, localhost se refiere al contenedor, no al host. Por tanto, una instancia de Ollama que escucha en http://localhost:11434 en el host no es accesible tal cual desde la pasarela. Este ajuste forma parte de la conexión del modelo y queda fuera del alcance de esta guía.
Terminal — aprobar el navegador
docker compose run --rm openclaw-cli dashboard --no-open
docker compose run --rm openclaw-cli devices list
docker compose run --rm openclaw-cli devices approve <requestId>

Cuando nada de esto coincide, los registros del servicio siguen siendo el mejor punto de partida, seguidos de la orden doctor. Antes de buscar una solución en otro lugar, revisa las fechas de las respuestas que encuentres: aquellas que mencionan Clawdbot o Moltbot describen órdenes antiguas.

#Fuentes oficiales para tener a mano

Esta guía no se basa en ninguna prueba propia: no contiene duraciones, mediciones ni comparaciones numéricas. Los comandos reproducen la documentación del proyecto, que cambia de una versión a otra: nombre del script, variables y pasos de la configuración inicial. En caso de discrepancia entre esta página y la documentación, prevalece la documentación.

Documentación: instalación con Docker
https://docs.openclaw.ai/install/docker
Documentación: actualización
https://docs.openclaw.ai/install/updating
Documentación: desinstalación
https://docs.openclaw.ai/install/uninstall
Documentación: seguridad de la pasarela
https://docs.openclaw.ai/gateway/security
Repositorio oficial y notas de versión
https://github.com/openclaw/openclaw/releases

#Para ir más allá

La instalación es solo la primera mitad del trabajo: un agente se configura, se supervisa y se compara. Estas guías del sitio amplían los conceptos utilizados aquí.

OpenClaw: qué es y si conviene instalarlo
El funcionamiento de la pasarela, los usos y los riesgos, para decidir antes de instalar. https://quelllm.fr/guide/openclaw-c-est-quoi
Proteger un servidor Ollama
Firewall, escucha local y acceso remoto: la misma lógica de exposición mínima, aplicada al servidor de modelos. https://quelllm.fr/guide/securiser-serveur-ollama
Desplegar un LLM con Docker Compose en producción
Archivos Compose, reinicio, registros y respaldos para una pila que funciona continuamente. https://quelllm.fr/guide/deployer-llm-docker-compose-production
Instalar Ollama con Docker
Para ejecutar el servidor de modelos dentro de un contenedor, en la misma máquina o en otra. https://quelllm.fr/guide/ollama-docker-installation-guide
Agent Zero con Ollama en Docker
Otro agente autoalojado distribuido en un contenedor, para comparar los enfoques. https://quelllm.fr/guide/agent-zero-ollama-docker
¿Esta guía te ha ayudado?

¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.