- package.json: name moltbot, bin moltbot + clawdbot (compat shim)
- paths.ts: MOLTBOT_* preferred, CLAWDBOT_* legacy; default ~/.clawdbot; config moltbot.json; export STATE_DIR/CONFIG_PATH
- render.yaml: service name moltbot, disk moltbot-data; CLAWDBOT_* env vars and /data/.clawdbot (match upstream)
- render-start.sh: support CLAWDBOT_* and MOLTBOT_* for state/token; write moltbot.json
- Dockerfile: MOLTBOT_DOCKER_APT_PACKAGES, MOLTBOT_PREFER_PNPM
- config/io.ts: MOLTBOT_* env for gateway token and config cache
- Replace STATE_DIR_CLAWDBOT/CONFIG_PATH_CLAWDBOT with STATE_DIR_MOLTBOT/CONFIG_PATH_MOLTBOT across src; paths exports both for compat
- Add section on configuring LLM provider API keys (Anthropic, OpenAI, Gemini, etc.)
- Include wrapper reference to render_clawdbot repository
- Update render.yaml blueprint example with API key environment variables
- Add instructions for setting API keys in Render dashboard
- Document alternative config file method
The key difference from the wrapper:
- Wrapper strips proxy headers before forwarding to internal gateway
- Direct deployment needs trustedProxies config to trust Render's proxy IPs
This script:
1. Creates config with gateway.trustedProxies for Render's internal IPs
2. Sets allowInsecureAuth for Control UI access
3. Starts gateway with token auth
- Revert Dockerfile to generic CMD for compatibility with other platforms
- Add dockerCommand to render.yaml to run gateway with proper flags
- Use CLAWDBOT_GATEWAY_PASSWORD env var for password auth
- Remove healthCheckPath (gateway uses WebSocket, not HTTP health)