Skip to Content
ReferenceEnvironment variables

Environment variables

Every setting DBLoom reads from the environment. Only two are needed to start the Docker image: DBLOOM_PUBLIC_ORIGIN and DBLOOM_TRUST_PROXY. Use the setup guide to build a .env for your case.

The Need column: required means startup is refused without it (under the condition named); conditional means it is needed only in the mode named, often one of two variables; optional means there is a default or the feature stays off.

This page is generated from the program’s own variable registry. Do not edit it by hand.

VariableNeedTypeDefaultDescription
Listener
DBLOOM_HOSToptionalstring127.0.0.1Bind address. The image sets 0.0.0.0. On a non-loopback bind without DBLOOM_PUBLIC_ORIGIN and DBLOOM_TRUST_PROXY the app derives the origin from the proxy and trusts private-range peers (exposure warnings).
PORToptionalint (1 to 65535)3000Listen port.
DBLOOM_PUBLIC_ORIGINconditional (account mode, where passkeys and links need a fixed origin; recommended everywhere)stringPublic origin scheme://host[:port], no path. https unless the host is loopback. Without it (direct mode) the origin, scheme and Host come from each request through the trusted proxy.
DBLOOM_ALLOWED_HOSTSoptionallistComma separated Host values answered (default: host of the origin). Wildcards only on a loopback bind.
DBLOOM_TRUST_PROXYoptionallistTrusted reverse proxies as CIDR list, e.g. 10.0.0.0/8,172.16.0.0/12. Default on a non-loopback bind: any private-range peer (exposure warning). Legacy true is accepted with a warning.
DBLOOM_PROXY_HOPSoptionalint (0 to 16)0Optional number of trusted proxy hops in X-Forwarded-For (0 = rightmost untrusted entry).
DBLOOM_TLSoptionalenum (proxy, own)proxyTLS is terminated by a proxy. own is reserved and refused.
DBLOOM_HSTSoptionalenum (on, off)onStrict-Transport-Security on https origins. off is allowed with a warning.
DBLOOM_HSTS_MAX_AGEoptionalint (0 to 63072000)31536000HSTS max-age in seconds.
DBLOOM_HSTS_SUBDOMAINSoptionalboolfalseAdd includeSubDomains to HSTS.
Lifecycle
DBLOOM_SHUTDOWN_SECONDSoptionalint (1 to 300)25Grace period for in-flight requests after SIGTERM (keep below the container stop grace).
DBLOOM_LOG_LEVELoptionalenum (debug, info, warn, error)infoLog level.
DBLOOM_ALLOW_DEBUGoptionalboolfalseAllow log level debug when NODE_ENV=production (warning).
DBLOOM_PROBE_HOSTSoptionallistlocalhost,127.0.0.1Host values the health probes answer for.
DBLOOM_PROBE_ALLOWoptionallist127.0.0.0/8,::1/128Peers (CIDR) allowed to call the probes.
Limits
DBLOOM_BODY_LIMIT_FUNCTIONS_KIBoptionalint (16 to 65536)1024Request body cap of server functions in KiB.
DBLOOM_BODY_LIMIT_OTHER_KIBoptionalint (1 to 1024)64Request body cap of every other route in KiB.
Store
DBLOOM_STOREoptionalstringsqlitenone runs stateless (direct mode only, nothing persisted).
DBLOOM_DATA_DIRoptionalpath./dataStore directory (the compose file mounts a volume at /data).
Audit
DBLOOM_AUDIT_SINKoptionalstringstdoutExtra audit destination: stdout (default, the audit JSON line always goes to stdout) or file:/absolute/path (append only, mode 0600, one JSON line per event). A failing file is buffered and retried; see the deploy guide.
DBLOOM_AUDIT_ANONYMISE_IPoptionalenum (off, truncate, hash)offAddress in stored, exported and file-sink audit records: off, truncate (IPv4 /24, IPv6 /48) or hash (HMAC under a server key subkey). The stdout line keeps the address.
Notices
DBLOOM_NOTICE_BURST_FAILURESoptionalint (3 to 20)10Failed sign-in steps for one account or one address within the window that raise a notice to administrators.
DBLOOM_NOTICE_BURST_MINUTESoptionalint (1 to 60)10Window in minutes for the failed-attempt notice.
DBLOOM_NOTICE_LOCATION_DAYSoptionalint (7 to 365)90Days an account remembers the networks (/24 IPv4, /48 IPv6) it signed in from; a sign-in from another network raises a notice to administrators.
Audit
DBLOOM_AUDIT_RETENTION_DAYSoptionalint (90 to 1095)365Days the audit log keeps rows; older rows are purged daily (the purge is itself audited).
Settings
DBLOOM_SETTINGS_LOCKoptionallistSetting keys (e.g. mfaScope,loginFailures) the settings page shows read-only at their .env value or default; a stored value is ignored. An unknown key refuses startup.
DBLOOM_MAINTENANCEoptionalboolfalseMaintenance mode forced on: users are refused, administrators and the CLI are not. The settings page cannot switch it off.
DBLOOM_LOGIN_NOTICEoptionalstringPlain text shown above the sign-in form (at most 300 characters, no control characters). Default of the setting; the page may override it.
Targets
DBLOOM_DIRECT_TARGETSconditional (direct mode: set this or DBLOOM_DIRECT_FREE_FORM_ACK)listDirect mode: servers users may connect to, host:port list (SEC-TGT-018).
DBLOOM_DIRECT_FREE_FORM_ACKconditional (direct mode: set this or DBLOOM_DIRECT_TARGETS)boolfalseDirect mode: accept free-form targets (only behind other protections).
DBLOOM_ALLOW_LOOPBACKoptionalboolfalseAllow loopback target addresses (SEC-TGT-030).
DBLOOM_ALLOW_PRIVATEoptionalboolfalseAllow private target addresses (SEC-TGT-030).
DBLOOM_TARGET_TLSoptionalenum (verify, skip-verify, off)verifyTLS to targets.
DBLOOM_CONNECT_TIMEOUT_SECONDSoptionalint10Connect timeout to targets in seconds.
DBLOOM_READ_ONLYoptionalboolfalseForce every session read-only.
DBLOOM_STATEMENT_TIMEOUT_SECONDSoptionalint30Statement timeout in seconds (greater than zero).
Sessions
DBLOOM_SESSION_IDLE_MINUTESoptionalint30Idle session timeout in minutes.
DBLOOM_SESSION_ABSOLUTE_HOURSoptionalint12Absolute session lifetime in hours.
Import and export
DBLOOM_TEMP_DIRoptionalpathStaging and spool files; default <data dir>/tmp.
DBLOOM_TEMP_QUOTA_MIBoptionalint (1 to 10000000)10240Total size of staged and spooled files in MiB.
DBLOOM_IMPORT_MAX_MIBoptionalint (1 to 2048)2048Upper bound of the upload size in MiB.
DBLOOM_IMPORT_DIRoptionalpathEnables importing files from a server folder. Absolute path.
DBLOOM_UPLOAD_DIRoptionalpathReported by the setup wizard only (auth/setup.ts).
Account mode
DBLOOM_LOGIN_MODEoptionalenum (account, direct)Login mode: account or direct. Unset lets the setup wizard choose.
DBLOOM_AUTO_SETUPoptionalenum (direct)Headless direct-mode install (CI, e2e): direct.
DBLOOM_SETUP_TOKENoptionalsecretFixed setup token (otherwise one is generated and printed).
DBLOOM_SETUP_TOKEN_MINUTESoptionalintLifetime of the generated setup token.
DBLOOM_SETUP_NETWORKSoptionallistCIDR list that may reach setup (empty = any address).
DBLOOM_ADMIN_NETWORKSoptionallistCIDR list of administration networks (default loopback).
DBLOOM_SECRET_KEYconditional (account mode: set this or DBLOOM_SECRET_KEY_FILE)secretServer key (base64) for account mode. Never commit.
DBLOOM_SECRET_KEY_FILEconditional (account mode: set this or DBLOOM_SECRET_KEY)pathFile holding the server key.
DBLOOM_SECRET_KEY_PREVIOUSoptionalsecretPrevious server key during rotation.
DBLOOM_MFA_SCOPEoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_MFA_ROLESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_MFA_GRACE_DAYSoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_MFA_FACTORSoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_PRIMARY_CREDENTIALSoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_TOTP_WINDOWoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_PASSWORD_MIN_LENGTHoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_BREACHED_LISToptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_BREACHED_CHECKoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_ARGON2_MEMORY_MIBoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_ARGON2_PASSESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_ARGON2_PARALLELISMoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_VAULT_ARGON2_MEMORY_MIBoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_VAULT_ARGON2_PASSESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_VAULT_ARGON2_PARALLELISMoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_TEMP_PASSWORD_HOURSoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_ADMIN_SESSION_IDLE_MINUTESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_ADMIN_SESSION_ABSOLUTE_HOURSoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_SESSIONS_PER_USERoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_SESSIONS_PER_ADMINoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_SESSIONS_AT_LIMIToptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_LOGIN_FAILURESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_LOGIN_BACKOFF_CAP_MINUTESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_LOGIN_WINDOW_MINUTESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_LOGIN_ADDRESS_FAILURESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_INVITE_HOURSoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_RECOVERY_LINK_HOURSoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_VAULT_PASSPHRASE_MINoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_VAULT_AUTOLOCK_MINUTESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_PERSONAL_PROFILESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_ALLOW_EMPTY_TARGET_PASSWORDoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_DENY_ROOT_TARGEToptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_LOGIN_RECALLoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_STEPUP_MINUTESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_AUTOREVERT_MINUTESoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_ASSISTANT_ENABLEDoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_AI_MODELoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_ASSISTANT_AUTO_ALLOWEDoptionalstringAuth setting override (file 26); validated by the auth module.
DBLOOM_ASSISTANT_HIDE_PII_NAMESoptionalstringAuth setting override (file 26); validated by the auth module.
AI assistant
DBLOOM_AI_BASE_URLoptionalstringBase URL of an OpenAI-compatible chat API (https://host/v1 ). Empty = the assistant is unavailable and nothing is sent anywhere.
DBLOOM_AI_API_KEYoptionalsecretAPI key of the AI service. Never shown, never logged.
DBLOOM_AI_API_KEY_FILEoptionalpathFile holding the API key (Docker secret).
DBLOOM_AI_ALLOW_PRIVATEoptionalboolfalseAllow the AI endpoint on a private or loopback address (a local model server).
DBLOOM_AI_MAX_ROWSoptionalint (1 to 200)50Rows of one result that may go to the AI (PII cells as tokens).
DBLOOM_AI_MAX_STEPSoptionalint (1 to 20)8Model-to-tool round trips for one user message.
DBLOOM_PII_COLUMNSoptionallistColumns whose values the AI never sees, as db.table.column (a part may be *), for example *.*.email,shop.customers.*. Added to the markings kept in the store.
SQL
DBLOOM_SQL_DISABLEDoptionalboolfalseTurns the SQL module off.
DBLOOM_SQL_PARSERoptionalstringoff is the parser kill switch.
DBLOOM_SQL_ROW_CAPoptionalintResult row cap.
DBLOOM_SQL_RESPONSE_MBoptionalintResponse size cap in MB.
DBLOOM_SQL_CELL_KBoptionalintCell size cap in KB.
DBLOOM_SQL_MAX_STATEMENTSoptionalintStatements per run.
DBLOOM_SQL_MAX_CONCURRENT_RUNSoptionalintConcurrent runs per session.
Rows
DBLOOM_ROWS_MAX_PAGE_SIZEoptionalintLargest page size.
DBLOOM_ROWS_EXACT_COUNT_THRESHOLDoptionalintExact count threshold.
DBLOOM_ROWS_VIEW_COUNT_CAPoptionalintCount cap of views.
DBLOOM_ROWS_CELL_BYTESoptionalintCell size cap in bytes.
DBLOOM_ROWS_UPLOAD_BYTESoptionalintCell upload cap in bytes.
DBLOOM_ROWS_BULK_SIZEoptionalintBulk operation size.
DBLOOM_ROWS_INSERT_ROWSoptionalintRows per insert form.
Last updated on