SurrealDB Docs Logo

Enter a search query

Back to home
SurrealDB

SurrealDB

Environment variables

Environment variables can be used to tailor the behaviour of a running SurrealDB instance.

SurrealDB environment variables

Environment variableDefault valueNotes
SURREAL_BUILD_METADATAfalseThe version identifier of this build. Defaults to the CARGO_PKG_VERSION environment variable if not specified.
SURREAL_EXPERIMENTAL_BEARER_ACCESSfalseEnable experimental bearer access and stateful access grant management. Still under active development. Using this experimental feature may introduce risks related to breaking changes and security issues.
SURREAL_EXPORT_BATCH_SIZE1000The maximum number of keys that should be scanned at once for export queries.
SURREAL_EXTERNAL_SORTING_BUFFER_LIMIT50000Specifies the buffer limit for external sorting.
SURREAL_FUNCTION_ALLOCATION_LIMIT20Used to limit allocation for builtin functions.
SURREAL_EXPERIMENTAL_GRAPHQLfalseEnables experimental graphql integration. Still under active development. Using this experimental feature may introduce risks related to breaking changes and security issues.
SURREAL_HTTP_MAX_ML_BODY_SIZE4398046511104 (4 GiB)Maximum HTTP body size of the HTTP /ml endpoints
SURREAL_HTTP_MAX_SQL_BODY_SIZE1048576 (1 MiB)Maximum HTTP body size of the HTTP /sql endpoint
SURREAL_HTTP_MAX_RPC_BODY_SIZE4194304 (4 MiB)Maximum HTTP body size of the HTTP /rpc endpoint
SURREAL_HTTP_MAX_KEY_BODY_SIZE16384 (16 KiB)Maximum HTTP body size of the HTTP /key endpoints
SURREAL_HTTP_MAX_SIGNUP_BODY_SIZE1024 (1 KiB)Maximum HTTP body size of the HTTP /signup endpoint.
SURREAL_HTTP_MAX_SIGNIN_BODY_SIZE1024 (1 KiB)The maximum HTTP body size of the HTTP /signin endpoints
SURREAL_HTTP_MAX_IMPORT_BODY_SIZE4398046511104 (4 GiB)Maximum HTTP body size of the HTTP /import endpoints
SURREAL_INSECURE_FORWARD_ACCESS_ERRORSfalseForward all signup/signin/authenticate query errors to a client performing authentication. Do not use in production.
SURREAL_MAX_CONCURRENT_TASKS64Specifies how many concurrent jobs can be buffered in the worker channel.
SURREAL_MAX_STREAM_BATCH_SIZE1000The maximum number of keys that should be fetched when streaming range scans in a Scanner.
SURREAL_NORMAL_FETCH_SIZE50The maximum number of keys that should be scanned at once in general queries.
SURREAL_RUNTIME_MAX_BLOCKING_THREADS512Number of threads which can be started for blocking operations.
SURREAL_RUNTIME_STACK_SIZE10485760 (10 MiB)Runtime thread memory stack size. Stack size is doubled if compiled from source in Debug mode.
SURREAL_SCRIPTING_MAX_MEMORY_LIMIT262144 (256 KiB)Maximum stack size of the JavaScript function runtime.
SURREAL_SCRIPTING_MAX_STACK_SIZE2097152 (2 MiB)Maximum memory limit of the JavaScript function runtime.
SURREAL_TRANSACTION_CACHE_SIZE10000Specifies the number of items which can be cached within a single transaction.
SURREAL_WEBSOCKET_MAX_CONCURRENT_REQUESTS24Maximum concurrent tasks that can be handled on each WebSocket.
SURREAL_WEBSOCKET_MAX_FRAME_SIZE16777216 (16 MiB)Maximum WebSocket frame size.
SURREAL_WEBSOCKET_MAX_MESSAGE_SIZE134217728 (128 MiB)Maximum WebSocket message size.

Command environment variables

Many of the arguments passed into the CLI can be set using these environment variables instead.

Environment variableFor command(s)Command argDetails
SURREAL_AUTH_LEVELsurreal export, import, sqlauth-levelAuthentication level to use when connecting.
SURREAL_BINDsurreal startbindThe hostname or IP address(es) to listen for connections on.
SURREAL_CAPS_ALLOW_ALLsurreal startallow-allAllow all capabilities.
SURREAL_CAPS_ALLOW_FUNCsurreal startallow-funcsAllow execution of all or certain functions.
SURREAL_CAPS_ALLOW_GUESTSsurreal startallow-guestsAllow guest users to execute queries.
SURREAL_CAPS_ALLOW_NETsurreal startallow-netAllow all or certain outbound network access.
SURREAL_CAPS_ALLOW_SCRIPTsurreal startallow-scriptingAllow execution of embedded scripting functions.
SURREAL_CAPS_DENY_ALLsurreal startdeny-allDeny all capabilities.
SURREAL_CAPS_DENY_FUNCsurreal startdeny-funcsDeny execution of all or certain functions.
SURREAL_CAPS_DENY_GUESTSsurreal startdeny-guestsDeny guest users to execute queries.
SURREAL_CAPS_DENY_NETsurreal startdeny-netDeny all or certain outbound access paths.
SURREAL_CAPS_DENY_SCRIPTsurreal startdeny-scriptingDeny execution of embedded scripting functions.
SURREAL_CLIENT_IPsurreal startclient-ipThe method of detecting the client’s IP address.
SURREAL_DATABASEsurreal export, import, sqldatabaseThe database selected for the operation.
SURREAL_HIDE_WELCOMEsurreal sqlhide-welcomeWhether to show welcome message.
SURREAL_KEYsurreal startkeyEncryption key to use for on-disk encryption.
SURREAL_KVS_CAsurreal startkvs-caPath to the CA file used when connecting to the remote KV store.
SURREAL_KVS_KEYsurreal startkvs-keyPath to the private key file used when connecting to the remote KV store.
SURREAL_KVS_CERTsurreal startkvs-certPath to the certificate file used when connecting to the remote KV store.
SURREAL_LOGsurreal fix, startlogThe logging level for the database server.
SURREAL_NAMEsurreal ml exportnameThe name of the model.
SURREAL_NAMESPACEsurreal export, import, sqlnamespaceThe namespace selected for the operation.
SURREAL_NO_BANNERsurreal startno-bannerWhether to hide the startup banner.
SURREAL_NO_IDENTIFICATION_HEADERSsurreal startno-identification-headersWhether to suppress the server name and version headers.
SURREAL_PASSsurreal export, import, sql, startpassword, passDatabase authentication password to use when connecting.
SURREAL_PATHsurreal fix, startpathDatabase path used for storing data.
SURREAL_QUERY_TIMEOUTsurreal startquery-timeoutThe maximum duration that a set of statements can run for.
SURREAL_STRICTstartstrictWhether strict mode is enabled on this database instance.
SURREAL_TEMPORARY_DIRECTORYsurreal starttemporary-directorySets the directory for storing temporary database files
SURREAL_TICK_INTERVALsurreal starttick-intervalThe interval at which to run node agent tick (including garbage collection).
SURREAL_TOKENsurreal export, import, sqltokenAuthentication token in JWT format to use when connecting.
SURREAL_TRANSACTION_TIMEOUTsurreal starttransaction-timeoutThe maximum duration that any single transaction can run for.
SURREAL_UNAUTHENTICATEDsurreal startunauthenticatedWhether to allow unauthenticated access.
SURREAL_USERsurreal export, import, sql, startusername, userDatabase authentication username to use when connecting.
SURREAL_VERSIONsurreal ml exportnameThe version of the model.
SURREAL_WEB_CRTsurreal startweb-crtPath to the certificate file for encrypted client connections.
SURREAL_WEB_KEYsurreal startweb-keyPath to the private key file for encrypted client connections.

Storage backend environment variables

FoundationDB

Environment variableDefault valueNotes
SURREAL_FOUNDATIONDB_TRANSACTION_MAX_RETRY_DELAY500
SURREAL_FOUNDATIONDB_TRANSACTION_TIMEOUT5000
SURREAL_FOUNDATIONDB_TRANSACTION_RETRY_LIMIT5

RocksDB

Environment variableDefault valueNotes
SURREAL_ROCKSDB_THREAD_COUNTNumber of CPUs on machine
SURREAL_ROCKSDB_WRITE_BUFFER_SIZE268435456 (256 MiB)
SURREAL_ROCKSDB_TARGET_FILE_SIZE_BASE536870912 (512 MiB)
SURREAL_ROCKSDB_MAX_WRITE_BUFFER_NUMBER32
SURREAL_ROCKSDB_MIN_WRITE_BUFFER_NUMBER_TO_MERGE4
SURREAL_ROCKSDB_ENABLE_PIPELINED_WRITEStrue
SURREAL_ROCKSDB_ENABLE_BLOB_FILEStrue
SURREAL_ROCKSDB_MIN_BLOB_SIZE4096
SURREAL_ROCKSDB_KEEP_LOG_FILE_NUM20
© SurrealDB GitHub Discord Community Cloud Features Releases Install