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/docker-compose.build.yml only after editing source code.

Top-Level Shape

Presets

Example profiles

Validated examples live under docs/config. npm run docs:health checks that each one parses. The examples contain placeholders only. Replace every placeholder or replace_with value before a real deployment.

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. convex is the only accepted app-data provider; postgres and pgvector configs now fail validation with guidance toward convex. Private deployments still require billing.provider="none" and capabilities.billing=false until the billing parity phase. Values such as e2b or self-hosted-playwright still fail during config validation instead of silently falling back.