Cómo instalar OpenClaw con Docker Compose

Docker es la forma más limpia de correr OpenClaw cuando quieres aislarlo del resto del sistema: el agente vive en su propio contenedor, las actualizaciones son un comando, y el entorno es idéntico en cualquier máquina. La propia documentación lo describe como una opción pensada para entornos aislados o para validar el flujo antes de instalarlo nativo.
Esta es la vía Docker; si buscas el panorama completo (script, npm, plataformas), está en la guía de instalación de OpenClaw.
¿Docker o instalación nativa?
| Docker Compose | Script / npm | |
|---|---|---|
| Aislamiento | ✅ contenedor propio | ❌ corre sobre tu sistema |
| Actualizar | docker compose pull |
reinstalar el paquete |
| Peso | Mayor (capa de Docker) | Menor (Node nativo) |
| Reproducible | ✅ idéntico en todos lados | depende del host |
Si ya trabajas con contenedores o quieres mantener OpenClaw separado del resto, Docker. Si buscas lo más liviano —por ejemplo en una Raspberry Pi— el script con Node nativo suele convenir más.
Requisitos
- Docker y Docker Compose v2 instalados
- Una API key de tu proveedor de IA (Claude, OpenAI o un modelo local)
- Al menos 4 GB de RAM disponibles para el contenedor
Instalación con el script oficial
El soporte de Docker de OpenClaw es basado en Docker Compose: el repositorio ya incluye un docker-compose.yml, así que no tienes que escribirlo a mano. El flujo oficial clona el repo y corre el script de setup, que levanta el contenedor con ese compose y te pide las API keys:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
# Usar la imagen precompilada (GitHub Container Registry)
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
# Levanta el contenedor y corre el onboarding
./scripts/docker/setup.shEl script te pregunta las claves de API del proveedor, configura el docker-compose.yml y deja el contenedor corriendo. La interfaz de control queda en http://127.0.0.1:18789/.
Si prefieres construir la imagen localmente en vez de bajarla, omite el
export OPENCLAW_IMAGEy el setup compilaopenclaw:localdesde el código del repo.
Dónde se guardan tus datos
Docker Compose monta la configuración en volúmenes, así que tus datos sobreviven a recrear o actualizar el contenedor. Los directorios que persiste:
OPENCLAW_CONFIG_DIR→/home/node/.openclaw— configuración del agenteOPENCLAW_WORKSPACE_DIR→/home/node/.openclaw/workspace— espacio de trabajoOPENCLAW_AUTH_PROFILE_SECRET_DIR→/home/node/.config/openclaw— secretos de autenticación
Mientras no borres esos volúmenes, puedes destruir y recrear el contenedor sin perder la configuración ni las claves.
Actualizar OpenClaw en Docker
Una de las ventajas del compose: actualizar es bajar la imagen nueva y recrear el contenedor, sin tocar la configuración (vive en los volúmenes):
cd openclaw
docker compose pull
docker compose up -dComandos útiles
docker compose ps # estado del contenedor
docker compose logs -f # logs en vivo
docker compose down # detener (conserva los volúmenes)
docker compose up -d # volver a levantarDocker en Raspberry Pi
La imagen funciona en una Pi de 64 bits siempre que sea multi-arquitectura (ARM64). Dicho eso, en una Raspberry Pi el script nativo con Node 22 suele ser más liviano que sumar la capa de Docker. El detalle completo —qué modelo sirve y cómo dejarlo 24/7— está en la guía de OpenClaw en Raspberry Pi.
Preguntas frecuentes
¿Cuál es la imagen oficial de OpenClaw en Docker?
ghcr.io/openclaw/openclaw:latest, alojada en GitHub Container Registry. También puedes construir openclaw:local desde el repositorio.
¿Necesito escribir un docker-compose.yml?
No. El repositorio ya trae el docker-compose.yml; el script ./scripts/docker/setup.sh lo usa por ti.
¿Pierdo mi configuración al actualizar el contenedor?
No, siempre que no borres los volúmenes. La config vive en /home/node/.openclaw y se persiste fuera del contenedor.
¿En qué puerto queda OpenClaw?
El gateway escucha en 127.0.0.1:18789. Para llegar desde otra máquina, mejor un túnel (por ejemplo Cloudflare Tunnel) que abrir el puerto.
Cierre
Con Docker Compose, OpenClaw queda aislado, reproducible y trivial de actualizar (docker compose pull && up -d). Para las demás formas de instalarlo —script, npm, nativo por plataforma— está la guía completa de OpenClaw.