docs/install/render.mdx
Deploy OpenClaw on Render using the repo's render.yaml Blueprint. It declares the service, disk, and environment variables in one file.
This creates a Render service from render.yaml, builds the Docker image, and deploys it. Your service URL follows the pattern https://<service-name>.onrender.com.
services:
- type: web
name: openclaw
runtime: docker
plan: starter
healthCheckPath: /health
envVars:
- key: OPENCLAW_GATEWAY_PORT
value: "8080"
- 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
| Feature | Purpose |
|---|---|
runtime: docker | Builds from the repo's Dockerfile |
healthCheckPath | Render monitors /health and restarts unhealthy instances |
generateValue: true | Auto-generates a cryptographically secure value |
disk | Persistent storage that survives redeploys |
| Plan | Spin-down | Disk | Best for |
|---|---|---|---|
| Free | After 15 min idle | Not available | Testing, demos |
| Starter | Never | 1GB+ | Personal use, small teams |
| Standard+ | Never | 1GB+ | Production, multiple channels |
The Blueprint defaults to starter. To use the free tier, change plan: free in your fork's render.yaml — note that with no persistent disk, OpenClaw state resets on each deploy.
The web dashboard is available at https://<your-service>.onrender.com/. Connect using the shared secret: the auto-generated OPENCLAW_GATEWAY_TOKEN (find it in Dashboard → your service → Environment), or your password if you switched to password auth.
Dashboard → your service → Logs shows build logs (Docker image creation), deploy logs (service startup), and runtime logs (application output).
Dashboard → your service → Shell opens a shell session. The persistent disk is mounted at /data.
Edit variables in Dashboard → your service → Environment. Changes trigger an automatic redeploy.
Render redeploys automatically when the connected repo's branch gets a new commit. If you deployed straight from openclaw/openclaw instead of your own fork, you have no push access to trigger that, so update by running a manual Blueprint sync from the Dashboard, or point the service at your own fork.
*.onrender.com)From the Render Dashboard shell, export state, config, auth profiles, and workspace at any time:
openclaw backup create
This creates a portable backup archive. See Backup.
Check the deploy logs in the Render Dashboard. Common issues:
OPENCLAW_GATEWAY_TOKEN — verify it is set in Dashboard → EnvironmentOPENCLAW_GATEWAY_PORT=8080 so the gateway binds to the port Render expectsFree tier services spin down after 15 minutes of inactivity; the first request after spin-down takes a few seconds while the container starts. Upgrade to Starter for always-on.
Happens on the free tier (no persistent disk). Upgrade to a paid plan, or regularly export a backup with openclaw backup create from the Render shell.
If builds succeed but deploys fail, the service may be taking too long to start or /health may not be reachable. Check:
docker build && docker run