ArangoDB Server Options

Usage: arangod [<options>]

The database directory can be specified as positional (unnamed) first parameter:

arangod /path/to/datadir

Or explicitly as named parameter:

arangod --database.directory /path/to/datadir

All other parameters need to be passed as named parameters. That is two hyphens followed by the option name, an equals sign or a space and finally the parameter value. The value needs to be wrapped in double quote marks if the value contains whitespace. Extra whitespace around = is allowed:

arangod --database.directory = "/path with spaces/to/datadir"

See Configuration if you want to translate startup parameters to configuration files or learn more about startup options in general.

See Fetch Current Configuration Options if you want to query the arangod server for the current settings at runtime.

Global

Also see Global details.

Name Type Description
check-configuration boolean Check the configuration and exit
This is a command, no value needs to be specified. The process terminates after executing the command.
config string The configuration file or ‘none’
configuration string The configuration file or ‘none’
console boolean Start a JavaScript emergency console
This option can be specified without value to enable it.
daemon boolean Background the server, running it as daemon
This option can be specified without value to enable it.
default-language string ISO-639 language code
define string… Define key=value for a @key@ entry in config file
dump-dependencies boolean Dump dependency graph
This is a command, no value needs to be specified. The process terminates after executing the command.
dump-options boolean Dump configuration options in JSON format
This is a command, no value needs to be specified. The process terminates after executing the command.
fortune boolean Show fortune cookie on startup
This option can be specified without value to enable it.
gid string Switch to group-id after reading config files
hund boolean Make ArangoDB bark on startup
This option can be specified without value to enable it.
log string… The global or topic-specific log level

Deprecated in: v3.5.0
pid-file string Pid-file in daemon mode
supervisor boolean Background the server, starts a supervisor
This option can be specified without value to enable it.
uid string Switch to user-id after reading config files
version boolean Reports the version and exits
This is a command, no value needs to be specified. The process terminates after executing the command.
working-directory string Working directory in daemon mode

Agency

Also see Agency details.

Name Type Description
agency.activate boolean Activate agency
This option can be specified without value to enable it.
agency.compaction-keep-size uint64 Keep as many indices before compaction point
agency.compaction-step-size uint64 Step size between state machine compactions
agency.disaster-recovery-id string Allows for specification of the id for this agent; dangerous option for disaster recover only!
agency.election-timeout-max double Maximum timeout before an agent calls for new election (in seconds)
agency.election-timeout-min double Minimum timeout before an agent calls for new election (in seconds)
agency.endpoint string… Agency endpoints
agency.max-append-size uint64 Maximum size of appendEntries document (# log entries)
agency.my-address string Which address to advertise to the outside
agency.pool-size uint64 Number of agent pool
agency.size uint64 Number of agents
agency.supervision boolean Perform arangodb cluster supervision
This option can be specified without value to enable it.
agency.supervision-frequency double Arangodb cluster supervision frequency (in seconds)
agency.supervision-grace-period double Supervision time, after which a server is considered to have failed (in seconds)
agency.wait-for-sync boolean Wait for hard disk syncs on every persistence call (required in production)
This option can be specified without value to enable it.

ArangoSearch

Also see ArangoSearch details.

Name Type Description
arangosearch.threads uint64 The exact number of threads to use for asynchronous tasks (0 == autodetect)
arangosearch.threads-limit uint64 Upper limit to the autodetected number of threads to use for asynchronous tasks (0 == use default)

Audit

Also see Audit details.

Name Type Description
audit.hostname string Enterprise Edition only
Hostname to use
audit.output string… Enterprise Edition only
Audit destination(s)

Backup

Also see Backup details.

Name Type Description
backup.api-enabled string Whether the backup api is enabled (true) or not (false), or only enabled for superuser JWT (jwt)
backup.local-path-prefix string This option restricts any backup target to a given path prefix

Cache

Also see Cache details.

Name Type Description
cache.rebalancing-interval uint64 Microseconds between rebalancing attempts
cache.size uint64 Size of cache in bytes

Cluster

Also see Cluster details.

Name Type Description
cluster.agency-endpoint string… Agency endpoint to connect to
cluster.agency-prefix string Agency prefix
cluster.create-waits-for-sync-replication boolean Active coordinator will wait for all replicas to create collection
This option can be specified without value to enable it.
cluster.default-replication-factor uint32 Default replication factor for non-system collections

Introduced in: v3.6.0
cluster.force-one-shard boolean Force one-shard mode for all new collections
This option can be specified without value to enable it.

Introduced in: v3.6.0
cluster.index-create-timeout double Amount of time (in seconds) the coordinator will wait for an index to be created before giving up
cluster.max-number-of-shards uint32 Maximum number of shards when creating new collections (0 = unrestricted)

Introduced in: v3.5.1
cluster.max-replication-factor uint32 Maximum replication factor for new collections (0 = unrestricted)

Introduced in: v3.6.0
cluster.min-replication-factor uint32 Minimum replication factor for new collections

Introduced in: v3.6.0
cluster.my-address string This server’s endpoint (cluster internal)
cluster.my-advertised-endpoint string This server’s advertised endpoint (e.g. external IP address or load balancer, optional)
cluster.my-role string This server’s role
cluster.require-persisted-id boolean If set to true, then the instance will only start if a UUID file is found in the database on startup. Setting this option will make sure the instance is started using an already existing database directory and not a new one. For the first start, the UUID file must either be created manually or the option must be set to false for the initial startup
This option can be specified without value to enable it.
cluster.resign-leadership-on-shutdown boolean Create resign leader ship job for this dbsever on shutdown
This option can be specified without value to enable it.
cluster.synchronous-replication-timeout-factor double All synchronous replication timeouts are multiplied by this factor
cluster.synchronous-replication-timeout-minimum double All synchronous replication timeouts will be at least this value (in seconds)
cluster.synchronous-replication-timeout-per-4k double All synchronous replication timeouts are increased by this amount per 4096 bytes (in seconds)
cluster.system-replication-factor uint32 Default replication factor for system collections
cluster.upgrade string Perform a cluster upgrade if necessary (auto = perform upgrade and shut down only if --database.auto-upgrade true is set, disable = never perform upgrade, force = always perform an upgrade and shut down, online = always perform an upgrade but don’t shut down)

Possible values: “auto”, “disable”, “force”, “online”
cluster.write-concern uint32 Write concern used for writes to new collections

Introduced in: v3.6.0

Compaction

Also see Compaction details.

Name Type Description
compaction.db-sleep-time double Sleep interval between two compaction runs (in s)
compaction.dead-documents-threshold uint64 Minimum unused count of documents in a datafile
compaction.dead-size-percent-threshold double How many percent of the source datafile should be unused at least
compaction.dead-size-threshold uint64 How many bytes of the source data file are allowed to be unused at most
compaction.max-file-size-factor uint64 How large the resulting file may be in comparison to the collections ‘--database.maximal-journal-size’ setting
compaction.max-files uint64 Maximum number of files to merge to one file
compaction.max-result-file-size uint64 How large may the compaction result file become (in bytes)
compaction.min-interval double Minimum sleep time between two compaction runs (in s)
compaction.min-small-data-file-size uint64 Minimal filesize threshhold original data files have to be below for a compaction

Database

Also see Database details.

Name Type Description
database.auto-upgrade boolean Perform a database upgrade if necessary
This option can be specified without value to enable it.
database.check-version boolean Checks the versions of the database and exit
This is a command, no value needs to be specified. The process terminates after executing the command.
database.directory string Path to the database directory
database.force-sync-properties boolean Force syncing of collection properties to disk, will use waitForSync value of collection when turned off
This option can be specified without value to enable it.
database.ignore-datafile-errors boolean Load collections even if datafiles may contain errors
This option can be specified without value to enable it.
database.init-database boolean Initializes an empty database
This is a command, no value needs to be specified. The process terminates after executing the command.
database.maximal-journal-size uint64 Default maximal journal size, can be overwritten when creating a collection
database.password string Initial password of root user
database.required-directory-state string Required state of database directory at startup (non-existing: database directory must not exist, existing: database directory must exist, empty: database directory must exist but be empty, populated: database directory must exist and contain specific files already, any: any state allowed)

Possible values: “any”, “empty”, “existing”, “non-existing”, “populated”
database.restore-admin boolean Resets the admin users and sets a new password
This is a command, no value needs to be specified. The process terminates after executing the command.
database.throw-collection-not-loaded-error boolean Throw an error when accessing a collection that is still loading
This option can be specified without value to enable it.
database.upgrade-check boolean Skip a database upgrade
This option can be specified without value to enable it.
database.wait-for-sync boolean Default wait-for-sync behavior, can be overwritten when creating a collection
This option can be specified without value to enable it.

Foxx

Also see Foxx details.

Name Type Description
foxx.api boolean Enables Foxx management REST APIs
This option can be specified without value to enable it.

Introduced in: v3.5.0
foxx.queues boolean Enable Foxx queues
This option can be specified without value to enable it.
foxx.queues-poll-interval double Poll interval (in seconds) for Foxx queue manager
foxx.store boolean Enables Foxx store in web interface
This option can be specified without value to enable it.

Introduced in: v3.5.0

Frontend

Also see Frontend details.

Name Type Description
frontend.proxy-request-check boolean Enable proxy request checking
This option can be specified without value to enable it.
frontend.trusted-proxy string… List of proxies to trust (may be IP or network). Make sure --frontend.proxy-request-check is enabled
frontend.version-check boolean Alert the user if new versions are available
This option can be specified without value to enable it.

HTTP

Also see HTTP details.

Name Type Description
http.allow-method-override boolean Allow HTTP method override using special headers
This option can be specified without value to enable it.
http.hide-product-header boolean Do not expose “Server: ArangoDB” header in HTTP responses
This option can be specified without value to enable it.
http.keep-alive-timeout double Keep-alive timeout in seconds
http.trusted-origin string… Trusted origin URLs for CORS requests with credentials

JavaScript

Also see JavaScript details.

Name Type Description
javascript.allow-admin-execute boolean For testing purposes allow ‘_admin/execute’, NEVER enable on production
This option can be specified without value to enable it.
javascript.allow-external-process-control boolean Allow execution and control of external processes from within JavaScript actions
This option can be specified without value to enable it.

Introduced in: v3.5.0
javascript.allow-port-testing boolean Allow testing of ports from within JavaScript actions
This option can be specified without value to enable it.

Introduced in: v3.5.0
javascript.app-path string Directory for Foxx applications
javascript.copy-installation boolean Copy contents of ‘javascript.startup-directory’ on first start
This option can be specified without value to enable it.
javascript.enabled boolean Enable the V8 JavaScript engine
This option can be specified without value to enable it.
javascript.endpoints-blacklist string… Endpoints that cannot be connected to via @arangodb/request module in JavaScript actions if not whitelisted

Introduced in: v3.5.0
javascript.endpoints-whitelist string… Endpoints that can be connected to via @arangodb/request module in JavaScript actions

Introduced in: v3.5.0
javascript.environment-variables-blacklist string… Environment variables that will be inaccessible in JavaScript if not whitelisted

Introduced in: v3.5.0
javascript.environment-variables-whitelist string… Environment variables that will be accessible in JavaScript

Introduced in: v3.5.0
javascript.files-whitelist string… Filesystem paths that will be accessible from within JavaScript actions

Introduced in: v3.5.0
javascript.gc-frequency double JavaScript time-based garbage collection frequency (each x seconds)
javascript.gc-interval uint64 JavaScript request-based garbage collection interval (each x requests)
javascript.harden boolean Disables access to JavaScript functions in the internal module: getPid() and logLevel()
This option can be specified without value to enable it.

Introduced in: v3.5.0
javascript.module-directory string… Additional paths containing JavaScript modules
javascript.script string… Run scripts and exit
javascript.script-parameter string… Script parameter
javascript.startup-directory string Path to the directory containing JavaScript startup scripts
javascript.startup-options-blacklist string… Startup options whose names match this regular expression will not be exposed (if not whitelisted) to JavaScript actions

Introduced in: v3.5.0
javascript.startup-options-whitelist string… Startup options whose names match this regular expression will be whitelisted and exposed to JavaScript

Introduced in: v3.5.0
javascript.v8-contexts uint64 Maximum number of V8 contexts that are created for executing JavaScript actions
javascript.v8-contexts-max-age double Maximum age for each V8 context (in seconds) before it is disposed
javascript.v8-contexts-max-invocations uint64 Maximum number of invocations for each V8 context before it is disposed
javascript.v8-contexts-minimum uint64 Minimum number of V8 contexts that keep available for executing JavaScript actions
javascript.v8-max-heap uint64 Maximal heap size (in MB)
javascript.v8-options string… Options to pass to v8

LDAP

Also see LDAP details.

Name Type Description
ldap.async-connect boolean Enterprise Edition only
Whether or not the connection to the LDAP library will be done asynchronously
This option can be specified without value to enable it.
ldap.basedn string Enterprise Edition only
Ldap basedn, eg. dc=example,dc=com
ldap.binddn string Enterprise Edition only
Ldap binddn, eg. cn=admin,dc=example,dc=com
ldap.bindpasswd string Enterprise Edition only
Ldap bindpassword, eg. admin
ldap.debug boolean Enterprise Edition only
Turn on internal OpenLDAP library output (warning: will print to stdout)
This option can be specified without value to enable it.
ldap.enabled boolean Enterprise Edition only
Enable LDAP
This option can be specified without value to enable it.
ldap.network-timeout double Enterprise Edition only
Timeout value (in seconds) after which network operations following the initial connection return in case of no activity (a value of 0 means default timeout)
ldap.port uint16 Enterprise Edition only
Port to use
ldap.prefix string Enterprise Edition only
Ldap prefix, eg. uid= xor dn= xor cn=
ldap.referrals boolean Enterprise Edition only
Whether or not the LDAP library should implicitly chase referrals
This option can be specified without value to enable it.
ldap.refresh-rate double Enterprise Edition only
Refresh user settings after this time (in seconds)
ldap.restart boolean Enterprise Edition only
Whether or not the LDAP library should implicitly restart connections
This option can be specified without value to enable it.
ldap.retries uint32 Enterprise Edition only
Number of tries to attempt connecting to the LDAP server. Setting it to values greater than one will retry connecting in case the LDAP server is unavailable or denies the connection
ldap.roles-attribute-name string Enterprise Edition only
Ldap attributename where the role are located.
ldap.roles-exclude string Enterprise Edition only
Regexp to exclude groups. Leave empty to exclude none.
ldap.roles-include string Enterprise Edition only
Regexp to include groups. Leave empty to include all.
ldap.roles-search string Enterprise Edition only
Ldap search for roles; ‘{USER}’ is replaced by the ‘dn’ of the user.
ldap.roles-transformation string… Enterprise Edition only
Regexp to normalizer role name, e.g. ‘/^ (.[^ ]])*/$2/’
ldap.search-attribute string Enterprise Edition only
Ldap search attribute, eg. uid
ldap.search-filter string Enterprise Edition only
Ldap search filter, eg. (objectClass=simpleSecurityObject)
ldap.search-scope string Enterprise Edition only
Ldap search scope, one of base, one, sub
ldap.serialize-timeout double Enterprise Edition only
Maximum amount of time (in seconds) that will be waited for the serialization mutex
ldap.serialized boolean Enterprise Edition only
Whether or not calls into the LDAP library should be serialized. This option can be used to work around thread-unsafe LDAP library functionality
This option can be specified without value to enable it.
ldap.server string Enterprise Edition only
Server to use
ldap.suffix string Enterprise Edition only
Ldap suffix, eg. ,dc=example,dc=com
ldap.superuser-role string Enterprise Edition only
Role mapping to the super-users
ldap.timeout double Enterprise Edition only
Timeout value (in seconds) for synchronous LDAP API calls (a value of 0 means default timeout)
ldap.tls boolean Enterprise Edition only
Enable TLS
This option can be specified without value to enable it.
ldap.tls-cacert-dir string Enterprise Edition only
Ldap tls cacert dir
ldap.tls-cacert-file string Enterprise Edition only
Ldap tls cacert file
ldap.tls-cert-check-strategy string Enterprise Edition only
Ldap tls cert check strategy, one of never, hard, demand, allow, try
ldap.tls-version string Enterprise Edition only
Ldap tls version, one of 1.0, 1.1, 1.2
ldap.url string Enterprise Edition only
Ldap url, eg. ldap://example.com:389/dc=example,dc=com?uid?sub

Log

Also see Log details.

Name Type Description
log.color boolean Use colors for TTY logging
This option can be specified without value to enable it.
log.escape boolean Escape characters when logging
This option can be specified without value to enable it.
log.file string Shortcut for ‘--log.output file://'
log.file-group string Group to use for new log file, user must be a member of this group

Introduced in: v3.4.5, v3.5.0
log.file-mode string Mode to use for new log file, umask will be applied as well

Introduced in: v3.4.5, v3.5.0
log.force-direct boolean Do not start a seperate thread for logging
This option can be specified without value to enable it.
log.foreground-tty boolean Also log to tty if backgrounded
This option can be specified without value to enable it.
log.ids boolean Log unique message ids
This option can be specified without value to enable it.

Introduced in: v3.5.0
log.keep-logrotate boolean Keep the old log file after receiving a sighup
This option can be specified without value to enable it.
log.level string… The global or topic-specific log level
log.line-number boolean Append line number and file name
This option can be specified without value to enable it.
log.output string… Log destination(s), e.g. file:///path/to/file (Linux, macOS) or file://C:\path\to\file (Windows)
log.performance boolean Shortcut for ‘--log.level performance=trace’
This option can be specified without value to enable it.

Deprecated in: v3.5.0
log.prefix string Prefix log message with this string
log.request-parameters boolean Include full URLs and HTTP request parameters in trace logs
This option can be specified without value to enable it.
log.role boolean Log server role
This option can be specified without value to enable it.
log.shorten-filenames boolean Shorten filenames in log output (use with --log.line-number)
This option can be specified without value to enable it.
log.thread boolean Show thread identifier in log message
This option can be specified without value to enable it.
log.thread-name boolean Show thread name in log message
This option can be specified without value to enable it.
log.time-format string Time format to use in logs

Possible values: “local-datestring”, “timestamp”, “timestamp-micros”, “timestamp-millis”, “uptime”, “uptime-micros”, “uptime-millis”, “utc-datestring”, “utc-datestring-millis”
Introduced in: v3.5.0
log.use-local-time boolean Use local timezone instead of UTC
This option can be specified without value to enable it.

Deprecated in: v3.5.0
log.use-microtime boolean Use microtime instead
This option can be specified without value to enable it.

Deprecated in: v3.5.0

Network

Also see Network details.

Name Type Description
network.idle-connection-ttl uint64 Default time-to-live of idle connections (in milliseconds)

Introduced in: v3.6.0
network.io-threads uint32 Number of network IO threads

Introduced in: v3.6.0
network.max-open-connections uint64 Max open network connections

Introduced in: v3.6.0
network.verify-hosts boolean Verify hosts when using TLS
This option can be specified without value to enable it.

Introduced in: v3.6.0

Nonce

Also see Nonce details.

Name Type Description
nonce.size uint64 The size of the hash array for nonces

Query

Also see Query details.

Name Type Description
query.cache-entries uint64 Maximum number of results in query result cache per database
query.cache-entries-max-size uint64 Maximum cumulated size of results in query result cache per database
query.cache-entry-max-size uint64 Maximum size of an invidiual result entry in query result cache
query.cache-include-system-collections boolean Whether or not to include system collection queries in the query result cache
This option can be specified without value to enable it.
query.cache-mode string Mode for the AQL query result cache (on, off, demand)
query.fail-on-warning boolean Whether AQL queries should fail with errors even for recoverable warnings
This option can be specified without value to enable it.
query.memory-limit uint64 Memory threshold for AQL queries (in bytes)
query.optimizer-max-plans uint64 Maximum number of query plans to create for a query
query.optimizer-rules string… Enable or disable specific optimizer rules (use rule name prefixed with ‘-‘ for disabling, ‘+’ for enabling)

Introduced in: v3.6.0
query.parallelize-gather-writes boolean Enable write parallelization for gather nodes
This option can be specified without value to enable it.

Introduced in: v3.6.0
query.registry-ttl double Default time-to-live of cursors and query snippets (in seconds); if <= 0, value will default to 30 for single-server instances or 600 for cluster instances
query.slow-streaming-threshold double Threshold for slow streaming AQL queries (in seconds)
query.slow-threshold double Threshold for slow AQL queries (in seconds)
query.smart-joins boolean Enterprise Edition only
Enable smart joins query optimization
This option can be specified without value to enable it.

Introduced in: v3.4.5, v3.5.0
query.tracking boolean Whether to track slow AQL queries
This option can be specified without value to enable it.
query.tracking-with-bindvars boolean Whether to track bind vars with AQL queries
This option can be specified without value to enable it.

Random

Also see Random details.

Name Type Description
random.generator uint32 Random number generator to use (1 = MERSENNE, 2 = RANDOM, 3 = URANDOM, 4 = COMBINED (not for Windows), 5 = WinCrypt (Windows only)

Possible values: 1, 2, 3, 4

Rclone

Also see Rclone details.

Name Type Description
rclone.executable string Rclone executable used for up and download of backups

Replication

Also see Replication details.

Name Type Description
replication.active-failover boolean Enable active-failover during asynchronous replication
This option can be specified without value to enable it.
replication.auto-start boolean Switch to enable or disable the automatic start of replication appliers
This option can be specified without value to enable it.
replication.automatic-failover boolean Please use --replication.active-failover instead
This option can be specified without value to enable it.
replication.connect-timeout double Default timeout value for replication connection attempts (in seconds)

Introduced in: v3.4.9, v3.5.4
replication.max-parallel-tailing-invocations uint64 Maximum number of concurrently allowed WAL tailing invocations (0 = unlimited)

Introduced in: v3.5.0
replication.request-timeout double Default timeout value for replication requests (in seconds)

Introduced in: v3.4.9, v3.5.4

RocksDB

Also see RocksDB details.

Name Type Description
rocksdb.allow-fallocate boolean If true, allow RocksDB to use fallocate calls. if false, fallocate calls are bypassed
This option can be specified without value to enable it.

Introduced in: v3.4.5, v3.5.0
rocksdb.block-align-data-blocks boolean If true, aligns data blocks on lesser of page size and block size
This option can be specified without value to enable it.
rocksdb.block-cache-shard-bits int64 Number of shard bits to use for block cache (use -1 for default value)
rocksdb.block-cache-size uint64 Size of block cache in bytes
rocksdb.compaction-read-ahead-size uint64 If non-zero, we perform bigger reads when doing compaction. If you’re running RocksDB on spinning disks, you should set this to at least 2MB. that way RocksDB’s compaction is doing sequential instead of random reads.
rocksdb.create-sha-files boolean Enterprise Edition only
Enable generation of sha256 files for each .sst file
This option can be specified without value to enable it.
rocksdb.debug-logging boolean True to enable rocksdb debug logging
This option can be specified without value to enable it.
rocksdb.delayed-write-rate uint64 Limited write rate to DB (in bytes per second) if we are writing to the last mem-table allowed and we allow more than 3 mem-tables, or if we have surpassed a certain number of level-0 files and need to slowdown writes
rocksdb.dynamic-level-bytes boolean If true, determine the number of bytes for each level dynamically to minimize space amplification
This option can be specified without value to enable it.
rocksdb.enable-pipelined-write boolean If true, use a two stage write queue for WAL writes and memtable writes
This option can be specified without value to enable it.
rocksdb.enable-statistics boolean Whether or not RocksDB statistics should be turned on
This option can be specified without value to enable it.
rocksdb.encryption-key-generator string Enterprise Edition only
Program providing the encryption key on stdout. If set, encryption will be enabled.
rocksdb.encryption-keyfile string Enterprise Edition only
File containing encryption key. If set, encryption will be enabled.
rocksdb.enforce-block-cache-size-limit boolean If true, strictly enforces the block cache size limit
This option can be specified without value to enable it.
rocksdb.exclusive-writes boolean If true, writes are exclusive. This allows the RocksDB engine to mimic the MMFiles collection locks behavior, but will inhibit concurrent write operations
This option can be specified without value to enable it.

Introduced in: v3.5.4
rocksdb.intermediate-commit-count uint64 An intermediate commit will be performed automatically when this number of operations is reached in a transaction
rocksdb.intermediate-commit-size uint64 An intermediate commit will be performed automatically when a transaction has accumulated operations of this size (in bytes)
rocksdb.level0-compaction-trigger int64 Number of level-0 files that triggers a compaction
rocksdb.level0-slowdown-trigger int64 Number of level-0 files that triggers a write slowdown
rocksdb.level0-stop-trigger int64 Number of level-0 files that triggers a full write stall
rocksdb.limit-open-files-at-startup boolean Limit the amount of .sst files RocksDB will inspect at startup, in order to startup reduce IO
This option can be specified without value to enable it.

Introduced in: v3.4.5, v3.5.0
rocksdb.max-background-jobs int32 Maximum number of concurrent background jobs (compactions and flushes)
rocksdb.max-bytes-for-level-base uint64 If not using dynamic level sizes, this controls the maximum total data size for level-1
rocksdb.max-bytes-for-level-multiplier double If not using dynamic level sizes, the maximum number of bytes for level L can be calculated as max-bytes-for-level-base * (max-bytes-for-level-multiplier ^ (L-1))
rocksdb.max-subcompactions uint64 Maximum number of concurrent subjobs for a background compaction
rocksdb.max-total-wal-size uint64 Maximum total size of WAL files that will force flush stale column families
rocksdb.max-transaction-size uint64 Transaction size limit (in bytes)
rocksdb.max-write-buffer-number uint64 Maximum number of write buffers that build up in memory (default: number of column families + 2 = 9 write buffers). You can increase the amount only
rocksdb.min-write-buffer-number-to-merge uint64 Minimum number of write buffers that will be merged together before writing to storage
rocksdb.num-levels uint64 Number of levels for the database
rocksdb.num-threads-priority-high uint32 Number of threads for high priority operations (e.g. flush)
rocksdb.num-threads-priority-low uint32 Number of threads for low priority operations (e.g. compaction)
rocksdb.num-uncompressed-levels uint64 Number of uncompressed levels for the database
rocksdb.optimize-filters-for-hits boolean This flag specifies that the implementation should optimize the filters mainly for cases where keys are found rather than also optimize for keys missed. This would be used in cases where the application knows that there are very few misses or the performance in the case of misses is not important
This option can be specified without value to enable it.
rocksdb.recycle-log-file-num boolean If true, keep a pool of log files around for recycling
This option can be specified without value to enable it.
rocksdb.sync-interval uint64 Interval for automatic, non-requested disk syncs (in milliseconds, use 0 to turn automatic syncing off)
rocksdb.table-block-size uint64 Approximate size (in bytes) of user data packed per block
rocksdb.throttle boolean Enable write-throttling
This option can be specified without value to enable it.
rocksdb.total-write-buffer-size uint64 Maximum total size of in-memory write buffers (0 = unbounded)
rocksdb.transaction-lock-timeout int64 If positive, specifies the wait timeout in milliseconds when a transaction attempts to lock a document. A negative value is not recommended as it can lead to deadlocks (0 = no waiting, < 0 no timeout)
rocksdb.use-direct-io-for-flush-and-compaction boolean Use O_DIRECT for flush and compaction
This option can be specified without value to enable it.
rocksdb.use-direct-reads boolean Use O_DIRECT for reading files
This option can be specified without value to enable it.
rocksdb.use-file-logging boolean Use a file-base logger for RocksDB’s own logs
This option can be specified without value to enable it.
rocksdb.use-fsync boolean Issue an fsync when writing to disk (set to true for issuing fdatasync only)
This option can be specified without value to enable it.
rocksdb.wal-archive-size-limit uint64 Maximum total size (in bytes) of archived WAL files (0 = unlimited)
rocksdb.wal-directory string Optional path to the RocksDB WAL directory. If not set, the WAL directory will be located inside the regular data directory
rocksdb.wal-file-timeout double Timeout after which unused WAL files are deleted
rocksdb.wal-file-timeout-initial double Initial timeout after which unused WAL files deletion kicks in after server start
rocksdb.wal-recovery-skip-corrupted boolean Skip corrupted records in WAL recovery
This option can be specified without value to enable it.
rocksdb.write-buffer-size uint64 Amount of data to build up in memory before converting to a sorted on-disk file (0 = disabled)

Server

Also see Server details.

Name Type Description
server.allow-use-database boolean Allow change of database in REST actions, only needed for unittests
This option can be specified without value to enable it.
server.authentication boolean Enable authentication for ALL client requests
This option can be specified without value to enable it.
server.authentication-system-only boolean Use HTTP authentication only for requests to /_api and /_admin
This option can be specified without value to enable it.
server.authentication-timeout double Timeout for the authentication cache in seconds (0 = indefinitely)
server.authentication-unix-sockets boolean Authentication for requests via UNIX domain sockets
This option can be specified without value to enable it.
server.check-max-memory-mappings boolean Check the maximum number of memory mappings at runtime
This option can be specified without value to enable it.
server.descriptors-minimum uint64 Minimum number of file descriptors needed to start
server.endpoint string… Endpoint for client requests (e.g. ‘http+tcp://127.0.0.1:8529’, or ‘vst+ssl://192.168.1.1:8529’)
server.export-metrics-api boolean Turn metrics API on or off
This option can be specified without value to enable it.
server.flush-interval uint64 Interval (in microseconds) for flushing data
server.gid string Switch to group-id after reading config files
server.harden boolean Lock down REST APIs that reveal version information or server internals for non-admin users
This option can be specified without value to enable it.

Introduced in: v3.5.0
server.io-threads uint64 Number of threads used to handle IO
server.jwt-secret string Secret to use when doing jwt authentication

Deprecated in: v3.3.22, v3.4.2
server.jwt-secret-keyfile string File containing jwt secret to use when doing jwt authentication.
server.local-authentication boolean Enable authentication using the local user database
This option can be specified without value to enable it.
server.maintenance-actions-block int32 Minimum number of seconds finished Actions block duplicates
server.maintenance-actions-linger int32 Minimum number of seconds finished Actions remain in deque
server.maintenance-threads uint32 Maximum number of threads available for maintenance actions
server.maximal-queue-size uint64 Size of the priority 2 fifo
server.maximal-threads uint64 Maximum number of request handling threads to run (0 = use system-specific default of 64)
server.minimal-threads uint64 Minimum number of request handling threads to run
server.prio1-size uint64 Size of the priority 1 fifo
server.rest-server boolean Start a rest-server
This option can be specified without value to enable it.
server.scheduler-queue-size uint64 Number of simultaneously queued requests inside the scheduler
server.statistics boolean Turn statistics gathering on or off
This option can be specified without value to enable it.
server.statistics-history boolean Turn storing statistics in database on or off
This option can be specified without value to enable it.

Introduced in: v3.4.9, v3.5.1
server.storage-engine string Storage engine type

Possible values: “auto”, “mmfiles”, “rocksdb”
server.uid string Switch to user-id after reading config files

SSL

Also see SSL details.

Name Type Description
ssl.cafile string Ca file used for secure connections
ssl.cipher-list string Ssl ciphers to use, see OpenSSL documentation
ssl.ecdh-curve string SSL ECDH Curve, see the output of “openssl ecparam -list_curves”
ssl.keyfile string Key-file used for secure connections
ssl.options uint64 Ssl connection options, see OpenSSL documentation
ssl.protocol uint64 Ssl protocol (1 = SSLv2 (unsupported), 2 = SSLv2 or SSLv3 (negotiated), 3 = SSLv3, 4 = TLSv1, 5 = TLSv1.2, 6 = TLSv1.3, 9 = generic TLS)

Possible values: 1, 2, 3, 4, 5, 6, 9
ssl.require-peer-certificate boolean Enterprise Edition only
Require a peer certificate when connecting
This option can be specified without value to enable it.
ssl.session-cache boolean Enable the session cache for connections
This option can be specified without value to enable it.

TCP

Also see TCP details.

Name Type Description
tcp.backlog-size uint64 Listen backlog size
tcp.reuse-address boolean Try to reuse TCP port(s)
This option can be specified without value to enable it.

Temp

Also see Temp details.

Name Type Description
temp.path string Path for temporary files

TTL

Also see TTL details.

Name Type Description
ttl.frequency uint64 Frequency (in milliseconds) for the TTL background thread invocation. a value of 0 turns the TTL background thread off entirely
ttl.max-collection-removes uint64 Maximum number of documents to remove per collection
ttl.max-total-removes uint64 Maximum number of documents to remove per invocation of the TTL thread
ttl.only-loaded-collection boolean Only consider already loaded collections for removal
This option can be specified without value to enable it.

WAL

Also see WAL details.

Name Type Description
wal.allow-oversize-entries boolean Allow entries that are bigger than ‘--wal.logfile-size’
This option can be specified without value to enable it.
wal.directory string Logfile directory
wal.flush-timeout uint64 Flush timeout (in milliseconds)
wal.historic-logfiles uint32 Maximum number of historic logfiles to keep after collection
wal.ignore-logfile-errors boolean Ignore logfile errors. this will read recoverable data from corrupted logfiles but ignore any unrecoverable data
This option can be specified without value to enable it.
wal.ignore-recovery-errors boolean Continue recovery even if re-applying operations fails
This option can be specified without value to enable it.
wal.logfile-size uint32 Size of each logfile (in bytes)
wal.open-logfiles uint32 Maximum number of parallel open logfiles
wal.reserve-logfiles uint32 Maximum number of reserve logfiles to maintain
wal.slots uint32 Number of logfile slots to use
wal.sync-interval uint64 Interval for automatic, non-requested disk syncs (in milliseconds)
wal.throttle-wait uint64 Maximum wait time per operation when write-throttled (in milliseconds)
wal.throttle-when-pending uint64 Throttle writes when at least this many operations are waiting for collection (set to 0 to deactivate write-throttling)
wal.use-mlock boolean Mlock WAL logfiles in memory (may require elevated privileges or limits)
This option can be specified without value to enable it.