Use this page to look up a variable name, its default, and what it controls. For how settings combine, ranges and examples, see the configuration reference.
Maintained by hand. make spec163-env-docs does not overwrite this page. It checks that every variable in edgequake/env_registry.toml appears here, and fails if one is missing. When you add a variable to the registry, add a row here too.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#E0E7FF","primaryBorderColor":"#6366F1","primaryTextColor":"#1E1B4B","secondaryColor":"#D1FAE5","secondaryBorderColor":"#10B981","secondaryTextColor":"#064E3B","tertiaryColor":"#FEF3C7","tertiaryBorderColor":"#F59E0B","tertiaryTextColor":"#6B7A90","lineColor":"#7A889C","clusterBkg":"rgba(99,102,241,0.07)","clusterBorder":"#A5B4FC","noteBkgColor":"#FEF9C3","noteTextColor":"#422006","textColor":"#6B7A90","titleColor":"#6B7A90","signalColor":"#7A889C","signalTextColor":"#6B7A90","loopTextColor":"#6B7A90","edgeLabelBackground":"#F1F5F9","actorLineColor":"#94A3B8"}}}%%
%% eq-theme:v1
flowchart TD
A["Resolve embedding provider"] --> B{"EDGEQUAKE_DEFAULT_EMBEDDING_PROVIDER set?"}
B -->|Yes| C["Use the DEFAULT_ value"]
B -->|No| D{"EDGEQUAKE_EMBEDDING_PROVIDER set?"}
D -->|Yes| E["Use the EMBEDDING_ value"]
D -->|No| F["Use the built-in default (openai)"]
%% eq-classes
classDef eqLlm fill:#FEF3C7,stroke:#F59E0B,color:#451A03
class A,B,D,E,F eqLlm
Workspace defaults check the EDGEQUAKE_DEFAULT_EMBEDDING_* names first. The boot-time embedding override reads only the EDGEQUAKE_EMBEDDING_* names. Set both to the same value so the two paths agree. The same order applies to the model and dimension variables.
| Variable |
Default |
Purpose |
EDGEQUAKE_LLM_PROVIDER |
openai |
Process default LLM provider id. |
EDGEQUAKE_DEFAULT_LLM_PROVIDER |
unset |
Wins over EDGEQUAKE_LLM_PROVIDER when both are set. |
EDGEQUAKE_LLM_MODEL |
gpt-4.1-mini |
Process default chat model. |
EDGEQUAKE_DEFAULT_LLM_MODEL |
unset |
Wins over EDGEQUAKE_LLM_MODEL when both are set. |
EDGEQUAKE_EMBEDDING_PROVIDER |
openai |
Embedding provider. It can differ from the LLM provider. |
EDGEQUAKE_DEFAULT_EMBEDDING_PROVIDER |
unset |
Wins over EDGEQUAKE_EMBEDDING_PROVIDER in workspace defaults. |
EDGEQUAKE_EMBEDDING_MODEL |
text-embedding-3-small |
Embedding model id. |
EDGEQUAKE_DEFAULT_EMBEDDING_MODEL |
unset |
Wins over EDGEQUAKE_EMBEDDING_MODEL in workspace defaults. |
EDGEQUAKE_EMBEDDING_DIMENSION |
detected from the model |
Vector size, used when the catalog has no card for the model. |
EDGEQUAKE_DEFAULT_EMBEDDING_DIMENSION |
unset |
Wins over EDGEQUAKE_EMBEDDING_DIMENSION in workspace defaults. |
EDGEQUAKE_MODELS_CONFIG |
unset |
Path to a models.toml that replaces the bundled catalog. |
OLLAMA_HOST |
http://localhost:11434 |
Ollama base URL. |
OLLAMA_EMBEDDING_HOST |
OLLAMA_HOST |
Separate Ollama host for embeddings. |
LMSTUDIO_HOST |
http://localhost:1234 |
LM Studio base URL. The name is LMSTUDIO_HOST, not LM_STUDIO_BASE_URL. |
OMLX_HOST |
unset |
oMLX base URL. |
OPENAI_API_KEY |
unset |
OpenAI API key. |
OPENAI_BASE_URL |
https://api.openai.com/v1 |
OpenAI base URL. |
OPENAI_COMPATIBLE_BASE_URL |
unset |
Generic OpenAI-shaped server. |
OPENAI_COMPATIBLE_API_KEY |
unset |
API key for the OpenAI-compatible server. |
ANTHROPIC_API_KEY |
unset |
Anthropic API key. |
ANTHROPIC_BASE_URL |
unset |
Anthropic or Anthropic-shaped base URL. |
MISTRAL_API_KEY |
unset |
Mistral API key. |
GEMINI_API_KEY or GOOGLE_API_KEY |
unset |
Gemini API key. |
GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_REGION |
unset, us-central1 |
Vertex AI project and region. Tokens come from GCP identity. |
Provider-specific details are in Providers and Configuration.
| Variable |
Default |
Purpose |
EDGEQUAKE_VISION_PROVIDER |
ollama (when no LLM variable is set) |
Provider for PDF page vision. |
EDGEQUAKE_VISION_MODEL |
provider default (gemma4:latest for Ollama) |
Vision model. |
EDGEQUAKE_VISION_TIMEOUT_SECS |
600 in Compose |
Per-call vision timeout. |
| Variable |
Default |
Purpose |
HOST |
0.0.0.0 |
API bind address. |
PORT |
8080 |
API port. |
RUST_LOG |
edgequake=info,... |
Log filter. |
EDGEQUAKE_LOG_FORMAT |
plain |
json for structured logs. |
EDGEQUAKE_LOG_SPAN_EVENTS |
off |
1 or true logs span close events. |
WORKER_THREADS |
4 times CPU count, at least 4 |
Background task workers. |
| Variable |
Default |
Purpose |
DATABASE_URL |
none (required) |
PostgreSQL connection string. There is no in-memory mode. |
DATABASE_READ_URL |
unset |
Read replica for the query pool. |
EDGEQUAKE_DB_POOL_SIZE_QUERY |
16 |
Query pool maximum. |
EDGEQUAKE_DB_POOL_SIZE_INGEST |
12 |
Ingest pool maximum. |
EDGEQUAKE_DB_POOL_SIZE_QUEUE |
4 |
Task queue pool maximum. |
EDGEQUAKE_DB_POOL_SIZE_ADMIN |
2 |
Admin and migrate pool maximum. |
EDGEQUAKE_DB_POOL_INSTANCE_COUNT |
1 |
Replica count for the boot budget check. |
EDGEQUAKE_DB_POOL_BUDGET_MODE |
warn |
warn or fail when the pools exceed the connection budget. |
DATABASE_POOL_SIZE |
32 |
Sizes the interactive read-path limiter. |
EDGEQUAKE_DOCUMENTS_READ_TIMEOUT_MS |
2500 |
Deadline for catalog reads. Expired reads return 503 read_path_busy. |
| Variable |
Default |
Purpose |
EDGEQUAKE_CHUNK_TIMEOUT_SECS |
180 cloud, 600 local |
Per-chunk LLM timeout. |
EDGEQUAKE_CHUNK_MAX_RETRIES |
3 |
Attempts per chunk. |
EDGEQUAKE_CHUNK_RETRY_DELAY_MS |
1000 |
First retry backoff. |
EDGEQUAKE_MAX_CONCURRENT_EXTRACTIONS |
16 cloud, 1 local |
Parallel extraction calls per document. |
EDGEQUAKE_ALLOW_LOCAL_HIGH_CONCURRENCY |
0 |
1 lifts the caps that apply to local providers. |
EDGEQUAKE_LLM_TIMEOUT_SECS |
600 cloud, 900 local |
HTTP timeout for LLM calls. |
EDGEQUAKE_LLM_MAX_TOKENS |
16384 |
Maximum response tokens. |
EDGEQUAKE_EXTRACTION_MODE |
llm |
Fleet default extraction mode: llm or decision. |
EDGEQUAKE_EXTRACTION_LANGUAGE |
English |
Default extraction language. A workspace can override it. |
EDGEQUAKE_CITATION_REQUIRE |
1 |
Merged items must carry source chunk IDs. |
EDGEQUAKE_CONTEXTUAL_CHUNK |
0 |
Add a context preamble to each chunk. |
| Variable |
Default |
Purpose |
MAX_TASKS_PER_TENANT |
about three quarters of workers |
Ingest tasks per tenant. 0 disables the cap. |
MAX_LIFECYCLE_TASKS_PER_TENANT |
same as the ingest cap |
Delete and reprocess lane cap. |
EDGEQUAKE_TASK_LEASE_TTL_SECS |
120 (minimum 30) |
Claim lease for a task. |
EDGEQUAKE_REPLICAS |
1 |
Intended API process count. |
EDGEQUAKE_TASK_DELIVERY |
local |
local, bridged or notify_only. Required when replicas is above 1. |
EDGEQUAKE_STARTUP_AUTO_RESUME |
on |
Reclaim interrupted tasks at boot. 0 marks them Failed. |
TASK_PROCESSING_TIMEOUT_SECS |
per-document profile |
Overrides the convert and ingest timeouts. |
| Variable |
Default |
Purpose |
EDGEQUAKE_MIGRATION_MODE |
verify |
off, verify or automatic. |
EDGEQUAKE_LLM_CACHE |
1 |
Master switch for the keyword and answer caches. |
EDGEQUAKE_PROMPT_CACHE |
1 |
Provider prompt-cache hints. |
EDGEQUAKE_PROMPT_CACHE_TTL |
5m |
Anthropic and Bedrock cache TTL: 5m or 1h. |
EDGEQUAKE_NATIVE_GRAPH_WRITES |
1 |
Native AGE upserts. 0 uses Cypher MERGE. |
EDGEQUAKE_HNSW_EF_CONSTRUCTION |
128 |
HNSW build parameter for new indexes. |
EDGEQUAKE_HNSW_ITERATIVE_SCAN |
relaxed_order |
pgvector iterative scan mode. |
| Variable |
Default |
Purpose |
EDGEQUAKE_AUTH_ENABLED |
on |
Explicit auth on or off. Wins over dev mode. |
EDGEQUAKE_DEV_MODE |
false |
Open API for local use. |
JWT_SECRET |
insecure default |
JWT HMAC secret, at least 32 bytes. Fatal at boot if weak and dev mode is off. |
JWT_EXPIRY_SECONDS |
900 |
Access token lifetime. |
EDGEQUAKE_SECRETS_KEY |
unset |
32-byte envelope key for stored connection secrets. |
EDGEQUAKE_SETUP_TOKEN |
unset |
Required header for POST /api/v1/setup/initialize when set. |
EDGEQUAKE_CORS_ORIGINS |
unset |
Comma-separated allowed origins. |
EDGEQUAKE_RATE_LIMIT_ENABLED |
false |
Turn on rate limiting. |
EDGEQUAKE_STRICT_STARTUP |
false |
Turn startup warnings into fatal errors. |
Full guides: Enable login and Runtime auth hardening.
| Variable |
Default |
Purpose |
LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY |
unset |
With both set, trace export turns on. |
LANGFUSE_BASE_URL |
https://cloud.langfuse.com |
Langfuse UI and OTLP base URL. |
EDGEQUAKE_LANGFUSE_API |
auto |
auto, otlp or ingestion. |
| Variable |
Default |
Purpose |
EDGEQUAKE_DECISION_ENABLED |
on |
0 locks decision extraction off. workspace lets each workspace opt in. |
EDGEQUAKE_DECISION_MODEL |
tev1:0.8b |
Default decision model tag. |
EDGEQUAKE_DECISION_BASE_URL |
http://localhost:11434 |
Decision Ollama URL. It does not follow OLLAMA_HOST. |
EDGEQUAKE_DECISION_PACK_SIZE |
4 |
Questions per request (1 to 16). |
EDGEQUAKE_DECISION_TIMEOUT_SECS |
600 |
Per-request timeout. |
Details: Configuration: decision extraction.
| Variable |
Default |
Purpose |
EDGEQUAKE_API_URL |
set by make dev |
API URL the Web UI server uses at runtime. |
EDGEQUAKE_HEALTH_POLL_MS |
unset |
Health poll interval. Unset means one probe on load. |
NEXT_PUBLIC_AUTH_ENABLED, NEXT_PUBLIC_DISABLE_DEMO_LOGIN |
build-time |
Login UI switches in custom builds. |