Hosting
exe.dev
Objetivo: Gateway de OpenClaw ejecutándose en una VM de exe.dev, accesible en https://<vm-name>.exe.xyz.
Esta guía presupone la imagen exeuntu predeterminada de exe.dev. Adapte los paquetes según corresponda en otras distribuciones.
Qué se necesita
- Cuenta de exe.dev
- Acceso mediante
ssh exe.deva las VM de exe.dev (opcional, para la configuración manual)
Ruta rápida para principiantes
- Abra https://exe.new/openclaw
- Introduzca su clave o token de autenticación según sea necesario
- Haga clic en "Agent" junto a su VM y espere a que Shelley termine el aprovisionamiento
- Abra
https://<vm-name>.exe.xyz/y autentíquese con el secreto compartido configurado (autenticación mediante token de forma predeterminada; la autenticación mediante contraseña también funciona si cambiagateway.auth.mode) - Apruebe las solicitudes pendientes de vinculación de dispositivos con
openclaw devices approve <requestId>
Instalación automatizada con Shelley
Shelley, el agente de exe.dev, puede instalar OpenClaw a partir de una instrucción:
Configura OpenClaw (https://docs.openclaw.ai/install) en esta VM. Usa las opciones de modo no interactivo y aceptación de riesgos para la incorporación de OpenClaw. Añade la autenticación o el token proporcionados según sea necesario. Configura nginx para reenviar desde el puerto predeterminado 18789 a la ubicación raíz de la configuración predeterminada del sitio habilitado, asegurándote de habilitar la compatibilidad con WebSocket. La vinculación se realiza mediante "openclaw devices list" y "openclaw devices approve <request id>". Asegúrate de que el panel muestre que el estado de OpenClaw es correcto. exe.dev gestiona por nosotros el reenvío del puerto 8000 al puerto 80/443 y HTTPS, por lo que la dirección "accesible" final debe ser <vm-name>.exe.xyz, sin especificar ningún puerto.Instalación manual
Crear la VM
Desde su dispositivo:
ssh exe.dev newA continuación, conéctese:
ssh <vm-name>.exe.xyzInstalar los requisitos previos (en la VM)
sudo apt-get updatesudo apt-get install -y git curl jq ca-certificates opensslInstalar OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bashConfigurar nginx como proxy hacia el puerto 8000
Edite /etc/nginx/sites-enabled/default:
server { listen 80 default_server; listen [::]:80 default_server; listen 8000; listen [::]:8000; server_name _; location / { proxy_pass http://127.0.0.1:18789; proxy_http_version 1.1; # Compatibilidad con WebSocket proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # Encabezados estándar del proxy proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; # Configuración del tiempo de espera para conexiones de larga duración proxy_read_timeout 86400s; proxy_send_timeout 86400s; }}Sobrescriba los encabezados de reenvío en lugar de conservar las cadenas proporcionadas por el cliente. OpenClaw solo confía en los metadatos de IP reenviados por proxies configurados explícitamente, y las cadenas X-Forwarded-For que agregan valores se consideran un riesgo de seguridad.
Acceder a OpenClaw y aprobar dispositivos
Abra https://<vm-name>.exe.xyz/ (consulte la salida de la interfaz de control durante la incorporación). Si solicita autenticación, pegue el secreto compartido configurado en la VM.
Esta guía utiliza la autenticación mediante token de forma predeterminada, por lo que debe recuperar gateway.auth.token con openclaw config get gateway.auth.token o generar uno nuevo con openclaw doctor --n. Si cambió el Gateway a la autenticación mediante contraseña, utilice gateway.auth.password / OPENCLAW_GATEWAY_PASSWORD en su lugar.
Apruebe los dispositivos con openclaw devices list y openclaw devices approve <requestId>. En caso de duda, utilice Shelley desde el navegador.
Configuración remota de canales
Para hosts remotos, es preferible realizar una sola llamada a config patch en lugar de muchas llamadas SSH a config set. Mantenga los tokens reales en el entorno de la VM o en ~/.openclaw/.env, e incluya únicamente SecretRefs en openclaw.json. Consulte Gestión de secretos para conocer el contrato completo de SecretRef.
En la VM, configure el entorno del servicio para que contenga los secretos que necesita:
cat >> ~/.openclaw/.env <<'EOF'SLACK_BOT_TOKEN=xoxb-...SLACK_APP_TOKEN=xapp-...DISCORD_BOT_TOKEN=...OPENAI_API_KEY=sk-...EOFDesde la máquina local, cree un archivo de parche y canalícelo a la VM:
// openclaw.remote.patch.json5{ secrets: { providers: { default: { source: "env" }, }, }, channels: { slack: { enabled: true, mode: "socket", botToken: { source: "env", provider: "default", id: "SLACK_BOT_TOKEN" }, appToken: { source: "env", provider: "default", id: "SLACK_APP_TOKEN" }, groupPolicy: "open", requireMention: false, }, discord: { enabled: true, token: { source: "env", provider: "default", id: "DISCORD_BOT_TOKEN" }, dmPolicy: "disabled", dm: { enabled: false }, groupPolicy: "allowlist", }, }, agents: { defaults: { model: { primary: "openai/gpt-5.6-sol" }, models: { "openai/gpt-5.6-sol": { params: { fastMode: true } }, }, }, },}ssh <vm-name>.exe.xyz 'openclaw config patch --stdin --dry-run' < ./openclaw.remote.patch.json5ssh <vm-name>.exe.xyz 'openclaw config patch --stdin' < ./openclaw.remote.patch.json5ssh <vm-name>.exe.xyz 'openclaw gateway restart && openclaw health'Utilice --replace-path cuando una lista de permitidos anidada deba coincidir exactamente con el valor del parche; por ejemplo, al sustituir una lista de permitidos de un canal de Discord:
ssh <vm-name>.exe.xyz 'openclaw config patch --stdin --replace-path "channels.discord.guilds[\"123\"].channels"' < ./discord.patch.json5Consulte Discord y Slack para obtener la referencia completa de configuración de canales.
Acceso remoto
exe.dev gestiona la autenticación para el acceso remoto. De forma predeterminada, el tráfico HTTP del puerto 8000 se reenvía a https://<vm-name>.exe.xyz con autenticación mediante correo electrónico.
Actualización
openclaw updateConsulte Actualización para obtener información sobre los cambios de canal y la recuperación manual.