For the complete documentation index, see llms.txt. Markdown versions are available by appending .md to page URLs.
Set LOOKOUT_CONFIG to a JSON configuration file. Unknown keys and invalid values fail closed. Relative paths resolve from the configuration file’s directory.
Start from config/lookout.example.json in a source checkout.
Top-level sections
Minimal local configuration
A non-loopback bind requires a credential file or legacy token reference. Production deployments should also require storage encryption and terminate TLS before exposing the service to a network.
Secret references
Configuration stores references, not secret values. Map a logical name to an environment variable or an owner-only file, then use the logical name from the feature configuration.
Literal credentials in export, console sync, and webhook settings are rejected.
Storage encryption
Generate an owner-only 256-bit master key:
Then set storage.requireEncryption to true and provide the key at runtime:
Tailscale collection
Use read-only logs:network:read and logs:configuration:read scopes for the selected modes. Network-flow availability also depends on the tailnet plan and logging settings.
Alert webhook
Delivery uses a durable outbox, stable idempotency keys, bounded retry, and cooldown suppression. Fix a blocked endpoint or credential, then run lookout webhook-resume.
Validate before restart