The collector reads its settings from environment variables. Locally, copy .env.example to .env. docker compose up also works without a .env, using the defaults below.
Write key. SDKs and OTLP exporters send it as X-Reqly-Key; it also manages SLOs, specs and projects
REQLY_READ_KEY
demo-read-key
Read key the dashboard sends. It's compiled into the dashboard, so treat it as public to anyone who can open the dashboard. Must differ from the ingest key
PUBLIC_DASHBOARD
true
true: anyone with the dashboard can read (a public demo). false: sign-in required and the read key is refused
REQLY_ADMIN_USERNAME / REQLY_ADMIN_PASSWORD
admin / empty
First admin, created at start-up when there are no users. Password 12+ characters
SESSION_TTL_HOURS
168
How long a sign-in lasts
CORS_ORIGINS
* locally
Comma-separated dashboard origins allowed to call the collector. Restrict it in production
FORWARDED_ALLOW_IPS
127.0.0.1
Behind a proxy, the proxy's IP (or * if the collector is only reachable through it), so rate limits see real client IPs
The collector warns at start-up if the keys are the defaults or if the two keys are equal.
postgresql://reqly:<password>@<host>:5432/reqly. Add ?sslmode=require for a remote database
POSTGRES_PASSWORD
localdev
Local Compose only
The database must be TimescaleDB with the Toolkit: the timescale/timescaledb-ha:pg16 image includes both. The collector applies its migrations on start-up.