Skip to main content
Overlay Web loads runtime configuration in this precedence order:
  1. Environment variables.
  2. OVERLAY_CONFIG_FILE, normally overlay.config.json.
  3. Defaults in src/shared/config/defaultOverlayRuntimeConfig.ts.
Use environment variables for secrets. Use JSON config for non-secret deployment shape: provider choices, storage buckets, feature gates, compliance metadata, CSP additions, and model defaults.

Create A Config

For Docker-based enterprise source startup:
This uses the prebuilt ghcr.io/layernorm/overlay-web image by default while keeping the source checkout available for audit and customization. Use docker-compose.build.yml only after editing source code.

Top-Level Shape

Presets

Feature Gates

Feature gates must be enforced in UI and server routes. Disabled server routes return capability_disabled.

Environment Overrides

Common overrides:
Storage overrides:

Validation

Run these before booting or publishing config docs:
The config parser rejects unsupported-but-declared providers with explicit boot errors. postgres app-data config is accepted when OVERLAY_DATABASE_URL is present. Private deployments still require billing.provider="none" and capabilities.billing=false until the billing parity phase. pgvector is supported with Postgres plus an embeddings provider and durable worker; values such as e2b or self-hosted-playwright still fail during config validation instead of silently falling back.