コンテンツにスキップ

Deploy on Render

このコンテンツはまだ日本語訳がありません。

Deploy CoderClaw on Render using Infrastructure as Code. The included render.yaml Blueprint defines your entire stack declaratively, service, disk, environment variables, so you can deploy with a single click and version your infrastructure alongside your code.

Deploy to Render

Clicking this link will:

  1. Create a new Render service from the render.yaml Blueprint at the root of this repo.
  2. Prompt you to set SETUP_PASSWORD
  3. Build the Docker image and deploy

Once deployed, your service URL follows the pattern https://<service-name>.onrender.com.

Render Blueprints are YAML files that define your infrastructure. The render.yaml in this repository configures everything needed to run CoderClaw:

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

Key Blueprint features used:

FeaturePurpose
runtime: dockerBuilds from the repo’s Dockerfile
healthCheckPathRender monitors /health and restarts unhealthy instances
sync: falsePrompts for value during deploy (secrets)
generateValue: trueAuto-generates a cryptographically secure value
diskPersistent storage that survives redeploys
PlanSpin-downDiskBest for
FreeAfter 15 min idleNot availableTesting, demos
StarterNever1GB+Personal use, small teams
Standard+Never1GB+Production, multiple channels

The Blueprint defaults to starter. To use free tier, change plan: free in your fork’s render.yaml (but note: no persistent disk means config resets on each deploy).

  1. Navigate to https://<your-service>.onrender.com/setup
  2. Enter your SETUP_PASSWORD
  3. Select a model provider and paste your API key
  4. Optionally configure messaging channels (Telegram, Discord, Slack)
  5. Click Run setup

The web dashboard is available at https://<your-service>.onrender.com/coderclaw.

View real-time logs in Dashboard → your service → Logs. Filter by:

  • Build logs (Docker image creation)
  • Deploy logs (service startup)
  • Runtime logs (application output)

For debugging, open a shell session via Dashboard → your service → Shell. The persistent disk is mounted at /data.

Modify variables in Dashboard → your service → Environment. Changes trigger an automatic redeploy.

If you use the original CoderClaw repository, Render will not auto-deploy your CoderClaw. To update it, run a manual Blueprint sync from the dashboard.

  1. Go to Dashboard → your service → Settings → Custom Domains
  2. Add your domain
  3. Configure DNS as instructed (CNAME to *.onrender.com)
  4. Render provisions a TLS certificate automatically

Render supports horizontal and vertical scaling:

  • Vertical: Change the plan to get more CPU/RAM
  • Horizontal: Increase instance count (Standard plan and above)

For CoderClaw, vertical scaling is usually sufficient. Horizontal scaling requires sticky sessions or external state management.

Export your configuration and workspace at any time:

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

This downloads a portable backup you can restore on any CoderClaw host.

Check the deploy logs in the Render Dashboard. Common issues:

  • Missing SETUP_PASSWORD — the Blueprint prompts for this, but verify it’s set
  • Port mismatch — ensure PORT=8080 matches the Dockerfile’s exposed port

Free 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 plan for always-on.

This happens on free tier (no persistent disk). Upgrade to a paid plan, or regularly export your config via /setup/export.

Render expects a 200 response from /health within 30 seconds. If builds succeed but deploys fail, the service may be taking too long to start. Check:

  • Build logs for errors
  • Whether the container runs locally with docker build && docker run