Ir al contenido

Implementar en Render

Implemente OpenClaw en Render usando Infraestructura como Código. El Blueprint render.yaml incluido define toda su pila declarativamente, servicio, disco, variables de entorno, para que pueda implementar con un solo clic y versionar su infraestructura junto con su código.

Desplegar en Render

Al hacer clic en este enlace:

  1. Creará un nuevo servicio de Render a partir del Blueprint render.yaml en la raíz de este repositorio.
  2. Le pedirá que configure SETUP_PASSWORD
  3. Construirá la imagen de Docker y la desplegará

Una vez desplegado, la URL de su servicio sigue el patrón https://<service-name>.onrender.com.

Los Blueprint de Render son archivos YAML que definen su infraestructura. El render.yaml en este repositorio configura todo lo necesario para ejecutar OpenClaw:

services:
- type: web
name: openclaw
runtime: docker
plan: starter
healthCheckPath: /health
envVars:
- key: PORT
value: "8080"
- key: SETUP_PASSWORD
sync: false # prompts during deploy
- key: OPENCLAW_STATE_DIR
value: /data/.openclaw
- key: OPENCLAW_WORKSPACE_DIR
value: /data/workspace
- key: OPENCLAW_GATEWAY_TOKEN
generateValue: true # auto-generates a secure token
disk:
name: openclaw-data
mountPath: /data
sizeGB: 1

Características clave del Blueprint utilizadas:

CaracterísticaPropósito
runtime: dockerConstruye desde el Dockerfile del repositorio
healthCheckPathRender monitorea /health y reinicia las instancias no saludables
sync: falseSolicita un valor durante el despliegue (secretos)
generateValue: trueGenera automáticamente un valor criptográficamente seguro
diskAlmacenamiento persistente que sobrevive a los re-despliegues
PlanSuspensiónDiscoMejor para
GratisDespués de 15 min de inactividadNo disponiblePruebas, demostraciones
InicialNunca1GB+Uso personal, equipos pequeños
Estándar+Nunca1GB+Producción, múltiples canales

El Blueprint por defecto es starter. Para usar el nivel gratuito, cambie plan: free en el render.yaml de su bifurcación (pero tenga en cuenta: la ausencia de disco persistente significa que la configuración se restablece en cada despliegue).

  1. Navegue a https://<your-service>.onrender.com/setup
  2. Ingrese su SETUP_PASSWORD
  3. Seleccione un proveedor de modelos y pegue su clave de API
  4. Opcionalmente configure canales de mensajería (Telegram, Discord, Slack)
  5. Haga clic en Ejecutar configuración

El tablero web está disponible en https://<your-service>.onrender.com/openclaw.

Vea los registros en tiempo real en Dashboard → su servicio → Logs. Filtre por:

  • Registros de compilación (creación de imagen Docker)
  • Registros de despliegue (inicio del servicio)
  • Registros de tiempo de ejecución (salida de la aplicación)

Para la depuración, abre una sesión de shell mediante Dashboard → your service → Shell. El disco persistente está montado en /data.

Modifica las variables en Dashboard → your service → Environment. Los cambios activan un nuevo despliegue automático.

Si utilizas el repositorio original de OpenClaw, Render no desplegará automáticamente tu OpenClaw. Para actualizarlo, ejecuta una sincronización manual de Blueprint desde el panel.

  1. Ve a Dashboard → your service → Settings → Custom Domains
  2. Añade tu dominio
  3. Configura el DNS como se indica (CNAME a *.onrender.com)
  4. Render aprovisiona un certificado TLS automáticamente

Render admite el escalado horizontal y vertical:

  • Vertical: Cambia el plan para obtener más CPU/RAM
  • Horizontal: Aumenta el recuento de instancias (plan Estándar y superiores)

Para OpenClaw, el escalado vertical suele ser suficiente. El escalado horizontal requiere sesiones persistentes o gestión externa del estado.

Exporta tu configuración y espacio de trabajo en cualquier momento:

https://<your-service>.onrender.com/setup/export

Esto descarga una copia de seguridad portátil que puedes restaurar en cualquier host de OpenClaw.

Comprueba los registros de despliegue en el panel de Render. Problemas comunes:

  • Falta SETUP_PASSWORD — el Blueprint lo solicita, pero verifica que esté configurado
  • Discrepancia de puerto — asegúrate de que PORT=8080 coincida con el puerto expuesto del Dockerfile

Los servicios de nivel gratuito se apagan después de 15 minutos de inactividad. La primera solicitud después de apagarse tarda unos segundos mientras se inicia el contenedor. Actualiza al plan Starter para tenerlo siempre activo.

Esto ocurre en el nivel gratuito (sin disco persistente). Actualiza a un plan de pago, o exporta tu configuración regularmente mediante /setup/export.

Render espera una respuesta 200 de /health dentro de 30 segundos. Si las compilaciones tienen éxito pero los despliegues fallan, es posible que el servicio tarde demasiado en iniciarse. Comprueba:

  • Registros de compilación para ver errores
  • Si el contenedor se ejecuta localmente con docker build && docker run