diff --git a/docs/render.mdx b/docs/render.mdx index ee737322d..adfb66207 100644 --- a/docs/render.mdx +++ b/docs/render.mdx @@ -9,6 +9,16 @@ Deploy Moltbot on Render using Infrastructure as Code. The included `render.yaml - A [Render account](https://render.com) (free tier available) - An API key from your preferred [model provider](/providers) +## Alternative: Wrapper with Installer + +For a deployment with a built-in installer and proxied Control UI (including WebSocket support), see the [render_clawdbot wrapper](https://github.com/ojusave/render_clawdbot). This wrapper provides: + +- **Install Wizard** at `/install` (password protected) +- **Control UI** at `/` and `/clawdbot` (reverse-proxied, including WebSockets) +- **Export / Import backups** to migrate deployments + +The wrapper handles proxy header stripping and WebSocket proxying automatically. + ## Deploy with a Render Blueprint Deploy to Render @@ -44,6 +54,18 @@ services: value: /data/workspace - key: CLAWDBOT_GATEWAY_TOKEN generateValue: true # auto-generates a secure token + # LLM Provider API Keys (set these in Render dashboard as secrets) + - key: ANTHROPIC_API_KEY + sync: false + - key: OPENAI_API_KEY + sync: false + - key: GEMINI_API_KEY + sync: false + - key: GROQ_API_KEY + sync: false + - key: OPENROUTER_API_KEY + sync: false + # Add other provider keys as needed (MISTRAL_API_KEY, XAI_API_KEY, etc.) disk: name: moltbot-data mountPath: /data @@ -102,6 +124,50 @@ For debugging, open a shell session via **Dashboard → your service → Shell** Modify variables in **Dashboard → your service → Environment**. Changes trigger an automatic redeploy. +#### Configuring LLM API Keys + +After deployment, you need to configure at least one LLM provider API key. Set these in the Render dashboard: + +**Most common providers:** + +- **Anthropic (Claude)**: `ANTHROPIC_API_KEY` — Get from [Anthropic Console](https://console.anthropic.com/) +- **OpenAI (GPT)**: `OPENAI_API_KEY` — Get from [OpenAI Platform](https://platform.openai.com/api-keys) +- **Google Gemini**: `GEMINI_API_KEY` — Get from [Google AI Studio](https://aistudio.google.com/app/apikey) +- **Groq**: `GROQ_API_KEY` — Get from [Groq Console](https://console.groq.com/keys) +- **OpenRouter**: `OPENROUTER_API_KEY` — Get from [OpenRouter](https://openrouter.ai/keys) + +**Additional providers:** + +- `MISTRAL_API_KEY` — Mistral AI +- `XAI_API_KEY` — xAI (Grok) +- `OPENCODE_API_KEY` — OpenCode Zen +- `DEEPGRAM_API_KEY` — Deepgram (speech-to-text) + +To set API keys: + +1. Go to **Dashboard → your service → Environment** +2. Click **Add Environment Variable** +3. Enter the variable name (e.g., `ANTHROPIC_API_KEY`) +4. Enter your API key value +5. Click **Save Changes** + +The service will automatically redeploy with the new environment variable. + +**Alternative: Config file method** + +You can also configure API keys in the `clawdbot.json` config file using the `env` block, though environment variables are preferred for security: + +```json5 +{ + "env": { + "ANTHROPIC_API_KEY": "sk-ant-...", + "OPENAI_API_KEY": "sk-..." + } +} +``` + +See [Model Providers](/concepts/model-providers) for a complete list of supported providers and their configuration. + ### Auto-deploy If you use the original Moltbot repository, Render will not auto-deploy your Moltbot. To update it, run a manual Blueprint sync from the dashboard. diff --git a/render.yaml b/render.yaml index 7b7c6efec..dd0ff11f6 100644 --- a/render.yaml +++ b/render.yaml @@ -13,6 +13,26 @@ services: value: /data/.clawdbot - key: CLAWDBOT_WORKSPACE_DIR value: /data/workspace + # LLM Provider API Keys - Set these in Render dashboard as secrets + # Required: Set at least one API key for the provider you want to use + - key: ANTHROPIC_API_KEY + sync: false + - key: OPENAI_API_KEY + sync: false + - key: GEMINI_API_KEY + sync: false + - key: GROQ_API_KEY + sync: false + - key: OPENROUTER_API_KEY + sync: false + - key: MISTRAL_API_KEY + sync: false + - key: XAI_API_KEY + sync: false + - key: OPENCODE_API_KEY + sync: false + - key: DEEPGRAM_API_KEY + sync: false disk: name: moltbot-data mountPath: /data