En esta página
En esta página
Hosting
Entorno de ejecución de máquina virtual Docker
Pasos de ejecución compartidos para instalaciones de Docker basadas en máquinas virtuales, como GCP, Hetzner y proveedores de VPS similares.
Incorporar los binarios necesarios en la imagen
Instalar binarios dentro de un contenedor en ejecución es una trampa: todo lo instalado durante la ejecución se pierde al reiniciar. Incorpore en la imagen, durante la compilación, todos los binarios externos que necesite una skill.
Los siguientes ejemplos abarcan solo tres binarios, en orden alfabético:
gog(degogcli) para acceder a Gmailgoplacespara Google Placeswaclipara WhatsApp
Son ejemplos, no una lista completa. Instale tantos binarios como necesiten sus skills siguiendo el mismo patrón. Cuando posteriormente añada una skill que necesite un binario nuevo:
- Actualice el Dockerfile.
- Vuelva a compilar la imagen.
- Reinicie los contenedores.
Dockerfile de ejemplo
Compilar e iniciar
Si la compilación falla con Killed o con el código de salida 137 durante pnpm install --frozen-lockfile, la máquina virtual se ha quedado sin memoria. Use una clase de máquina más grande antes de volver a intentarlo.
Verifique los binarios:
Salida esperada:
Verifique que el Gateway esté activo:
Que /healthz devuelva una respuesta 200 confirma que el proceso del Gateway está escuchando y funciona correctamente; el HEALTHCHECK integrado en la imagen consulta el mismo endpoint.
Qué persiste y dónde
OpenClaw se ejecuta en Docker, pero Docker no es la fuente de verdad. Todo el estado de larga duración debe sobrevivir a reinicios, recompilaciones y reinicios del sistema.
| Componente | Ubicación | Mecanismo de persistencia | Notas |
|---|---|---|---|
| Configuración del Gateway | /home/node/.openclaw/ |
Montaje de volumen del host | Incluye openclaw.json |
| Credenciales de canales/proveedores | /home/node/.openclaw/credentials/ |
Montaje de volumen del host | Material de credenciales de canales y proveedores |
| Perfiles de autenticación de modelos | /home/node/.openclaw/agents/ |
Montaje de volumen del host | agents/<agentId>/agent/auth-profiles.json (OAuth, claves de API) |
| Archivo de claves OAuth heredado | /home/node/.config/openclaw/ |
Montaje de volumen del host | Compatibilidad de solo lectura para archivos auxiliares de OAuth anteriores a la migración; openclaw doctor --fix los migra a auth-profiles.json |
| Configuraciones de skills | /home/node/.openclaw/skills/ |
Montaje de volumen del host | Estado a nivel de skill |
| Espacio de trabajo del agente | /home/node/.openclaw/workspace/ |
Montaje de volumen del host | Código y artefactos del agente |
| Sesión de WhatsApp | /home/node/.openclaw/ |
Montaje de volumen del host | Conserva el inicio de sesión mediante QR |
| Llavero de Gmail | /home/node/.openclaw/ |
Volumen del host + contraseña | Requiere GOG_KEYRING_PASSWORD |
| Paquetes de plugins | /home/node/.openclaw/npm, /home/node/.openclaw/git |
Montaje de volumen del host | Raíces de paquetes de plugins descargables |
| Binarios externos | /usr/local/bin/ |
Imagen de Docker | Deben incorporarse durante la compilación |
| Entorno de ejecución de Node | Sistema de archivos del contenedor | Imagen de Docker | Se reconstruye en cada compilación de la imagen |
| Paquetes del sistema operativo | Sistema de archivos del contenedor | Imagen de Docker | No los instale durante la ejecución |
| Contenedor de Docker | Efímero | Reiniciable | Se puede destruir de forma segura |
Actualizaciones
Para actualizar OpenClaw en la máquina virtual: