Skip to main content
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