Skip to main content
Rootprint reads its configuration from environment variables at startup. For Docker deployments, set these under the environment key of the rootprint service in docker-compose.yml.
QUICKWIT_URL must point at a Quickwit 0.9 or later instance. Rootprint does not support older Quickwit releases.

Required

VariableDescription
DATABASE_URLPostgreSQL connection string (e.g. postgres://rootprint:rootprint@db:5432/rootprint). No default.
ORIGINCanonical public URL of this Rootprint instance (e.g. https://logs.example.com). Used for Better Auth callbacks, invite links, CORS allow-list, and cookies. No default. Must be a valid URL.
QUICKWIT_URLQuickwit REST endpoint (e.g. http://quickwit:7280). No default. Must be a valid URL.
Rootprint refuses to start if any required variable is missing, empty, or (for URL variables) not parseable as an http:// or https:// URL.

Optional

VariableDefaultDescription
BETTER_AUTH_SECRETAuto-generatedSecret used to sign session tokens. If unset, Rootprint generates a random 32-byte secret on first boot and persists it in the app_settings table; subsequent boots read the row. If set, must be ≥32 characters or startup fails.
FRONTEND_URLSame as ORIGINAdditional allowed CORS origin. Use this only in split deployments where the SPA is hosted on a different origin than the API. Cookie domain, invite link host, and Better Auth baseURL always derive from ORIGIN, not this.
PORT8282HTTP listen port. Remap the port with the compose ports: block instead of changing this.

Docker Compose example