Complete reference of all environment variables for self-hosted YokeBot.
YokeBot is configured primarily through environment variables. For local development, create a .env file in packages/engine/ (copy from packages/engine/.env.example). For Docker deployments, create a .env file in the repository root (copy from .env.example).
| Variable | Required | Default | Description |
|---|---|---|---|
| DATABASE_URL | No | sqlite:./data/yokebot.db | Database connection string. Set to a Postgres URL for production. |
Supabase is optional for local single-user development. Without these variables, the engine uses a built-in dev user automatically.
| Variable | Required | Default | Description |
|---|---|---|---|
| SUPABASE_JWT_SECRET | No* | — | JWT secret for token verification. *Required for multi-user auth. |
| SUPABASE_URL | No* | — | Your Supabase project URL. *Required for multi-user auth. |
| SUPABASE_ANON_KEY | No* | — | Supabase anonymous (public) key. |
| SUPABASE_SERVICE_ROLE_KEY | No | — | Supabase service role key. Only needed for admin user management. |
At least one LLM provider API key is required for agents to function.
| Variable | Required | Default | Description |
|---|---|---|---|
| DEEPINFRA_API_KEY | Yes* | — | DeepInfra API key. Primary LLM provider for most agent templates. |
| OPENROUTER_API_KEY | No | — | OpenRouter API key. Secondary provider, covers GPT-4o-mini, Grok, etc. |
| YOKEBOT_FALLBACK_ENDPOINT | No | — | Custom OpenAI-compatible endpoint URL for fallback routing. |
| YOKEBOT_FALLBACK_MODEL | No | deepseek-chat | Model name for the fallback endpoint. |
| YOKEBOT_FALLBACK_API_KEY | No | — | API key for the fallback endpoint. |
| Variable | Required | Default | Description |
|---|---|---|---|
| FAL_API_KEY | No | — | fal.ai API key. Required for image, video, 3D, music, and SFX generation. |
| Variable | Required | Default | Description |
|---|---|---|---|
| TAVILY_API_KEY | No | — | API key for Tavily web search. |
| BRAVE_API_KEY | No | — | API key for Brave web search. |
| Variable | Required | Default | Description |
|---|---|---|---|
| PORT | No | 3001 | Port the engine API listens on. |
| PUBLIC_URL | No | http://localhost:3001 | The public-facing URL. Used for OAuth callbacks and webhook URLs. |
| NODE_ENV | No | development | Set to "production" for production deployments. |
| LOG_LEVEL | No | info | Logging level: debug, info, warn, error. |
| Variable | Required | Default | Description |
|---|---|---|---|
| YOKEBOT_ENCRYPTION_KEY | Recommended | — | 32-byte hex key for encrypting stored credentials. Without this, credentials are stored in plaintext. Generate with: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" |
| CORS_ALLOWED_ORIGINS | No | http://localhost:5173 | Comma-separated origins allowed to call the API. |
| Variable | Required | Default | Description |
|---|---|---|---|
| MCP_SERVERS | No | [] | JSON array of MCP server configurations. See the MCP Integration docs. |
| Variable | Required | Default | Description |
|---|---|---|---|
| RESEND_API_KEY | No | — | Resend API key for sending email notifications and onboarding drip emails. |