Vane environment variables: the current configuration map
A source-checked reference for provider variables, SearXNG and persisted settings. Know which values belong in the environment and which belong in the UI.
Version and coverage
This reference follows Vane 1.12.2, commit 348feca3e378fb4157b217724ed508dc707f853f. It covers application configuration variables in the configuration manager and all eight registered provider definitions, plus runtime paths and the Docker search default. It is not a list of every variable inherited by Node, Docker or third-party libraries.
Provider environment variables
A field marked required is required for that provider, not for the entire application. Configuring Ollama does not require an OpenAI key. Empty required fields prevent environment initialization of that provider.
| Variable | Required for provider | Value / behavior |
|---|---|---|
OPENAI_API_KEY |
Yes | OpenAI key; a custom endpoint must accept the configured credential |
OPENAI_BASE_URL |
Yes, default supplied | Defaults to https://api.openai.com/v1; use the base URL expected by an OpenAI-compatible backend |
OLLAMA_BASE_URL |
Yes | Reachable Ollama server, e.g. http://host.docker.internal:11434; do not add /v1 for the native Ollama provider |
GEMINI_API_KEY |
Yes | Gemini provider key |
GROQ_API_KEY |
Yes | Groq provider key |
ANTHROPIC_API_KEY |
Yes | Anthropic provider key; configure embeddings through another compatible provider |
LEMONADE_BASE_URL |
Yes | Your Lemonade server base URL |
LEMONADE_API_KEY |
No | Optional key for the configured Lemonade server |
LM_STUDIO_BASE_URL |
Yes | Your reachable LM Studio server base URL |
The registered Transformers provider exposes no provider environment fields in this version. Its embedding models can be selected through the UI and may require an initial download.
Search and storage
| Variable | Default / context | What to know |
|---|---|---|
SEARXNG_API_URL |
Standard Docker image: http://localhost:8080 |
Seeds the search URL when the stored search setting is empty. Use a reachable custom URL for the slim image. |
DATA_DIR |
Falls back to process working directory | Configuration is stored under the resulting data/config.json path. Preserve the standard volume mount unless you deliberately redesign persistence. |
PORT and HOSTNAME are Next.js standalone runtime settings, not model-provider configuration. This guide keeps the image’s container ports and changes only host-side port mappings. Do not substitute old frontend/backend port variables into current recipes.
What belongs in the setup screen
Choose provider connections, chat models and embedding models in the setup/settings interface. Themes, personal instructions and media preferences are separate UI settings; they do not become environment variables just because they appear in a form.
Persistence and precedence: why your edit may not apply
The configuration manager loads persisted JSON first, then initializes environment providers. Provider configurations are hashed: a matching configuration is not added twice; a changed configuration can add a new provider rather than overwrite an existing one. Removing an environment variable does not necessarily remove a provider already saved in the UI.
The search URL has different behavior: SEARXNG_API_URL is used only if the stored search setting is empty. Recreating a container with a different value can therefore leave an existing persisted URL unchanged. Inspect the UI first; do not delete the data volume to fix one setting.
Applying a Compose environment change
Add only the variables you need to the Vane service:
environment:
OLLAMA_BASE_URL: http://host.docker.internal:11434
docker compose config --quiet
docker compose up -d --force-recreate vane
A plain container restart does not rebuild its environment from an edited Compose file. Avoid sharing fully expanded docker compose config output when it includes secrets; --quiet validates without printing them.
Legacy Perplexica examples
Old TOML-based settings, split frontend/backend installations and older image tags are version-specific. Do not treat old config.toml keys as current environment variables. Keep an old deployment backed up, then use the migration checklist to test the current setup separately.
Before reporting a configuration bug
Check the exact image digest and version, inspect saved provider entries, verify the endpoint from the container network, and note whether the failure is chat, embedding or search. Redact all keys before sharing logs. A provider key stored in a mounted configuration file needs the same protection as an environment secret.
Before you deploy
Why does changing SEARXNG_API_URL not change my existing setup?
The current manager only seeds it when the persisted search field is empty. Review the stored URL in settings before recreating or deleting anything.
Does removing an API key environment variable delete the saved provider?
Not necessarily. Providers are persisted, and environment initialization does not serve as a full reconciliation or deletion mechanism.
Is there an OLLAMA_API_URL variable in this version?
The registered native Ollama provider uses OLLAMA_BASE_URL. Check the source for your exact deployed version rather than copying a similarly named variable.
Sources & verification
Official references checked 2026-10-22. Deployment snippets are documentation-reviewed and Compose-validated; containers and model inference have not been runtime-tested here.
- Vane 1.12.2 README · pinned source ↗
- Vane configuration manager ↗
- Vane Dockerfile ↗
- Provider registry ↗
- openai provider definition ↗
- ollama provider definition ↗
- gemini provider definition ↗
- transformers provider definition ↗
- groq provider definition ↗
- lemonade provider definition ↗
- anthropic provider definition ↗
- lmstudio provider definition ↗