Skip to content

Configuration

Rounds is configured through environment variables.

Core settings

VariableRequiredDescription
JWT_SECRETYesSecret for signing auth tokens. Minimum 32 characters.
PORTNoAPI server port.
HOSTNoAPI bind host.
CORS_ORIGINSNoComma-separated list of allowed origins.
API_KEYSNoComma-separated service API keys.

LLM settings

VariableRequiredDescription
LLM_PROVIDERNoDefault provider.
LLM_API_KEYNoPrimary provider API key.
LLM_MODELNoDefault model name.
LLM_FALLBACK_PROVIDERNoOptional fallback provider.

Storage settings

VariableRequiredDescription
DATABASE_URLNoDatabase connection string. Use postgres:// or postgresql:// for Postgres. Leave unset for local SQLite mode.
DATABASE_POOL_SIZENoPool size for Postgres.
DATABASE_SSLNoEnable Postgres SSL.
REDIS_URLNoRedis connection string.
REDIS_PREFIXNoRedis key prefix.
DATA_DIRNoLocal data directory for containerized or SQLite mode.
SQLITE_PATHNoExplicit SQLite file path. Overrides DATA_DIR.

Rounds selects its database before the server starts. The setup wizard writes application settings into the active backend; it does not switch databases.

Supported backends:

BackendHow to enableBest for
SQLiteLeave DATABASE_URL unsetLocal development, npm installs, single-process evaluation
PostgresSet DATABASE_URL=postgresql://... before first startProduction, Kubernetes, multi-replica deployments

By default, Rounds uses SQLite:

  • npm: ~/.syntropize/rounds.db
  • Helm/container: ${DATA_DIR}/rounds.db, which defaults to /var/lib/syntropize/rounds.db

When DATABASE_URL starts with postgres:// or postgresql://, Rounds uses Postgres for the full repository layer: auth, RBAC, settings, datasources, dashboards, investigations, alerts, notifications, chat, and feed data. The repository boundary is database-agnostic so additional SQL backends can be added without changing product flows, but SQLite and Postgres are the supported backends today.

Choose the database backend before first startup. The setup wizard can store application settings such as the LLM provider, but it cannot switch databases because Rounds must connect to its database before the wizard can load. Changing DATABASE_URL later starts Rounds against a different empty or pre-existing database; it does not migrate data from SQLite to Postgres.

Docs note

The canonical environment template lives in the repository root as .env.example. Keep that file and this page in sync when configuration changes.

Released under the AGPL-3.0-or-later License.