Instalación de Clawdbot con Docker

Instala y ejecuta el asistente de IA Clawdbot en contenedores Docker. Configuración de gateway containerizado con Docker Compose.

Descripción General de Clawdbot Docker

Docker es opcional para Clawdbot. Úsalo solo si quieres un gateway containerizado o para validar el flujo de Docker.

¿Es Docker Adecuado para Mí?

Caso de UsoRecomendación
Entorno de gateway aislado y desechableSí, usa Docker
Ejecutar Clawdbot en el host sin instalaciones localesSí, usa Docker
Ejecutar en tu propia máquina para el ciclo de desarrollo más rápidoNo, usa instalación normal

Nota: El sandboxing de agentes también usa Docker, pero no requiere que el gateway completo se ejecute en Docker.

Requisitos

  • Docker Desktop (o Docker Engine) + Docker Compose v2
  • Suficiente espacio en disco para imágenes + logs

Gateway Containerizado (Docker Compose)

Inicio Rápido (Recomendado)

Desde la raíz del repositorio:

./docker-setup.sh

Este script:

  1. Construye la imagen del gateway
  2. Ejecuta el asistente de incorporación
  3. Muestra sugerencias opcionales de configuración de proveedores
  4. Inicia el gateway vía Docker Compose
  5. Genera un token de gateway y lo escribe en .env

Variables de entorno opcionales:

VariableDescripción
CLAWDBOT_DOCKER_APT_PACKAGESInstalar paquetes apt adicionales durante la construcción
CLAWDBOT_EXTRA_MOUNTSAgregar montajes de enlace de host adicionales
CLAWDBOT_HOME_VOLUMEPersistir /home/node en un volumen nombrado

Después de que termine:

  1. Abre http://127.0.0.1:18789/ en tu navegador
  2. Pega el token en la UI de Control (Configuración → token)

¿Necesitas la URL con token de nuevo?

docker compose run --rm clawdbot-cli dashboard --no-open

Flujo Manual (Compose)

docker build -t clawdbot:local -f Dockerfile .
docker compose run --rm clawdbot-cli onboard
docker compose up -d clawdbot-gateway

Token de UI de Control + Emparejamiento (Docker)

Si ves "no autorizado" o "desconectado (1008): se requiere emparejamiento":

docker compose run --rm clawdbot-cli dashboard --no-open
docker compose run --rm clawdbot-cli devices list
docker compose run --rm clawdbot-cli devices approve <requestId>

Montajes Adicionales (Opcional)

Monta directorios adicionales del host en los contenedores:

export CLAWDBOT_EXTRA_MOUNTS="$HOME/.codex:/home/node/.codex:ro,$HOME/github:/home/node/github:rw"
./docker-setup.sh

Persistir Home del Contenedor (Opcional)

Persistir /home/node entre recreaciones del contenedor:

export CLAWDBOT_HOME_VOLUME="clawdbot_home"
./docker-setup.sh

Instalar Paquetes Adicionales (Opcional)

Instalar paquetes del sistema dentro de la imagen:

export CLAWDBOT_DOCKER_APT_PACKAGES="ffmpeg build-essential"
./docker-setup.sh

Sandbox de Agente (Herramientas Docker)

Clawdbot puede usar Docker para sandboxing de agentes, aislando herramientas de agentes en contenedores.

Qué Hace

  • Ejecuta herramientas de agentes (exec, browser, etc.) en contenedores Docker aislados
  • Proporciona límites de seguridad entre agentes
  • Permite perfiles de sandbox por agente

Habilitar Sandboxing

En tu clawdbot.json:

{
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "non-main"
      }
    }
  }
}

Construir la Imagen de Sandbox

clawdbot sandbox build

Perfiles de Sandbox por Agente

{
  "routing": {
    "agents": {
      "main": {
        "workspace": "~/.clawdbot/workspace",
        "sandbox": {
          "mode": "off"
        }
      },
      "untrusted": {
        "sandbox": {
          "mode": "always"
        }
      }
    }
  }
}

Verificación de Salud

docker compose run --rm clawdbot-cli health
docker compose run --rm clawdbot-cli status

Solución de Problemas

Errores de Permisos (EACCES)

Si ves errores de permisos, verifica que los directorios montados tengan los permisos correctos.

El Contenedor No Inicia

  1. Revisa los logs de Docker: docker compose logs clawdbot-gateway
  2. Verifica que el puerto 18789 no esté en uso
  3. Asegúrate de que Docker tenga suficientes recursos

Problemas con el Token

Regenera el token del gateway:

docker compose run --rm clawdbot-cli configure --reset-token

Próximos Pasos