Configuration Reference
Every config key in the backend, auto-generated from source. Each key can be overridden via environment variable — the system checks for ENV_VAR_NODEENV first (e.g., DATABASE_URL_TEST when NODE_ENV=test), then ENV_VAR, then falls back to the default.
database
Source: config/database.ts
| Key | Environment Variable | Default |
|---|---|---|
connectionString | DATABASE_URL | "x" |
autoMigrate | DATABASE_AUTO_MIGRATE | true |
logger
Source: config/logger.ts
| Key | Environment Variable | Default |
|---|---|---|
level | LOG_LEVEL | LogLevel.info |
includeTimestamps | LOG_INCLUDE_TIMESTAMPS | true |
colorize | LOG_COLORIZE | true |
process
Source: config/process.ts
| Key | Environment Variable | Default |
|---|---|---|
name | PROCESS_NAME | "server" |
shutdownTimeout | PROCESS_SHUTDOWN_TIMEOUT | 1000 * 30, |
rateLimit
Source: config/rateLimit.ts
| Key | Environment Variable | Default |
|---|---|---|
enabled | RATE_LIMIT_ENABLED | Bun.env.NODE_ENV === "test" ? false : true, |
windowMs | RATE_LIMIT_WINDOW_MS | 60_000 |
unauthenticatedLimit | RATE_LIMIT_UNAUTH_LIMIT | 20 |
authenticatedLimit | RATE_LIMIT_AUTH_LIMIT | 200 |
keyPrefix | RATE_LIMIT_KEY_PREFIX | "ratelimit" |
oauthRegisterLimit | RATE_LIMIT_OAUTH_REGISTER_LIMIT | 5, |
oauthRegisterWindowMs | RATE_LIMIT_OAUTH_REGISTER_WINDOW_MS | 3_600_000, |
redis
Source: config/redis.ts
| Key | Environment Variable | Default |
|---|---|---|
connectionString | REDIS_URL | "redis://localhost:6379/0", |
session
Source: config/session.ts
| Key | Environment Variable | Default |
|---|---|---|
ttl | SESSION_TTL | 60 * 60 * 24 |
cookieName | SESSION_COOKIE_NAME | "__session" |
cookieHttpOnly | SESSION_COOKIE_HTTP_ONLY | true |
cookieSecure | SESSION_COOKIE_SECURE | false |
cookieSameSite | SESSION_COOKIE_SAME_SITE | CookieSameSite.Strict, |
tasks
Source: config/tasks.ts
| Key | Environment Variable | Default |
|---|---|---|
enabled | TASKS_ENABLED | true |
timeout | TASK_TIMEOUT | 5000 |
taskProcessors | TASK_PROCESSORS | Bun.env.NODE_ENV === "test" ? 0 : 1, |
cli
Source: config/server/cli.ts
| Key | Environment Variable | Default |
|---|---|---|
includeStackInErrors | CLI_INCLUDE_STACK_IN_ERRORS | true, |
quiet | CLI_QUIET | false |
mcp
Source: config/server/mcp.ts
| Key | Environment Variable | Default |
|---|---|---|
enabled | MCP_SERVER_ENABLED | false |
route | MCP_SERVER_ROUTE | "/mcp" |
oauthClientTtl | MCP_OAUTH_CLIENT_TTL | 60 * 60 * 24 * 30, |
oauthCodeTtl | MCP_OAUTH_CODE_TTL | 300 |
web
Source: config/server/web.ts
| Key | Environment Variable | Default |
|---|---|---|
enabled | WEB_SERVER_ENABLED | true |
applicationUrl | APPLICATION_URL | `http://${host}:${port}`, |
apiRoute | WEB_SERVER_API_ROUTE | "/api" |
allowedOrigins | WEB_SERVER_ALLOWED_ORIGINS | "*" |
allowedMethods | WEB_SERVER_ALLOWED_METHODS | "HEAD, GET, POST, PUT, PATCH, DELETE, OPTIONS", |
allowedHeaders | WEB_SERVER_ALLOWED_HEADERS | "Content-Type", |
staticFilesEnabled | WEB_SERVER_STATIC_ENABLED | true |
staticFilesDirectory | WEB_SERVER_STATIC_DIRECTORY | "assets", |
staticFilesRoute | WEB_SERVER_STATIC_ROUTE | "/" |
websocketMaxPayloadSize | WS_MAX_PAYLOAD_SIZE | 65_536, |
websocketMaxMessagesPerSecond | WS_MAX_MESSAGES_PER_SECOND | 20, |
websocketMaxSubscriptions | WS_MAX_SUBSCRIPTIONS | 100, |
includeStackInErrors | WEB_SERVER_INCLUDE_STACK_IN_ERRORS | (Bun.env.NODE_ENV ?? "development" |