.env.example and built into the CLI.
File-backed values
Every credential listed with file support acceptsNAME_FILE=/path/to/secret instead of NAME=value. Files must be UTF-8, are limited to 64 KiB, and may end with one newline. Configuring both forms is an error. The server-package installer writes generated credentials to operator-owned files under secrets/, with read access limited to the configured container service group.
Server (observal-server)
Core / security
Databases
SSO
OIDC, SAML, and SSO-only mode are configured in Admin → SSO and stored in dynamic settings. OIDC client changes require an API restart. Existing directOAUTH_*, SSO_ONLY, and SAML_* values are imported once when the matching database setting is empty.
File-backed forms such as OAUTH_CLIENT_SECRET_FILE, GOOGLE_OAUTH_CLIENT_SECRET_FILE, GITHUB_OAUTH_CLIENT_SECRET_FILE, INSIGHTS_API_KEY_FILE, SAML_IDP_X509_CERT_FILE, and SAML_SP_KEY_ENCRYPTION_PASSWORD_FILE remain in memory and are not imported into PostgreSQL or Redis. SAML_SP_PRIVATE_KEY_FILE and SAML_SP_X509_CERT_FILE must be configured together and override generated database SP material.
JWT signing
AWS (Bedrock)
Note: Bedrock now supports API keys — generate one from the AWS console and use it like any other provider. See Insights LLM Setup.These environment variables are not required if you use Bedrock API keys (recommended). They exist only for legacy setups using instance roles or ECS task roles where LiteLLM auto-discovers credentials from the environment.
Git operations (submission analysis)
Demo accounts (seeded on first startup if no users exist)
Each demo password supports its corresponding
_FILE form. Remove demo variables and files before a real deployment.
Docker host ports
Used only by Docker Compose. Prometheus and Grafana ports apply only whendocker-compose.observability.yml is included. Remap if a default is already in use.
Grafana
Only used when the optional Grafana overlay or Terraformobservability_stack = "grafana" is enabled.
CLI (observal-cli)
Read from the environment at invocation time. Override values in ~/.observal/config.json per invocation.
The token and password variables support corresponding
_FILE forms. Configuring both a direct variable and its file form is an error. When multiple token aliases are present, the legacy precedence remains OBSERVAL_TOKEN, then OBSERVAL_API_KEY, then OBSERVAL_ACCESS_TOKEN.
Example CI usage:
Related
- Self-Hosting → Configuration, narrative view, grouped by concern
- Config files,
~/.observal/file layout

