Environment variables are for bootstrap only.
INIT_DB_HOST, INIT_DB_PORT, INIT_DB_DATABASE, INIT_DB_USERNAME, and INIT_DB_PASSWORD seed the first Database Config at install time. After that, OpenLIT reads and writes ClickHouse through the Database Config stored in the product database — not those env vars on every request.From env vars to Database Config
What still uses env vars
What to change when ClickHouse moves
- Open Organisation → Project → Database configurations (or Connectors → ClickHouse).
- Edit or add a Database Config with the new host/port/database/credentials.
- Mark it active for your user in that project (header Databases switcher).
- Optionally keep
INIT_DB_*in Compose only so new installs still seed a default — do not rely on them for day-2 connection changes.
Add a database configuration
Configs live on the current project. OpenLIT’s Organisation → Projects tab states this explicitly: select a project before managing its Database Config. In Connectors, ClickHouse also appears as the built-in connector.
1
Select a project
In the header, choose the project (and environment) that should own the configuration.
2
Open Database configurations
From Organisation → Projects, use Manage DB Config, or open Connectors → ClickHouse.
3
Add config
Enter Config Name, Environment, Username, Password, Host, Port, Database, and optional Query params.
4
Save and activate
Save, then mark the config active (list checkbox or header Databases switcher). Connectivity is verified when the config becomes active.
Fields
Selection behavior
- Active Database Config is scoped to the current user + project — teammates can select different configs in the same project.
- Switching projects changes the available configs; a config never crosses projects.
- Creating a config seeds default signal bindings (traces, logs, metrics, intelligence) to that ClickHouse for the environment when none exist yet.
Multiple databases and environments
Use several Database Configs when you need separate ClickHouse clusters, retention tiers, or staging vs production without changing organisation. Pair each config’s Environment with connector bindings so telemetry routing stays consistent. See Environments.Environments
How environments replace a single global connection.
Multiple databases
Switch between ClickHouse configs inside a project.
Signal routing
Bind traces, logs, and metrics per environment.
Sharing
A Database Config can be shared with teammates by email with separate edit, delete, and re-share permissions — useful when someone needs the connection without full project admin rights.Frequently asked questions
I changed INIT_DB_HOST in Docker — why is OpenLIT still on the old host?
I changed INIT_DB_HOST in Docker — why is OpenLIT still on the old host?
Runtime uses the Database Config row. Update the config in the UI (or create a new one and activate it).
INIT_DB_* only seeds on first setup.Can one Database Config be used by two projects?
Can one Database Config be used by two projects?
No. Create a config in each project (they can point at the same ClickHouse cluster or database name).
Do I need ClickHouse if I only use Tempo + Loki + Prometheus?
Do I need ClickHouse if I only use Tempo + Loki + Prometheus?
Yes. External connectors serve raw telemetry reads. ClickHouse remains the app store for derived intelligence and vault-backed connector secrets.
Is the password visible after save?
Is the password visible after save?
No. It is masked in the API and UI; only submitting a new value overwrites it.
Connectors
Data-source and memory connectors and actions.
Configuration reference
Full list of bootstrap and OAuth environment variables.

