Skip to content

Environment Variables Reference ​

Canonical runtime environment variable table for NornicDB (non-test Go code references).

Columns: Variable, Description, Type, Default, Valid Values / Range, Notes, Source.

Precedence ​

For variables flagged in the Notes column as a per-database override key, the variable is a supported environment alternative to a canonical dotted database setting. The runtime resolver uses this ladder, lowest to highest:

  1. Built-in defaults baked into pkg/config.LoadDefaults.
  2. Global config from YAML (memory.search_* and similar blocks) and env vars (NORNICDB_*).
  3. Explicit process overrides from flags explicitly supplied to nornicdb serve.
  4. Persisted per-database settings from the YAML databases: map (seeded on first boot only) and the admin API (PUT /admin/databases/{name}/config).

Use canonical names such as db.nornic.search.bm25.enabled in the database API and YAML databases: map. Environment names such as NORNICDB_SEARCH_BM25_ENABLED remain supported and are not deprecated. See Per-database configuration overrides for the complete mapping.

Total variables: 366

VariableDescriptionTypeDefaultValid Values / RangeNotesSource
NORNICDB_ACCESS_CONTROL_ENABLEDAccess control enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_ADDRESSBind address (127.0.0.1 for localhost only, 0.0.0.0 for all interfaces)string127.0.0.1See source—cmd/nornicdb/main.go
NORNICDB_ALLOW_HTTPAllowHTTP permits non-TLS connections (development only)stringSee sourceSee source—pkg/config/config.go
NORNICDB_ALLOW_REMOTE_EVALAllow remote evalstring(unset)See source—cmd/eval/main.go
NORNICDB_ANONYMIZATION_ENABLEDAnonymization enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_ANONYMIZATION_METHODAnonymization methodstringSee sourceSee source—pkg/config/config.go
NORNICDB_APOC_ApocstringSee sourceSee source—apoc/config.go
NORNICDB_APOC_ALGO_ENABLEDApoc algo enabledstringSee sourceSee source—apoc/config.go
NORNICDB_APOC_SECURITY_ALLOW_DYNAMIC_CREATIONApoc security allow dynamic creationstring(unset)See source—apoc/config.go
NORNICDB_APOC_SECURITY_ALLOW_FILE_ACCESSLegacy shorthand enabling both APOC import and export local file accessstring(unset)See sourcePrefer the split import/export variables for new deploymentsapoc/config.go
NORNICDB_APOC_SECURITY_ALLOW_IMPORT_FILE_ACCESSAllow APOC import and load procedures to read local filesstring(unset)See source—apoc/config.go
NORNICDB_APOC_SECURITY_ALLOW_EXPORT_FILE_ACCESSAllow APOC export procedures to write local filesstring(unset)See source—apoc/config.go
NORNICDB_APOC_SECURITY_ALLOW_REMOTE_URL_ACCESSAllow APOC load/import procedures to fetch remote HTTP(S) URLsstring(unset)See sourceDisabled by default; still rejects hosts resolving to loopback/private/link-local addressesapoc/config.go
NORNICDB_APOC_SECURITY_FILE_ACCESS_ROOTRoot directory used to normalize and constrain APOC local file paths when setstring(unset)See sourceMirrors Neo4j-style import root behaviorapoc/config.go
NORNICDB_APOC_SECURITY_MAX_COLLECTION_SIZEApoc security max collection sizestring(unset)See source—apoc/config.go
NORNICDB_ASYNC_FLUSH_INTERVALAsyncFlushInterval is the initial rotation delay for the adaptive write-behind buffer. auto (default) lets the runtime adapt the delay to the measured drain latency, clamped to 5ms-1s. A positive value fixes the initial delay; it still adapts afterward.stringauto>= 0—pkg/config/config.go
NORNICDB_ASYNC_MAX_OPSAsyncMaxOps caps the write-behind buffer's generation size in buffered operations. auto (default) uses the engine's researched default cap (100,000 ops); a positive value overrides it.numberauto>= 0—pkg/config/config.go
NORNICDB_ASYNC_MAX_EDGE_CACHE_SIZEAsyncMaxEdgeCacheSize is a deprecated legacy cap on buffered edges. Prefer NORNICDB_ASYNC_MAX_OPS. When AsyncMaxOps is unset and either legacy cap is set, their sum is used as the generation cap. Kept for compatibility.numberautoSee sourceDeprecated; prefer NORNICDB_ASYNC_MAX_OPSpkg/config/config.go
NORNICDB_ASYNC_MAX_NODE_CACHE_SIZEAsyncMaxNodeCacheSize is a deprecated legacy cap on buffered nodes. Prefer NORNICDB_ASYNC_MAX_OPS. When AsyncMaxOps is unset and either legacy cap is set, their sum is used as the generation cap. Kept for compatibility.numberautoSee sourceDeprecated; prefer NORNICDB_ASYNC_MAX_OPSpkg/config/config.go
NORNICDB_ASYNC_WRITES_ENABLEDAsyncWritesEnabled enables async writes for faster performance. Writes return immediately after caching; flushed to disk in background.stringSee sourceSee source—pkg/config/config.go
NORNICDB_AUDIT_ENABLEDAudit enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_AUDIT_LOG_PATHAudit log pathstringSee sourceSee source—pkg/config/config.go
NORNICDB_AUDIT_RETENTION_DAYSAudit retention daysnumber0See source—pkg/config/config.go
NORNICDB_AUTHAuthstringSee sourceSee source—pkg/config/config.go
NORNICDB_AUTH_JWT_SECRETAuth jwt secretstringSee sourceSee sourceSensitive; inject via secrets manager/runtime envpkg/config/config.go
NORNICDB_AUTH_PROVIDERAuth providerstring(unset)Provider-specific; see feature docs—pkg/auth/oauth.go (+1)
NORNICDB_AUTH_TOKEN_EXPIRYAuth token expirystringSee sourceSee sourceSensitive; inject via secrets manager/runtime envpkg/config/config.go
NORNICDB_AUTO_LINKS_ENABLEDAuto links enabledbooleanSee sourcetrue | falsePer-database override key (Auto-links)pkg/config/config.go (+2)
NORNICDB_AUTO_LINKS_THRESHOLDAuto links thresholdnumberSee sourceSee sourcePer-database override key (Auto-links)pkg/config/config.go (+2)
NORNICDB_AUTO_RECOVER_ON_CORRUPTIONAuto recover on corruptionstring(unset)See source—pkg/nornicdb/db.go (+1)
NORNICDB_AUTO_TLP_ENABLEDAuto tlp enabledbooleanSee sourcetrue | falsePer-database override key (Auto-TLP)pkg/config/config.go (+3)
NORNICDB_AUTO_TLP_LLM_AUGMENT_ENABLEDAuto tlp llm augment enabledbooleanSee sourcetrue | falsePer-database override key (Auto-TLP)pkg/config/dbconfig/keys.go (+1)
NORNICDB_AUTO_TLP_LLM_QC_ENABLEDAuto tlp llm qc enabledbooleanSee sourcetrue | falsePer-database override key (Auto-TLP)pkg/config/dbconfig/keys.go (+1)
NORNICDB_BADGER_EDGE_TYPE_CACHE_MAX_TYPESBadgerEdgeTypeCacheMaxTypes is the max distinct edge types to cache for GetEdgesByType. When exceeded, the cache is cleared (simple eviction).number-1See source—pkg/config/config.go
NORNICDB_BADGER_NODE_CACHE_MAX_ENTRIESBadgerNodeCacheMaxEntries is the max nodes to keep in the hot node cache. When exceeded, the cache is cleared (simple eviction).number-1See source—pkg/config/config.go
NORNICDB_BASE_PATHBase URL path for reverse proxy deployment (e.g., /nornicdb)stringSee sourceSee source—cmd/nornicdb/main.go
NORNICDB_BM25_PREFIX_MAX_EXPANSIONSMaximum bounded prefix expansions per query term. Set above zero only when partial-token matching is required; exact-token retrieval is the default.number0integer >= 0—pkg/search/fulltext_index_v2.go
NORNICDB_BM25_PREFIX_MIN_LENBm25 prefix min lennumber3See source—pkg/search/fulltext_index_v2.go
NORNICDB_BOLT_ADDRESSBolt addressstringSee sourceSee source—pkg/config/config.go
NORNICDB_BOLT_ENABLEDBolt enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_BOLT_PORTBolt protocol port (Neo4j compatible)number76871..65535—cmd/nornicdb/main.go (+1)
NORNICDB_BOLT_SERVER_ANNOUNCEMENTOverride the Bolt HELLO SUCCESS server metadata for strict client compatibility checks such as cypher-shellstring(unset)Any non-empty stringLeave unset for native NornicDB announcement; use only as a compatibility workaroundpkg/config/config.go
NORNICDB_BOLT_MAX_CONNECTIONSMaximum concurrent Bolt connections, across raw, TLS and WebSocket transports; 0 leaves it uncappednumber0>= 0; 0 = no capEach connection past a positive cap is closed and counted in bolt_connections_rejected_total{reason=max_connections}; rejections are logged (at most every 30s). YAML: server.bolt_max_connectionspkg/config/config.go
NORNICDB_BOLT_TLS_ENABLEDBolt tls enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_BOLT_TLS_CERTPath to Bolt TLS certificate PEM (cert rotation re-reads every 5s)string(unset)filesystem pathRequired when NORNICDB_BOLT_TLS_ENABLED=truepkg/config/config.go
NORNICDB_BOLT_TLS_KEYPath to Bolt TLS private key PEMstring(unset)filesystem pathRequired when NORNICDB_BOLT_TLS_ENABLED=truepkg/config/config.go
NORNICDB_BOLT_TLS_REQUIREReject any plaintext connection on the Bolt port (raw OR ws)boolfalsetrue / falseReturns the canonical Neo4j error to plaintext driverspkg/config/config.go
NORNICDB_BOLT_TLS_CLIENT_CAPath to client-CA bundle for mTLSstring(unset)filesystem pathPairs with NORNICDB_BOLT_TLS_CLIENT_AUTH_MODEpkg/config/config.go
NORNICDB_BOLT_TLS_CLIENT_AUTH_MODEClient-cert handling: none, request, request_verify, require_verifystringnoneenumMaps to tls.Config.ClientAuthpkg/config/config.go
NORNICDB_BOLT_SNIFF_TIMEOUTBound on the transport-sniff peekduration5s> 0Timeout closes the conn and increments bolt_connections_rejected_total{reason=sniff_timeout}pkg/config/config.go
NORNICDB_BOLT_AUTH_TIMEOUTPre-HELLO handshake/auth budget after transport selectionduration30s> 0Matches Neo4j defaultpkg/config/config.go
NORNICDB_BOLT_STATEMENT_TIMEOUTFallback cap for a Bolt RUN when the client did not send tx_timeoutdurationdisabled> 0Server-side safety net for long-running reads/writes over Boltpkg/config/config.go
NORNICDB_BOLT_WEBSOCKET_ENABLEDAccept WebSocket transport on the Bolt portbooltruetrue / falseWhen false, real WS upgrades return 426; plain GET / still serves discoverypkg/config/config.go
NORNICDB_BOLT_WEBSOCKET_ALLOWED_ORIGINSComma-separated allowlist of WS Origin headersstring*comma-separated origins, or *Browser drivers cross-origin to a remote DB by defaultpkg/config/config.go
NORNICDB_BOLT_WEBSOCKET_MAX_MESSAGE_SIZEInbound WS BinaryMessage size limitnumber65536bytes; matches Neo4j MAX_WEBSOCKET_FRAME_SIZEExceeding triggers WS close 1009 + websocket_oversized_total++pkg/config/config.go
NORNICDB_BOLT_WEBSOCKET_WRITE_BUFFER_SIZEbufio writer size for WS sessionsnumber262144> 0Sized so a typical RECORD batch lands in one framepkg/config/config.go
NORNICDB_BOLT_WEBSOCKET_PING_INTERVALServer WS ping cadenceduration30s> 0WriteControl is gorilla-internal; safe alongside data writespkg/config/config.go
NORNICDB_BOLT_WEBSOCKET_PONG_TIMEOUTPong arrival deadlineduration60s> 0Closes idle WS sessions silently dropped by load balancerspkg/config/config.go
NORNICDB_BREACH_DETECTION_ENABLEDBreach detection enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_BREACH_NOTIFY_EMAILBreach notify emailstringSee sourceSee source—pkg/config/config.go
NORNICDB_BREACH_NOTIFY_WEBHOOKBreach notify webhookstringSee sourceSee source—pkg/config/config.go
NORNICDB_CLUSTER_ADVERTISE_ADDRCluster advertise address (defaults to bind addr)stringSee sourceSee source—cmd/nornicdb/main.go (+1)
NORNICDB_CLUSTER_BIND_ADDRCluster bind address for replication protocol (e.g., 127.0.0.1:7000)stringSee sourceSee source—cmd/nornicdb/main.go (+1)
NORNICDB_CLUSTER_CONFLICT_STRATEGYCluster conflict strategystringlast_write_winsSee source—pkg/replication/config.go
NORNICDB_CLUSTER_CROSS_REGION_BATCH_SIZECluster cross region batch sizenumber100See source—pkg/replication/config.go
NORNICDB_CLUSTER_CROSS_REGION_BATCH_TIMEOUTCluster cross region batch timeoutduration100*time.Millisecond>= 0—pkg/replication/config.go
NORNICDB_CLUSTER_CROSS_REGION_MODECluster cross region modestringSee sourceSee source—pkg/replication/config.go
NORNICDB_CLUSTER_DATA_DIRCluster state directory (defaults to <data-dir>/replication)stringSee sourceSee source—cmd/nornicdb/main.go (+2)
NORNICDB_CLUSTER_HA_AUTO_FAILOVERCluster ha auto failoverbooleantruetrue | false—pkg/replication/config.go
NORNICDB_CLUSTER_HA_FAILOVER_TIMEOUTCluster ha failover timeoutduration30*time.Second>= 0—pkg/replication/config.go
NORNICDB_CLUSTER_HA_HEARTBEAT_MSCluster ha heartbeat msstringSee sourceSee source—pkg/replication/config.go
NORNICDB_CLUSTER_HA_MAX_RECONNECT_BACKOFFCluster ha max reconnect backoffduration30*time.Second>= 0—pkg/replication/config.go
NORNICDB_CLUSTER_HA_PEER_ADDRHA standby peer cluster address (host:port)stringSee sourceSee source—cmd/nornicdb/main.go (+1)
NORNICDB_CLUSTER_HA_RECONNECT_INTERVALCluster ha reconnect intervalduration5*time.Second>= 0—pkg/replication/config.go
NORNICDB_CLUSTER_HA_ROLEHA standby role: primary|standbystringSee sourceSee source—cmd/nornicdb/main.go (+1)
NORNICDB_CLUSTER_HA_SYNC_MODECluster ha sync modestringSee sourceSee source—pkg/replication/config.go
NORNICDB_CLUSTER_HA_WAL_BATCH_SIZECluster ha wal batch sizenumber1000See source—pkg/replication/config.go
NORNICDB_CLUSTER_HA_WAL_BATCH_TIMEOUTCluster ha wal batch timeoutduration10*time.Millisecond>= 0—pkg/replication/config.go
NORNICDB_CLUSTER_MODECluster mode: standalone|ha_standby|raft|multi_region (empty disables clustering)stringSee sourceSee source—cmd/nornicdb/main.go (+2)
NORNICDB_CLUSTER_NODE_IDCluster node ID (empty auto-generates)stringSee sourceSee source—cmd/nornicdb/main.go (+1)
NORNICDB_CLUSTER_RAFT_BOOTSTRAPRaft bootstrap (true for first node in a new cluster)booleanfalsetrue | false—cmd/nornicdb/main.go (+1)
NORNICDB_CLUSTER_RAFT_CLUSTER_IDCluster raft cluster idstringnornicdbSee source—pkg/replication/config.go
NORNICDB_CLUSTER_RAFT_COMMIT_TIMEOUTCluster raft commit timeoutduration50*time.Millisecond>= 0—pkg/replication/config.go
NORNICDB_CLUSTER_RAFT_ELECTION_TIMEOUTCluster raft election timeoutduration1*time.Second>= 0—pkg/replication/config.go
NORNICDB_CLUSTER_RAFT_HEARTBEAT_TIMEOUTCluster raft heartbeat timeoutduration100*time.Millisecond>= 0—pkg/replication/config.go
NORNICDB_CLUSTER_RAFT_LEADER_LEASE_TIMEOUTCluster raft leader lease timeoutduration500*time.Millisecond>= 0—pkg/replication/config.go
NORNICDB_CLUSTER_RAFT_MAX_APPEND_ENTRIESCluster raft max append entriesnumber64See source—pkg/replication/config.go
NORNICDB_CLUSTER_RAFT_MAX_INFLIGHT_LOGSCluster raft max inflight logsnumber512See source—pkg/replication/config.go
NORNICDB_CLUSTER_RAFT_PEERSRaft peers (format: node2:host2:7000,node3:host3:7000)stringSee sourceSee source—cmd/nornicdb/main.go (+1)
NORNICDB_CLUSTER_RAFT_SNAPSHOT_INTERVALCluster raft snapshot intervalnumber300>= 0—pkg/replication/config.go
NORNICDB_CLUSTER_RAFT_SNAPSHOT_RETAINCluster raft snapshot retainnumber3See source—pkg/replication/config.go
NORNICDB_CLUSTER_RAFT_SNAPSHOT_THRESHOLDCluster raft snapshot thresholdnumber10000See source—pkg/replication/config.go
NORNICDB_CLUSTER_RAFT_TRAILING_LOGSCluster raft trailing logsnumber10000See source—pkg/replication/config.go
NORNICDB_CLUSTER_READ_CONSISTENCYCluster read consistencystringSee sourceSee source—pkg/replication/config.go
NORNICDB_CLUSTER_REGION_IDCluster region idstringSee sourceSee source—pkg/replication/config.go
NORNICDB_CLUSTER_REMOTE_REGIONSCluster remote regionsstringSee sourceSee source—pkg/replication/config.go
NORNICDB_CLUSTER_REPLICATION_SECRETCluster replication secretstringSee sourceSee sourceSensitive; inject via secrets manager/runtime envpkg/replication/config.go
NORNICDB_CLUSTER_TLS_CA_FILECluster tls ca filestringSee sourceSee source—pkg/replication/config.go
NORNICDB_CLUSTER_TLS_CERT_FILECluster tls cert filestringSee sourceSee source—pkg/replication/config.go
NORNICDB_CLUSTER_TLS_CIPHER_SUITESCluster tls cipher suitesstringSee sourceSee source—pkg/replication/config.go
NORNICDB_CLUSTER_TLS_ENABLEDCluster tls enabledbooleanfalsetrue | false—pkg/replication/config.go
NORNICDB_CLUSTER_TLS_INSECURE_SKIP_VERIFYCluster tls insecure skip verifybooleanfalsetrue | false—pkg/replication/config.go
NORNICDB_CLUSTER_TLS_KEY_FILECluster tls key filestringSee sourceSee sourceSensitive; inject via secrets manager/runtime envpkg/replication/config.go
NORNICDB_CLUSTER_TLS_MIN_VERSIONCluster tls min versionstring1.2See source—pkg/replication/config.go
NORNICDB_CLUSTER_TLS_SERVER_NAMECluster tls server namestringSee sourceSee source—pkg/replication/config.go
NORNICDB_CLUSTER_TLS_VERIFY_CLIENTCluster tls verify clientbooleantruetrue | false—pkg/replication/config.go
NORNICDB_CLUSTER_TRACE_WRITESCluster trace writesstring(unset)See source—pkg/replication/ha_standby.go
NORNICDB_CLUSTER_WRITE_CONSISTENCYCluster write consistencystringSee sourceSee source—pkg/replication/config.go
NORNICDB_CONFIGPath to YAML config file (overrides auto-discovery)stringSee sourceSee source—cmd/nornicdb/main.go (+1)
NORNICDB_CONSENT_AUDIT_TRAILConsent audit trailstringSee sourceSee source—pkg/config/config.go
NORNICDB_CONSENT_REQUIREDConsent requiredstringSee sourceSee source—pkg/config/config.go
NORNICDB_CONSENT_VERSIONINGConsent versioningstringSee sourceSee source—pkg/config/config.go
NORNICDB_COOLDOWN_AUTO_INTEGRATION_ENABLEDCooldown auto integration enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_COOLDOWN_ENABLEDCooldown enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_CORS_ENABLEDEnableCORS enables CORS headers for cross-origin requestsstringSee sourceSee source—pkg/config/config.go
NORNICDB_CORS_ORIGINSCORSOrigins is a comma-separated list of allowed origins Use "*" to allow all origins (not recommended for production with credentials)stringSee sourceSee source—pkg/config/config.go
NORNICDB_CYPHER_QUERY_NORMALIZATIONNormalizes Cypher query text before a statement runs: comments and runs of whitespace outside string literals and quoted names become one space, as Neo4j ignores them. Column names, error messages and plans still show the statement as sent.booleantruetrue | false (also 1 | 0)Disable only if your client strips comments and collapses whitespace itself; with it off, statements with comments or unusual spacing may fail. Permission checks and write detection don't depend on it.pkg/config/feature_flags.go
NORNICDB_DATA_ACCESS_ENABLEDData access enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_DATA_DIRData directorystring./dataSee source—cmd/nornicdb/main.go (+1)
NORNICDB_DATA_ERASURE_ENABLEDData erasure enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_DATA_EXPORT_ENABLEDData export enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_DEBUGDebugstring(unset)See source—pkg/server/server_middleware.go
NORNICDB_DEFAULT_DATABASEDefault databasestringSee sourceSee source—pkg/config/config.go
NORNICDB_EDGE_DECAY_ENABLEDEdge decay enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_EDGE_PROVENANCE_AUTO_INTEGRATION_ENABLEDEdge provenance auto integration enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_EDGE_PROVENANCE_ENABLEDEdge provenance enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_EMBEDDING_API_KEYEmbeddings API key (OpenAI-compatible providers, including OrcaRouter and Voyage)stringSee sourceSee sourcePer-database override key (Embeddings); Sensitive; inject via secrets manager/runtime envcmd/nornicdb/main.go (+4)
NORNICDB_EMBEDDING_API_URLEmbedding API URL (Ollama, OpenAI-compatible providers, or Voyage)stringhttp://localhost:11434See sourcePer-database override key (Embeddings)cmd/nornicdb/main.go (+4)
NORNICDB_EMBEDDING_CACHE_SIZEEmbedding cache size (0=disabled, default 10000)number10000See sourcePer-database override key (Embeddings)cmd/nornicdb/main.go (+3)
NORNICDB_EMBEDDING_DIMENSIONSEmbedding dimensionsnumber1024See sourcePer-database override key (Embeddings)cmd/nornicdb/main.go (+4)
NORNICDB_EMBEDDING_ENABLEDEnable embedding generation (semantic search). Default is off unless enabled via config/env.booleanfalsetrue | falsePer-database override key (Embeddings)cmd/nornicdb/main.go (+3)
NORNICDB_EMBEDDING_GPU_LAYERSGPU layers for local provider: -1=auto, 0=CPU onlynumber-1See sourcePer-database override key (Embeddings)cmd/nornicdb/main.go (+4)
NORNICDB_EMBEDDING_INCLUDE_LABELSEmbedding include labelsbooleanSee sourcetrue | falsePer-database override key (Embeddings)pkg/config/config.go (+2)
NORNICDB_EMBEDDING_MODELEmbedding model namestringbge-m3See sourcePer-database override key (Embeddings)cmd/nornicdb/main.go (+4)
NORNICDB_EMBEDDING_PROPERTIES_EXCLUDEEmbedding properties excludestringSee sourceSee sourcePer-database override key (Embeddings)pkg/config/config.go (+2)
NORNICDB_EMBEDDING_PROPERTIES_INCLUDEEmbedding properties includestringSee sourceSee sourcePer-database override key (Embeddings)pkg/config/config.go (+2)
NORNICDB_EMBEDDING_RELATIONSHIP_PROPERTIES_EXCLUDEProperties never used in relationship search embedding text. Unset, NORNICDB_EMBEDDING_PROPERTIES_EXCLUDE applies.string(unset)comma-separated property names—pkg/config/config.go
NORNICDB_EMBEDDING_RELATIONSHIP_PROPERTIES_INCLUDEOnly these properties build relationship search embedding text. Unset, NORNICDB_EMBEDDING_PROPERTIES_INCLUDE applies.string(unset)comma-separated property names—pkg/config/config.go
NORNICDB_EMBEDDING_PROVIDEREmbedding provider: local, ollama, openai, orca, voyagestringlocalProvider-specific; see feature docsPer-database override key (Embeddings)cmd/nornicdb/main.go (+4)
NORNICDB_EMBEDDING_MODEProvider-specific embedding modestringtextFree-formPer-database override key (Embeddings)cmd/nornicdb/main.go (+2)
NORNICDB_EMBEDDING_WARMUP_INTERVALEmbeddingWarmupInterval for periodic model warmupdurationSee source>= 0Per-database override key (Embeddings)pkg/config/config.go (+2)
NORNICDB_EMBEDDING_CTX_TYPEllama.cpp context type for embedding model (0=default, 1=MTP). Only set to 1 if the model has MTP layers.number00 | 1—pkg/config/config.go
NORNICDB_EMBEDDING_POOLING_TYPEEmbedding pooling strategy (1=mean, 2=cls, 3=last, 4=rank). Default: 1 (mean pooling).number11 | 2 | 3 | 4—pkg/config/config.go
NORNICDB_EMBEDDING_ATTENTION_TYPEAttention masking for embedding model (0=causal, 1=non-causal/BERT-style). Default: 1 (non-causal).number10 | 1—pkg/config/config.go
NORNICDB_EMBEDDING_FLASH_ATTNFlash attention for embedding model (-1=auto, 0=disabled, 1=enabled). Default: -1 (auto-detect).number-1-1 | 0 | 1—pkg/config/config.go
NORNICDB_EMBEDDING_LAZY_MODEllama.cpp lazy tensor loading for the embedding model (0=off, 1=auto, 2=on).number10 | 1 | 2—pkg/config/config.go
NORNICDB_EMBED_BATCH_DELAYEmbed batch delaydurationSee source>= 0Per-database override key (Embed worker)pkg/config/config.go (+2)
NORNICDB_EMBED_CHUNK_OVERLAPEmbed chunk overlapnumber0See sourcePer-database override key (Embed worker)pkg/config/config.go (+2)
NORNICDB_EMBED_CHUNK_SIZEEmbed chunk sizenumber0See sourcePer-database override key (Embed worker)pkg/config/config.go (+2)
NORNICDB_EMBED_MAX_RETRIESEmbed max retriesnumber0See sourcePer-database override key (Embed worker)pkg/config/config.go (+2)
NORNICDB_EMBED_SCAN_INTERVALEmbed scan intervaldurationSee source>= 0Per-database override key (Embed worker)pkg/config/config.go (+2)
NORNICDB_EMBED_WORKER_NUM_WORKERSNumber of concurrent background embedding workers. Set to 0 to stop background embedding while keeping embedding and stored-vector search enabled. Negative values retain the default.number1>= 0Per-database override key (Embed worker)pkg/config/config.go (+2)
NORNICDB_ENCRYPTION_AT_RESTEncryption at reststringSee sourceSee source—pkg/config/config.go
NORNICDB_ENCRYPTION_ENABLEDEncryptionEnabled controls whether database encryption is activebooleanfalsetrue | false—pkg/config/config.go
NORNICDB_ENCRYPTION_PROVIDERSelects the at-rest encryption key-management mode for the database DEKstringpasswordpassword, local, aws-kms, azure-keyvault, gcp-cloudkmsProvider-backed modes wrap and persist the Badger DEK instead of deriving it from a passwordpkg/config/config.go
NORNICDB_ENCRYPTION_KEY_URILogical or provider-native key URI recorded with persisted wrapped-DEK metadatastring(unset)Provider-specific URI or identifierUsed for audit metadata and provider routingpkg/config/config.go
NORNICDB_ENCRYPTION_MASTER_KEYLocal provider KEK material for dev/test CMEK modestring(unset)32-byte raw string, base64, or hexSensitive; required for local provider modepkg/config/config.go
NORNICDB_ENCRYPTION_AWS_REGIONAWS region for AWS KMS-backed wrappingstring(unset)AWS regionRequired with aws-kmspkg/config/config.go
NORNICDB_ENCRYPTION_AWS_KMS_KEY_IDAWS KMS key ID or ARN used to wrap the database DEKstring(unset)AWS KMS key ID or ARNRequired with aws-kmspkg/config/config.go
NORNICDB_ENCRYPTION_AZURE_VAULT_NAMEAzure Key Vault name used for Key Vault-backed wrappingstring(unset)Azure Key Vault nameRequired with azure-keyvaultpkg/config/config.go
NORNICDB_ENCRYPTION_AZURE_KEY_NAMEAzure Key Vault key name used to wrap the database DEKstring(unset)Azure Key Vault key nameRequired with azure-keyvaultpkg/config/config.go
NORNICDB_ENCRYPTION_GCP_PROJECTGCP project containing the Cloud KMS keystring(unset)GCP project IDRequired with gcp-cloudkmspkg/config/config.go
NORNICDB_ENCRYPTION_GCP_LOCATIONGCP location for the Cloud KMS keystring(unset)GCP locationRequired with gcp-cloudkmspkg/config/config.go
NORNICDB_ENCRYPTION_GCP_KEY_RINGGCP Cloud KMS key ring used for wrapped-DEK operationsstring(unset)GCP key ringRequired with gcp-cloudkmspkg/config/config.go
NORNICDB_ENCRYPTION_GCP_KEY_NAMEGCP Cloud KMS key name used to wrap the database DEKstring(unset)GCP key nameRequired with gcp-cloudkmspkg/config/config.go
NORNICDB_ENCRYPTION_AUDIT_LOG_PATHLocal JSONL path for provider-backed audit eventsstring<data_dir>/encryption-audit.jsonlWritable filesystem pathDefaults to the data directory when unsetpkg/config/config.go
NORNICDB_ENCRYPTION_AUDIT_SIGN_EVENTSEnable HMAC signing for local encryption audit eventsbooleanfalsetrue | falseRequires NORNICDB_ENCRYPTION_AUDIT_SIGN_KEYpkg/config/config.go
NORNICDB_ENCRYPTION_AUDIT_SIGN_KEYHMAC signing key for local encryption audit eventsstring(unset)Non-empty stringSensitive; required when audit signing is enabledpkg/config/config.go
NORNICDB_ENCRYPTION_ROTATION_ENABLEDEnable automatic wrapped-DEK rotation checks for provider-backed modesbooleantruetrue | falseRewraps persisted DEK metadata; does not hot-swap the live Badger keypkg/config/config.go
NORNICDB_ENCRYPTION_ROTATION_INTERVALInterval used to decide when the persisted wrapped DEK should be rewrappedduration2160h>= 0Default is 90 dayspkg/config/config.go
NORNICDB_ENCRYPTION_IN_TRANSITEncryption in transitstringSee sourceSee source—pkg/config/config.go
NORNICDB_ENCRYPTION_KEY_PATHEncryption key pathstringSee sourceSee sourceSensitive; inject via secrets manager/runtime envpkg/config/config.go
NORNICDB_ENCRYPTION_PASSWORDEncryptionPassword for database encryption at rest Required when EncryptionEnabled is true. Use a strong password in production.stringSee sourceSee sourceSensitive; inject via secrets manager/runtime envpkg/config/config.go
NORNICDB_ENVEnvironment is the runtime environment (development, production)stringSee sourceSee source—pkg/config/config.go
NORNICDB_EVIDENCE_AUTO_INTEGRATION_ENABLEDEvidence auto integration enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_EVIDENCE_BUFFERING_ENABLEDEvidence buffering enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_FORCE_CPUForce cpustring(unset)See source—pkg/localllm/yzma_bindings.go
NORNICDB_GC_PERCENTGc percentnumber0See source—pkg/config/config.go
NORNICDB_GPU_BACKENDGPU backend: cpu (disabled), vulkan, cuda, metal, opencl (empty=auto-detect)stringSee sourceSee source—cmd/nornicdb/main.go
NORNICDB_GPU_CLUSTERING_AUTO_INTEGRATION_ENABLEDGpu clustering auto integration enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_HEADLESSDisable embedded UI assets, SPA/bootstrap routes, and browser IDEs; core APIs remain availablebooleanfalsetrue | false—cmd/nornicdb/main.go
NORNICDB_HEIMDALL_ANOMALY_DETECTIONHeimdall anomaly detectionstringSee sourceSee source—pkg/config/config.go
NORNICDB_HEIMDALL_API_KEYHeimdall API key (required for OpenAI and Orca)stringSee sourceSee sourceSensitive; inject via secrets manager/runtime envpkg/config/config.go
NORNICDB_HEIMDALL_API_URLHeimdall API URLstringSee sourceSee source—pkg/config/config.go
NORNICDB_HEIMDALL_BATCH_SIZEHeimdall batch sizenumber0See source—pkg/config/config.go
NORNICDB_HEIMDALL_CTX_TYPEllama.cpp context type for Heimdall model (0=default, 1=MTP). Only set to 1 if the model has MTP layers.number00 | 1—pkg/config/config.go
NORNICDB_HEIMDALL_POOLING_TYPEPooling strategy for Heimdall model (0=none, 1=mean, 2=cls, 3=last). Default: -1 (unspecified/none for generation).number-1-1 | 0 | 1 | 2 | 3—pkg/config/config.go
NORNICDB_HEIMDALL_ATTENTION_TYPEAttention masking for Heimdall model (0=causal, 1=non-causal). Default: 0 (causal for generation).number00 | 1—pkg/config/config.go
NORNICDB_HEIMDALL_FLASH_ATTNFlash attention for Heimdall model (-1=auto, 0=disabled, 1=enabled). Default: -1 (auto-detect).number-1-1 | 0 | 1—pkg/config/config.go
NORNICDB_HEIMDALL_LAZY_MODEllama.cpp lazy tensor loading for the Heimdall model (0=off, 1=auto, 2=on).number10 | 1 | 2—pkg/config/config.go
NORNICDB_HEIMDALL_CONTEXT_SIZEHeimdall context sizenumber0See source—pkg/config/config.go
NORNICDB_HEIMDALL_ENABLEDHeimdall enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_HEIMDALL_GPU_LAYERSHeimdall gpu layersnumber0See source—pkg/config/config.go
NORNICDB_HEIMDALL_MAX_CONTEXT_TOKENSHeimdall max context tokensnumber0See sourceSensitive; inject via secrets manager/runtime envpkg/config/config.go
NORNICDB_HEIMDALL_MAX_SYSTEM_TOKENSHeimdall max system tokensnumber0See sourceSensitive; inject via secrets manager/runtime envpkg/config/config.go
NORNICDB_HEIMDALL_MAX_TOKENSHeimdall max tokensnumber0See sourceSensitive; inject via secrets manager/runtime envpkg/config/config.go
NORNICDB_HEIMDALL_MAX_USER_TOKENSHeimdall max user tokensnumber0See sourceSensitive; inject via secrets manager/runtime envpkg/config/config.go
NORNICDB_HEIMDALL_MCP_ENABLEHeimdall mcp enablestring(unset)See source—pkg/config/config.go
NORNICDB_HEIMDALL_MCP_TOOLSHeimdall mcp toolsstringSee sourceSee source—pkg/config/config.go
NORNICDB_HEIMDALL_MEMORY_CURATIONHeimdall memory curationstringSee sourceSee source—pkg/config/config.go
NORNICDB_HEIMDALL_MODELHeimdall modelstringSee sourceSee source—pkg/config/config.go
NORNICDB_HEIMDALL_PLUGINS_DIRHeimdallPluginsDir is the directory for Heimdall pluginsstringSee sourceSee source—pkg/config/config.go
NORNICDB_HEIMDALL_PROVIDERHeimdall provider: local, ollama, openai, orca, vllm, or litellmstringSee sourceProvider-specific; see feature docs—pkg/config/config.go
NORNICDB_HEIMDALL_RUNTIME_DIAGNOSISHeimdall runtime diagnosisstringSee sourceSee source—pkg/config/config.go
NORNICDB_HEIMDALL_TEMPERATUREHeimdall temperaturestringSee sourceSee source—pkg/config/config.go
NORNICDB_HNSW_BUILD_GPU_CANDIDATE_KHNSW GPU build minimum candidate depth; at least M and efConstructionnumber128Positive integer—pkg/search/hnsw_config.go
NORNICDB_HNSW_BUILD_GPU_BATCH_SIZEHNSW GPU build batch sizenumber2048Positive integer—pkg/search/hnsw_config.go
NORNICDB_HNSW_BUILD_GPU_BEAM_QUERY_GROUPHNSW GPU graph-beam query group sizenumber512Positive integer—pkg/search/hnsw_build_gpu.go
NORNICDB_HNSW_BUILD_GPU_BEAM_UNION_MAXHNSW GPU graph-beam max candidate unionnumber4096Positive integer—pkg/search/hnsw_build_gpu.go
NORNICDB_HNSW_BUILD_GPU_BEAM_WIDTHHNSW GPU graph-beam widthnumbermin(candidate_k, 64)Positive integer—pkg/search/hnsw_build_gpu.go
NORNICDB_HNSW_BUILD_GPU_DISTANCE_PRECISIONHNSW GPU build distance precisionstringfp32fp32—pkg/search/hnsw_config.go
NORNICDB_HNSW_BUILD_GPU_ENABLEDHNSW GPU-assisted build enabledbooleantruetrue | false—pkg/search/hnsw_config.go
NORNICDB_HNSW_MAINT_INTERVAL_MSHnsw maint interval msstringSee sourceSee source—pkg/search/search.go
NORNICDB_HNSW_MAX_TOMBSTONE_OVERHEAD_FACTORHnsw max tombstone overhead factorstringSee sourceSee source—pkg/search/search.go
NORNICDB_HNSW_MIN_REBUILD_INTERVAL_SECHnsw min rebuild interval secstringSee sourceSee source—pkg/search/search.go
NORNICDB_HNSW_REBUILD_ENABLEDHnsw rebuild enabledbooleantruetrue | false—pkg/search/search.go
NORNICDB_HNSW_TOMBSTONE_REBUILD_RATIOHnsw tombstone rebuild ratiostringSee sourceSee source—pkg/search/search.go
NORNICDB_HTTPS_ENABLEDEnable native TLS on the HTTP API listenerbooleanfalsetrue / falseRequires NORNICDB_HTTP_TLS_CERT and NORNICDB_HTTP_TLS_KEYpkg/config/config.go
NORNICDB_HTTPS_PORTNative HTTPS API portnumber74731..65535Used when HTTPS is enabled unless --http-port is explicitpkg/config/config.go
NORNICDB_HTTP_ADDRESSHTTP API bind addressstring(unset)IP addressThe serve --address value applies when unsetpkg/config/config.go
NORNICDB_HTTP_ENABLEDEnable the HTTP API listenerbooleantruetrue / false—pkg/config/config.go
NORNICDB_HTTP_PORTHTTP API portnumber74741..65535—cmd/nornicdb/main.go (+1)
NORNICDB_HTTP_TLS_CERTPath to the native HTTPS certificate PEMstring(unset)filesystem pathRequired with NORNICDB_HTTPS_ENABLED=truepkg/config/config.go
NORNICDB_HTTP_TLS_KEYPath to the native HTTPS private key PEMstring(unset)filesystem pathRequired with NORNICDB_HTTPS_ENABLED=truepkg/config/config.go
NORNICDB_HTTP_TRUSTED_PROXIESImmediate reverse-proxy IP addresses or CIDR ranges allowed to supply forwarded HTTP headersstring(unset)comma-separated IPs/CIDRsRequired for authenticated cleartext HTTP on a non-loopback listenerpkg/config/config.go
NORNICDB_HTTP_TX_TIMEOUTHttp tx timeoutstring(unset)>= 0—pkg/server/server_middleware.go
NORNICDB_KALMAN_ENABLEDKalman enabledstringSee sourceSee source—pkg/config/config.go (+1)
NORNICDB_KEYKeystringSee sourceSee sourceSensitive; inject via secrets manager/runtime envpkg/encryption/encryption.go
NORNICDB_KMEANS_CLUSTERING_ENABLEDKmeans clustering enabledbooleanSee sourcetrue | falsePer-database override key (K-means)pkg/config/config.go (+2)
NORNICDB_KMEANS_CLUSTER_INTERVALKmeansClusterInterval is how often to run k-means clustering (0 = disabled)durationSee source>= 0Per-database override key (K-means)pkg/config/config.go (+2)
NORNICDB_KMEANS_MAX_ITERATIONSKmeans max iterationsnumber5See sourcePer-database override key (K-means)pkg/config/dbconfig/keys.go (+3)
NORNICDB_KMEANS_MIN_EMBEDDINGSKmeansMinEmbeddings is minimum embeddings required for k-means clusteringnumber0See sourcePer-database override key (K-means)pkg/config/config.go (+2)
NORNICDB_KMEANS_NUM_CLUSTERSKmeansNumClusters is the number of k-means clusters (0 = auto from dataset size).number0See sourcePer-database override key (K-means)pkg/config/config.go (+4)
NORNICDB_KMEANS_GROWTH_RATIOBetween clustering intervals, cluster a database once its vectors grew by this share since its last clustering and stopped changing (a finished bulk load); 0 disablesnumber0.2>= 0—pkg/nornicdb/db_admin.go
NORNICDB_KMEANS_GROWTH_CHECK_INTERVALHow often the growth check (NORNICDB_KMEANS_GROWTH_RATIO) runs; a load counts as finished when the count holds for one checkduration10s> 0—pkg/nornicdb/db_admin.go
NORNICDB_KMEANS_NPROBEk-means clusters each query searchesnumberan eighth of the clusters, at least 161 to the cluster count—pkg/search/search.go
NORNICDB_KMEANS_SEED_DOCS_PER_TERMKmeans seed docs per termnumber1See source—pkg/search/ann_profile.go (+1)
NORNICDB_KMEANS_SEED_MAX_TERMSKmeans seed max termsnumber256See source—pkg/search/ann_profile.go (+1)
NORNICDB_LANGUAGEProcess-default language for human-readable messages. Unset, empty, or auto uses ordered operating-system language preferences. Accepts BCP 47 tags and common POSIX locale forms.stringautoauto or a language tag such as en-US, es-ES, zh-HantOverrides localization.language; unsupported packs fall back to en-USpkg/localization/config.go (+2)
NORNICDB_LIBLibstring(unset)See source—pkg/localllm/yzma_bindings.go
NORNICDB_LOCKOUT_DURATIONLockout durationstringSee sourceSee source—pkg/config/config.go
NORNICDB_LOG_FORMATLog formatstringSee sourceSee source—pkg/config/config.go
NORNICDB_LOG_LEVELLog levelstringSee sourceSee source—pkg/config/config.go
NORNICDB_LOG_OUTPUTLog outputstringSee sourceSee source—pkg/config/config.go
NORNICDB_LOG_QUERIESLog all Bolt queries to stdout (for debugging)booleanfalsetrue | false—cmd/nornicdb/main.go
NORNICDB_LOW_MEMORYserve low-memory storage shortcutboolfalsetrue/falseLow Badger profile plus node cache 1000 / edge types 10; not a RAM cap; see low-memory modecmd/nornicdb/main.go
NORNICDB_MASTER_PASSWORDMaster passwordstring(unset)See sourceSensitive; inject via secrets manager/runtime envpkg/encryption/encryption.go
NORNICDB_MAX_FAILED_LOGINSMax failed loginsnumber0See source—pkg/config/config.go
NORNICDB_MAX_TRANSACTIONSMax transactionsnumber0See source—pkg/config/config.go
NORNICDB_MCP_ENABLEDEnable MCP (Model Context Protocol) server for LLM toolsbooleantruetrue | false—cmd/nornicdb/main.go
NORNICDB_MEMORY_ARCHIVE_THRESHOLDMemory archive thresholdstringSee sourceSee source—pkg/config/config.go
NORNICDB_MEMORY_DECAY_ENABLEDMemory decay enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_MEMORY_DECAY_INTERVALMemory decay intervalstringSee source>= 0—pkg/config/config.go
NORNICDB_MEMORY_LIMITDeprecated Go runtime targetinteger MiB or autoauto>= 0Canonical NORNICDB_GO_MEMORY_LIMIT_BYTES uses integer bytes; 0 skips NornicDB sizing, not an existing runtime target; see memory accountingpkg/config/config.go
NORNICDB_MEMORY_TRANSACTION_MAXLimit of the estimated memory one transaction may use (Neo4j db.memory.transaction.max); k/m/g/t suffixesbytes0>= 00 = unlimited; per-database override key db.memory.transaction.max; see Transaction Memory Limitspkg/config/config.go
NORNICDB_MEMORY_TRANSACTION_TOTAL_MAXLimit of estimated memory for all transactions (Neo4j dbms.memory.transaction.total.max); k/m/g/t binary suffixesbytes0>= 00 = unlimited; independent of the Go target; restart to change; see Transaction Memory Limitspkg/config/config.go
NORNICDB_MEMORY_APPLICATION_SOFT_MAXOpt-in physical cgroup admission maximum; k/m/g/t binary suffixesbytes0>= 00 disables; 250 ms sampling, two-second freshness; bounded heap reclamation after rejection; recovery contractpkg/config/config.go, pkg/memory
NORNICDB_MEMORY_RECOVERY_INTERVAL_MSMinimum spacing between sampler reclamation startsinteger milliseconds5000>= 1, within time.Duration rangeYAML memory.recovery_interval_ms; restart required; no CLI flagpkg/config/config.go, pkg/memory
NORNICDB_MEMORY_RECOVERY_REARM_MSQuiet-period rearm without a released leaseinteger milliseconds30000>= interval, within time.Duration rangeYAML memory.recovery_rearm_ms; restart required; rejected retries never collectpkg/config/config.go, pkg/memory
NORNICDB_GO_MEMORY_LIMIT_BYTESCanonical Go runtime soft GC targetinteger bytesauto: 85% of finite cgroup ceiling>= 0, integer bytes onlyYAML memory.go_runtime_limit_bytes; CLI --go-memory-limit-bytes; deprecated NORNICDB_MEMORY_LIMIT keeps its legacy units; conflicting aliases fail startup; 0 skips applying a new runtime target; does not enable admissionpkg/config/config.go
NORNICDB_MVCC_RETENTION_MAX_VERSIONSMVCCRetentionMaxVersions keeps at most this many closed historical MVCC versions per key by default. The current head is preserved separately.number1>= 0Applies as the default prune policy; does not start pruning by itselfpkg/config/config.go
NORNICDB_MVCC_RETENTION_TTLMVCCRetentionTTL protects MVCC versions newer than now-TTL from pruning.duration0>= 00 disables age-based protectionpkg/config/config.go
NORNICDB_MIN_PASSWORD_LENGTHMin password lengthnumber0See sourceSensitive; inject via secrets manager/runtime envpkg/config/config.go
NORNICDB_MODELS_DIRModelsDir is the directory containing local GGUF modelsstringSee sourceSee source—pkg/config/config.go
NORNICDB_OAUTH_CALLBACK_URLOauth callback urlstring(unset)See source—pkg/auth/oauth.go
NORNICDB_OAUTH_CLIENT_IDOauth client idstring(unset)See source—pkg/auth/oauth.go
NORNICDB_OAUTH_CLIENT_SECRETOauth client secretstring(unset)See sourceSensitive; inject via secrets manager/runtime envpkg/auth/oauth.go
NORNICDB_OAUTH_ISSUEROauth issuerstring(unset)See source—pkg/auth/oauth.go (+1)
NORNICDB_PARSERParserstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_PERSIST_SEARCH_INDEXESPersistSearchIndexes (EXPERIMENTAL) when true saves BM25, vector, and HNSW indexes under DataDir and loads them on startup so BuildIndexes can skip the full storage iteration. Default: false. Note: if indexes are incompatible/missing and must be rebuilt, startup can be long for large datasets. For example, rebuilding IVF-HNSW for ~1M embeddings can take ~30 minutes on startup (hardware dependent).stringSee sourceSee source—pkg/config/config.go
NORNICDB_PER_NODE_CONFIG_AUTO_INTEGRATION_ENABLEDPer node config auto integration enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_PER_NODE_CONFIG_ENABLEDPer node config enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_PLUGINS_DIRPluginsDir is the directory for APOC pluginsstring(unset)See source—apoc/config.go (+1)
NORNICDB_PPROF_ENABLEDEnables the separate observability pprof listener. Disabled by default; profiles are served from the pprof listener, not the main HTTP API port.booleanfalsetrue | false—pkg/observability/config.go
NORNICDB_PPROF_LISTENListen address for the pprof listener. Defaults to loopback; use 0.0.0.0:9091 only when intentionally publishing the profiling port, such as in a Docker profiling session.string127.0.0.1:9091host:port—pkg/observability/config.go
NORNICDB_POOL_ENABLEDPool enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_POOL_MAX_SIZEPool max sizenumber0See source—pkg/config/config.go
NORNICDB_QDRANT_GRPC_ENABLEDQdrant grpc enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_QDRANT_GRPC_LISTEN_ADDRQdrant grpc listen addrstringSee sourceSee source—pkg/config/config.go
NORNICDB_QDRANT_GRPC_MAX_BATCH_POINTSQdrant grpc max batch pointsnumber0See source—pkg/config/config.go
NORNICDB_QDRANT_GRPC_MAX_TOP_KQdrant grpc max top knumber0See source—pkg/config/config.go
NORNICDB_QDRANT_GRPC_MAX_VECTOR_DIMQdrant grpc max vector dimnumber0See source—pkg/config/config.go
NORNICDB_QDRANT_GRPC_TLS_CLIENT_AUTH_MODEClient-certificate policy for the shared Qdrant/Nornic gRPC TLS listenerstringnonenone | request | request_verify | require_verifyVerification modes require NORNICDB_QDRANT_GRPC_TLS_CLIENT_CApkg/config/config.go
NORNICDB_QDRANT_GRPC_TLS_CLIENT_CACA certificate path used to verify gRPC client certificatesstring(unset)File pathSensitive trust material; mount read-only in containerspkg/config/config.go
NORNICDB_QDRANT_GRPC_TLS_CERTServer certificate path for the shared Qdrant/Nornic gRPC listenerstring(unset)File pathRequired when gRPC TLS is enabledpkg/config/config.go
NORNICDB_QDRANT_GRPC_TLS_ENABLEDEnable native TLS on the shared Qdrant/Nornic gRPC listenerbooleanfalsetrue | falseRequired for authenticated public gRPC listenerspkg/config/config.go
NORNICDB_QDRANT_GRPC_TLS_KEYServer private-key path for the shared Qdrant/Nornic gRPC listenerstring(unset)File pathSensitive; mount read-only in containerspkg/config/config.go
NORNICDB_QUERY_CACHE_ENABLEDQuery cache enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_QUERY_CACHE_SIZEQuery cache sizenumber0See source—pkg/config/config.go
NORNICDB_QUERY_CACHE_TTLPer-database query result cache TTL in millisecondsnumber300000Positive integer milliseconds—pkg/config/config.go
NORNICDB_SEARCH_CURSOR_MAXProcess-wide retained search cursor limit; zero disables durable continuationnumber0Non-negative integerPositive values enable durable continuationpkg/config/config.go
NORNICDB_SEARCH_CURSOR_TTLFixed search cursor lifetime in millisecondsnumber300000Positive integer millisecondsApplies when durable continuation is enabledpkg/config/config.go
NORNICDB_QUERY_LOG_ENABLEDQuery log enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_READ_ONLYRead onlybooleanfalsetrue | false—pkg/config/config.go
NORNICDB_REMOTE_CREDENTIALS_KEYRemote credentials keystring(unset)See sourceSensitive; inject via secrets manager/runtime envpkg/server/server.go
NORNICDB_RERANK_CTX_TYPEllama.cpp context type for rerank model (0=default, 1=MTP). Only set to 1 if the model has MTP layers.number00 | 1—pkg/config/config.go
NORNICDB_RERANK_POOLING_TYPEPooling strategy for rerank model (1=mean, 2=cls, 3=last, 4=rank). Default: 4 (rank/classifier-head pooling).number41 | 2 | 3 | 4—pkg/config/config.go
NORNICDB_RERANK_ATTENTION_TYPEAttention masking for rerank model (0=causal, 1=non-causal). Default: 1 (non-causal for reranking).number10 | 1—pkg/config/config.go
NORNICDB_RERANK_FLASH_ATTNFlash attention for rerank model (-1=auto, 0=disabled, 1=enabled). Default: 0 (disabled).number0-1 | 0 | 1—pkg/config/config.go
NORNICDB_RERANK_LAZY_MODEllama.cpp lazy tensor loading for the rerank model (0=off, 1=auto, 2=on).number10 | 1 | 2—pkg/config/config.go
NORNICDB_RERANK_DEBUGRerank debugstring(unset)See source—pkg/localllm/llama.go
NORNICDB_RETENTION_AUTO_DELETERetention auto deletebooleanfalsetrue | falseOnly used when retention is explicitly enabledpkg/config/config.go
NORNICDB_RETENTION_ENABLEDRetention enabledbooleanfalsetrue | falseOpt-in. When false, no retention manager or sweep worker starts.pkg/config/config.go
NORNICDB_RETENTION_EXEMPT_ROLESRetention exempt rolesstringadmincomma-separated rolesOnly used when retention is explicitly enabledpkg/config/config.go
NORNICDB_RETENTION_POLICY_DAYSRetention policy daysnumber0See source—pkg/config/config.go
NORNICDB_SALTSaltstringSee sourceSee source—pkg/encryption/encryption.go
NORNICDB_SEARCH_BM25_ENABLEDMaster switch for BM25 fulltext search on this database. When false, no BM25 build runs and search returns no fulltext results. See § Precedence — CLI flags trump per-DB overrides; per-DB overrides trump this env var. Per-DB store edits via PUT /admin/databases/{name}/config are authoritative across restarts.booleantruetrue | falsePer-database override key (Search)pkg/config/config.go (+1)
NORNICDB_SEARCH_BM25_PROPERTIESComma-separated property allowlist for BM25 indexing and rerank text. Empty indexes labels and all properties. Changes invalidate persisted BM25 data.string(unset)comma-separated property names—pkg/config/config.go
NORNICDB_SEARCH_RELATIONSHIP_BM25_PROPERTIESProperty allowlist for relationship search keyword indexing. Unset, NORNICDB_SEARCH_BM25_PROPERTIES applies; a relationship with none of the listed properties isn't keyword-indexed.string(unset)comma-separated property names—pkg/config/config.go
NORNICDB_SEARCH_BM25_LABELSComma-separated label allowlist for BM25 indexing: only nodes carrying at least one of the labels are keyword-indexed, as NORNICDB_EMBEDDING_LABELS_INCLUDE limits embeddings. Empty indexes every node. Changes invalidate persisted BM25 data.string(unset)comma-separated labels—pkg/config/config.go
NORNICDB_SEARCH_BM25_WARMINGWhen BM25 is enabled, choose startup (build at boot) or lazy (defer build until first inbound search query, blocks the request synchronously while warming). Health checks must NOT target /nornicdb/search for lazy databases.enumstartupstartup | lazyPer-database override key (Search)pkg/config/config.go (+1)
NORNICDB_SEARCH_BUILD_PROGRESS_LOG_SECSearch build progress log secnumber15See source—pkg/search/search.go
NORNICDB_SEARCH_DIAG_TIMINGSSearch diag timingsstring(unset)See source—pkg/server/server_nornicdb.go
NORNICDB_SEARCH_INDEX_PERSIST_DELAY_SECSearch index persist delay secnumberSee sourceSee sourcePer-database override key (Search)pkg/config/dbconfig/keys.go (+1)
NORNICDB_SEARCH_LOG_TIMINGSSearch log timingsstringSee sourceSee source—pkg/search/search.go
NORNICDB_SEARCH_MIN_SIMILARITYSearchMinSimilarity is the minimum cosine similarity threshold for vector search results. Apple Intelligence embeddings produce scores in 0.2-0.8 range, bge-m3/mxbai produce 0.7-0.99. Default: 0.0 (let RRF ranking handle relevance filtering)numberSee sourceSee sourcePer-database override key (Search)pkg/config/config.go (+2)
NORNICDB_SEARCH_QUERY_CHUNK_OVERFLOWWhat a search query with more chunks than NORNICDB_SEARCH_QUERY_MAX_CHUNKS does: truncate searches its first chunks and reports the rest as dropped (fallback_reason: query_chunks_dropped, query_chunks_searched / query_chunks_total); error fails the search. A text query to the vector procedures fails over the limit in either mode.stringtruncatetruncate, error—pkg/search/query_chunk_limit.go
NORNICDB_SEARCH_QUERY_MAX_CHUNKSMost chunks of 512 characters of one search query that are embedded and searched; each costs an embedding call, and a rerank call when reranking.int32positive integer—pkg/search/query_chunk_limit.go
NORNICDB_SEARCH_RERANK_API_KEYSearch rerank api keystringSee sourceSee sourcePer-database override key (Search); Sensitive; inject via secrets manager/runtime envpkg/config/config.go (+2)
NORNICDB_SEARCH_RERANK_API_URLSearch rerank api urlstringSee sourceSee sourcePer-database override key (Search)pkg/config/config.go (+2)
NORNICDB_SEARCH_RERANK_ENABLEDSearch rerank enabledbooleanSee sourcetrue | falsePer-database override key (Search)pkg/config/config.go (+2)
NORNICDB_SEARCH_RERANK_MAX_DOCUMENT_CHARSMaximum characters (not bytes) sent for each Stage-2 rerank candidate: identifying properties plus the matched chunk extended with its neighbours (default 2048). NORNICDB_SEARCH_RERANK_MAX_DOCUMENT_BYTES is deprecated and, when set alone, read as a character count
NORNICDB_SEARCH_RERANK_MODELSearch rerank modelstringSee sourceSee sourcePer-database override key (Search)pkg/config/config.go (+2)
NORNICDB_SEARCH_RERANK_PROVIDERSearch rerank providerstringSee sourceProvider-specific; see feature docsPer-database override key (Search)pkg/config/config.go (+2)
NORNICDB_SEARCH_RERANK_TRUNCATIONVoyage reranker only: true lets the provider shorten a query or a query-document pair over the model's token limit; false makes such a rerank fail instead (an error from db.rerank, the rerank-failure signal in search), so a ranking is always for the whole query and documents.booltruetrue, false—pkg/config/config.go
NORNICDB_SEARCH_RESULT_CACHE_ENABLEDEnables caching of complete search responses. Set to false when every request must execute the retrieval pipeline or when cache residency is undesirable.booleantruetrue | falseApplies when each search service is createdpkg/search/search.go
NORNICDB_SEARCH_VECTOR_ENABLEDMaster switch for vector search across every ANN strategy (HNSW, IVF-HNSW, brute-force, GPU, Metal, Qdrant pass-through). When false, node embeddings are NOT iterated into the in-memory ANN substrate — the strongest available memory-pressure lever. NORNICDB_EMBEDDING_ENABLED=false only stops the embed worker; user-set embedding properties are still iterated today.booleantruetrue | falsePer-database override key (Search)pkg/config/config.go (+1)
NORNICDB_SEARCH_VECTOR_WARMINGWhen vector search is enabled, choose startup or lazy. Lazy defers the build until the first inbound search query and blocks the request synchronously while warming. Health checks must NOT target /nornicdb/search for lazy databases — use /nornicdb/health instead.enumstartupstartup | lazyPer-database override key (Search)pkg/config/config.go (+1)
NORNICDB_SEARCH_RELATIONSHIPS_ENABLEDIndex relationship properties for keyword (BM25) and vector search, in indexes apart from the nodes'. Searches with relationships: true (HTTP) or db.retrieveRelationships (Cypher) then return relationships with their type and endpoints. Keyword text follows NORNICDB_SEARCH_RELATIONSHIP_BM25_PROPERTIES (default NORNICDB_SEARCH_BM25_PROPERTIES), embedding text NORNICDB_EMBEDDING_RELATIONSHIP_PROPERTIES_INCLUDE / _EXCLUDE (default NORNICDB_EMBEDDING_PROPERTIES_INCLUDE / EXCLUDE). See Hybrid Search.boolfalsetrue, false—pkg/config/config.go
NORNICDB_SESSION_TIMEOUTSession timeoutstringSee source>= 0—pkg/config/config.go
NORNICDB_SLOW_QUERY_THRESHOLDSlow-query threshold: a statement (Cypher executor, HTTP slow-query log) or a MERGE waiting for a node key another transaction holds (one storage.transaction.lock_wait_prolonged warning) that lasts this long is reported as slow. A duration (5s) or whole seconds; 0 disables slow-query reporting. Overrides logging.slow_query_threshold; a negative or invalid value stops startupstring5s>= 0—pkg/config/config.go
NORNICDB_STDIO_LOG_COMPACT_SECONDSInterval in seconds for automatic stdout/stderr log size checksnumber3600>= 0—cmd/nornicdb/main.go
NORNICDB_STDIO_LOG_MAX_KBMax size of stdout/stderr log files in KB before automatic truncation (0 disables)number20480See source—cmd/nornicdb/main.go
NORNICDB_STORAGE_SERIALIZERStorageSerializer selects the primary storage serialization format ("gob", "msgpack"). MVCC version records and MVCC head metadata use Msgpack on the hot path.stringSee sourceSee sourcePrefer msgpack for new deploymentspkg/config/config.go
NORNICDB_STRICT_DURABILITYSynchronous WAL/native-storage policyboolfalsetrue/falseForces immediate WAL sync and Badger SyncWrites; disables write-behind; boundariespkg/nornicdb/db.go
NORNICDB_TLS_DIRTls dirstringSee sourceSee source—pkg/config/config.go
NORNICDB_TOPOLOGY_AB_TEST_ENABLEDTopology ab test enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_TOPOLOGY_AB_TEST_PERCENTAGETopology ab test percentagenumber0See source—pkg/config/config.go
NORNICDB_TOPOLOGY_ALGORITHMTopology algorithmstringSee sourceSee source—pkg/config/config.go
NORNICDB_TOPOLOGY_AUTO_INTEGRATION_ENABLEDTopology auto integration enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_TOPOLOGY_GRAPH_REFRESH_INTERVALTopology graph refresh intervalnumber0>= 0—pkg/config/config.go
NORNICDB_TOPOLOGY_MIN_SCORETopology min scorestringSee sourceSee source—pkg/config/config.go
NORNICDB_TOPOLOGY_TOPKTopology topknumber0See source—pkg/config/config.go
NORNICDB_TOPOLOGY_WEIGHTTopology weightstringSee sourceSee source—pkg/config/config.go
NORNICDB_TRACE_AUTHTrace authstring(unset)See source—pkg/server/server_middleware.go
NORNICDB_TRACE_GRAPHQLTrace graphqlstring(unset)See source—pkg/server/server_router.go
NORNICDB_TRANSACTION_TIMEOUTTransaction timeout. A MERGE waits at most this long for a uniquely constrained node key another transaction holds, then fails with Neo.ClientError.Transaction.TransactionTimedOut; an explicit transaction idle this long is ended (rolled back, keys and write admission released; its next statement or COMMIT fails with that status (a statement of the other transaction type fails first with ForbiddenDueToTransactionType), over HTTP until its transaction session expires 30 s after its last request, after which a request gets TransactionNotFound), while one that keeps running statements is not. A Bolt client's tx_timeout (0 included) replaces it for its transaction, and HTTP transaction sessions follow it instead of a fixed 30 s expiry. A duration (30s) or whole seconds; 0 disables the limit (an idle HTTP transaction then stays open until its client ends it). Overrides database.transaction_timeout; the legacy NEO4J_dbms_transaction_timeout applies only when this is unset or empty. A negative or invalid value stops startupstring30s>= 0—pkg/config/config.go
NORNICDB_VECTOR_ANN_QUALITYVector ann qualitystringSee sourceSee sourcePer-database override key (HNSW)pkg/config/dbconfig/keys.go (+3)
NORNICDB_VECTOR_CPU_BRUTE_MAX_NVector cpu brute max nnumber0See sourcePer-database override key (Vector)pkg/config/dbconfig/keys.go (+1)
NORNICDB_VECTOR_GPU_BRUTE_MAX_NVector gpu brute max nnumber15000See sourcePer-database override key (Vector)pkg/config/dbconfig/keys.go (+1)
NORNICDB_VECTOR_GPU_BRUTE_MIN_NVector gpu brute min nnumber5000See sourcePer-database override key (Vector)pkg/config/dbconfig/keys.go (+1)
NORNICDB_VECTOR_HNSW_EF_CONSTRUCTIONVector hnsw ef constructionnumber0See sourcePer-database override key (HNSW)pkg/config/dbconfig/keys.go (+1)
NORNICDB_VECTOR_HNSW_EF_SEARCHVector hnsw ef searchnumber0See sourcePer-database override key (HNSW)pkg/config/dbconfig/keys.go (+1)
NORNICDB_VECTOR_HNSW_BEAM_FACTORHNSW search beam multiplier relative to requested candidate depthnumber4>= 1Per-database override key (HNSW)pkg/search/hnsw_config.go
NORNICDB_VECTOR_HNSW_MVector hnsw mnumber0See sourcePer-database override key (HNSW)pkg/config/dbconfig/keys.go (+1)
NORNICDB_VECTOR_HNSW_METAL_MIN_CANDIDATESVector hnsw metal min candidatesnumber0See sourcePer-database override key (HNSW)pkg/config/dbconfig/keys.go (+1)
NORNICDB_VECTOR_HYBRID_ROUTING_LEX_TOP_TERMSVector hybrid routing lex top termsnumber64See source—pkg/search/hybrid_cluster_routing.go
NORNICDB_VECTOR_HYBRID_ROUTING_W_LEXVector hybrid routing w lexstringSee sourceSee source—pkg/search/build_settings.go (+1)
NORNICDB_VECTOR_HYBRID_ROUTING_W_SEMVector hybrid routing w semstringSee sourceSee source—pkg/search/build_settings.go (+1)
NORNICDB_VECTOR_IVFPQ_NPROBEIVF/PQ lists probed per query; unset uses max(16, one eighth of the lists)number(auto)>= 1—pkg/search/ann_profile.go
NORNICDB_VECTOR_IVFPQ_OVERFLOW_MAXMaximum exact coarse-centroid outliers retained beside IVF/PQ; 0 disablesnumber512>= 0—pkg/search/ann_profile.go
NORNICDB_VECTOR_IVFPQ_RERANK_TOPKMinimum IVF/PQ candidates exact-rescored before applying the requested result limitnumber200See source—pkg/search/ann_profile.go
NORNICDB_VECTOR_IVFPQ_TRAINING_SAMPLE_MAXVector ivfpq training sample maxnumber200000See source—pkg/search/ann_profile.go
NORNICDB_VECTOR_IVF_HNSW_ENABLEDVector ivf hnsw enabledbooleanfalsetrue | falsePer-database override key (IVF-HNSW)pkg/config/dbconfig/keys.go (+1)
NORNICDB_VECTOR_IVF_HNSW_MAX_CLUSTERSVector ivf hnsw max clustersnumber1024See sourceDeprecated IVF-HNSW build filter; ignored (all nonempty clusters indexed)pkg/config/dbconfig/keys.go (+1)
NORNICDB_VECTOR_IVF_HNSW_MIN_CLUSTER_SIZEVector ivf hnsw min cluster sizenumber200See sourceDeprecated IVF-HNSW build filter; ignored (all nonempty clusters indexed)pkg/config/dbconfig/keys.go (+1)
NORNICDB_VECTOR_IVF_LISTSVector ivf listsnumber0See source—pkg/search/ann_profile.go
NORNICDB_VECTOR_PQ_BITSVector pq bitsnumber8See source—pkg/search/ann_profile.go
NORNICDB_VECTOR_PQ_SEGMENTSVector pq segmentsstringSee sourceSee source—pkg/search/ann_profile.go
NORNICDB_VECTOR_ROUTING_MODEVector routing modestringhybridSee source—pkg/search/ann_profile.go (+1)
NORNICDB_VECTOR_VFS_COMPACT_DEAD_RATIOVector vfs compact dead ratiostringSee sourceSee source—pkg/search/vector_file_store.go
NORNICDB_VECTOR_VFS_COMPACT_MIN_OBSOLETEVector vfs compact min obsoletenumber50000See source—pkg/search/vector_file_store.go
NORNICDB_VECTOR_VFS_COMPACT_MIN_SIZE_MBVector vfs compact min size mbnumber256See source—pkg/search/vector_file_store.go
NORNICDB_WAL_AUTO_COMPACTION_ENABLEDWal auto compaction enabledstringSee sourceSee source—pkg/config/config.go
NORNICDB_WAL_SNAPSHOT_INTERVALMilliseconds between checks for WAL changes that require a new snapshot; idle checks do not rewrite storagenumber300000Positive integer millisecondsdatabase.wal_snapshot_intervalpkg/config/config.go
NORNICDB_WAL_ENABLEDWal enabledstringSee sourceSee source—pkg/config/feature_flags.go
NORNICDB_WAL_LEDGER_RETENTION_DEFAULTSWal ledger retention defaultsstringSee sourceSee source—pkg/config/config.go
NORNICDB_WAL_RETENTION_MAX_AGECovered sealed-segment retention ageduration0s>= 0Uncovered segments remain needed; not a disk-byte cappkg/storage/wal.go
NORNICDB_CDC_RETENTIONHow long change data capture events are kept (Go duration); the last transaction's are always kept. See docs/user-guides/change-data-capture.mdduration48hNeo4j default transaction log retention—pkg/config/config.go
NORNICDB_WAL_RETENTION_MAX_SEGMENTSCovered sealed-segment retention countinteger0>= 0Zero/zero count and age disables segment retention; see WAL lifecyclepkg/storage/wal.go
NORNICDB_WAL_SNAPSHOT_RETENTION_MAX_AGEAutomatic snapshot file ageduration0s>= 0Zero disables age pruningpkg/config/config.go
NORNICDB_WAL_SNAPSHOT_RETENTION_MAX_COUNTAutomatic snapshot file countinteger0 (storage default 3)positive overridesSeparate from WAL segment and external backup retentionpkg/nornicdb/db.go
NORNICDB_WAL_SYNC_INTERVALBatch WAL sync cadenceduration100mspositive in batch modeAsync positive flush interval can override this; not a hard loss-window boundpkg/nornicdb/db.go
NORNICDB_WAL_SYNC_MODEApplication WAL file-sync policystringbatchbatch/immediate/noneStrict mode overrides to immediate; independent of native transaction visibilitypkg/config/config.go
Analytics privacy