Skip to main content

Configuration

Warnly is configured using environment variables.

Core Server Setup

Server

Server configuration controls how Warnly listens for and serves HTTP and HTTPS connections.

Database

Database configuration defines how Warnly connects to MySQL for primary data storage. Example DSN: warnly:root@tcp(localhost:3306)/warnly?interpolateParams=true&parseTime=true&timeout=2s&loc=UTC

Admin

Initial administrator account configuration.

Authentication

OIDC

OpenID Connect authentication provider configuration.

Sessions

Session management configuration.

Observability

Logging

Logging configuration controls the format and destination of Warnly’s application logs.

Tracing

OpenTelemetry tracing configuration.

Metrics

Prometheus metrics configuration.

Analytics

ClickHouse

ClickHouse configuration for analytics and event storage. Example DSN: clickhouse://root:root@clickhouse:9000/warnly?dial_timeout=900ms&connection_open_strategy=in_order&compress=true&max_open_conns=55&max_idle_conns=50&conn_max_lifetime=5m&max_execution_time=10

Additional Settings

Migration

Database migration settings.

Environment Variable Override

All configuration options can be overridden using environment variables. The naming convention follows the struct tags in the source code (uppercase with underscores replacing camelCase). For example, to override the server port:

Configuration Validation

Warnly validates configuration at startup. Required fields will cause the application to exit with an error if not provided. Optional fields use sensible defaults.