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.

Global Options

NameTypeDescription
configurationstringThe configuration file or 'none'.
Default: ""
consolebooleanStart a JavaScript emergency console.
Default: false
versionbooleanReports the version and exits.
Default: false

Agency Options

NameTypeDescription
agency.activatebooleanActivate agency.
Default: false
agency.compaction-keep-sizeuint64Keep as many indices before compaction point.
Default: 10000
agency.election-timeout-maxdoubleMaximum timeout before an agent calls for new election [s].
Default: 5
agency.election-timeout-mindoubleMinimum timeout before an agent calls for new election [s].
Default: 1
agency.endpointstring...Agency endpoints.
Default: []
agency.my-addressstringWhich address to advertise to the outside.
Default: ""
agency.pool-sizeuint64Number of agent pool.
Default: 1
agency.sizeuint64Number of agents.
Default: 1
agency.supervisionbooleanPerform arangodb cluster supervision.
Default: false
agency.supervision-frequencydoubleArangodb cluster supervision frequency [s].
Default: 1
agency.supervision-grace-perioddoubleSupervision time, after which a server is considered to have failed [s].
Default: 10

Audit Options

NameTypeDescription
audit.hostnamestringHostname to use.
Default: ""
audit.outputstring...Audit destination(s).
Default: []

Cache Options

NameTypeDescription
cache.rebalancing-intervaluint64Microseconds between rebalancing attempts.
Default: 2000000
cache.sizeuint64Size of cache in bytes.
Default: 4364869632

Cluster Options

NameTypeDescription
cluster.agency-endpointstring...Agency endpoint to connect to.
Default: []
cluster.my-addressstringThis server's endpoint.
Default: ""
cluster.my-rolestringThis server's role.
Default: ""
cluster.require-persisted-idbooleanIf 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.
Default: false
cluster.synchronous-replication-timeout-factordoubleAll synchronous replication timeouts are multiplied by this factor.
Default: 1
cluster.system-replication-factoruint32Replication factor for system collections.
Default: 2

Compaction Options

NameTypeDescription
compaction.db-sleep-timedoubleSleep interval between two compaction runs (in s).
Default: 1
compaction.dead-documents-thresholduint64Minimum unused count of documents in a datafile.
Default: 16384
compaction.dead-size-percent-thresholddoubleHow many percent of the source datafile should be unused at least.
Default: 0.1
compaction.dead-size-thresholduint64How many bytes of the source data file are allowed to be unused at most.
Default: 131072
compaction.max-file-size-factoruint64How large the resulting file may be in comparison to the collections '--database.maximal-journal-size' setting.
Default: 3
compaction.max-filesuint64Maximum number of files to merge to one file.
Default: 3
compaction.max-result-file-sizeuint64How large may the compaction result file become (in bytes).
Default: 134217728
compaction.min-intervaldoubleMinimum sleep time between two compaction runs (in s).
Default: 10
compaction.min-small-data-file-sizeuint64Minimal filesize threshhold original data files have to be below for a compaction.
Default: 131072

Database Options

NameTypeDescription
database.auto-upgradebooleanPerform a database upgrade if necessary.
Default: false
database.directorystringPath to the database directory.
Default: ""
database.maximal-journal-sizeuint64Default maximal journal size, can be overwritten when creating a collection.
Default: 33554432
database.required-directory-statestringRequired 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).
Default: "any"
Possible values:
  • "any"
  • "empty"
  • "existing"
  • "non-existing"
  • "populated"

Foxx Options

NameTypeDescription
foxx.queuesbooleanEnable or disable Foxx queues.
Default: true
foxx.queues-poll-intervaldoublePoll interval (in seconds) for Foxx queue manager.
Default: 1

Frontend Options

NameTypeDescription
frontend.proxy-request-checkbooleanEnable or disable proxy request checking.
Default: true
frontend.trusted-proxystring...List of proxies to trust (may be IP or network). Make sure --frontend.proxy-request-check is enabled.
Default: []

Http Options

NameTypeDescription
http.hide-product-headerbooleanDo not expose "Server: ArangoDB" header in HTTP responses.
Default: false
http.keep-alive-timeoutdoubleKeep-alive timeout in seconds.
Default: 300
http.trusted-originstring...Trusted origin URLs for CORS requests with credentials.
Default: []

Javascript Options

NameTypeDescription
javascript.app-pathstringDirectory for Foxx applications.
Default: "./js/apps"
javascript.scriptstring...Run scripts and exit.
Default: []
javascript.script-parameterstring...Script parameter.
Default: []
javascript.startup-directorystringPath to the directory containing JavaScript startup scripts.
Default: "./js"
javascript.v8-contextsuint64Maximum number of V8 contexts that are created for executing JavaScript actions.
Default: 0
javascript.v8-contexts-minimumuint64Minimum number of V8 contexts that keep available for executing JavaScript actions.
Default: 0
javascript.v8-max-heapuint64Maximal heap size (in MB).
Default: 3072

Ldap Options

NameTypeDescription
ldap.basednstringLdap basedn, eg. dc=example,dc=com.
Default: ""
ldap.binddnstringLdap binddn, eg. cn=admin,dc=example,dc=com.
Default: ""
ldap.bindpasswdstringLdap bindpassword, eg. admin.
Default: ""
ldap.enabledbooleanEnable LDAP.
Default: false
ldap.portuint16Port to use.
Default: 389
ldap.prefixstringLdap prefix, eg. uid= xor dn= xor cn=.
Default: ""
ldap.refresh-ratedoubleRefresh user settings after this time (in seconds).
Default: 300
ldap.roles-attribute-namestringLdap attributename where the role are located.
Default: ""
ldap.roles-excludestringRegexp to exclude groups. Leave empty to exclude none.
Default: ""
ldap.roles-includestringRegexp to include groups. Leave empty to include all.
Default: ""
ldap.roles-searchstringLdap search for roles; '{USER}' is replaced by the 'dn' of the user.
Default: ""
ldap.roles-transformationstring...Regexp to normalizer role name, e.g. '/^ *(.*[^ ]])*/$2/'.
Default: []
ldap.search-attributestringLdap search attribute, eg. uid.
Default: "uid"
ldap.search-filterstringLdap search filter, eg. (objectClass=simpleSecurityObject).
Default: "objectClass=*"
ldap.search-scopestringLdap search scope, one of base, one, sub.
Default: "sub"
ldap.serverstringServer to use.
Default: ""
ldap.suffixstringLdap suffix, eg. ,dc=example,dc=com.
Default: ""
ldap.superuser-rolestringRole mapping to the super-users.
Default: ""
ldap.tlsbooleanEnable TLS.
Default: false
ldap.tls-cacert-dirstringLdap tls cacert dir.
Default: ""
ldap.tls-cacert-filestringLdap tls cacert file.
Default: ""
ldap.tls-cert-check-strategystringLdap tls cert check strategy, one of never, hard, demand, allow, try.
Default: "hard"
ldap.tls-versionstringLdap tls version, one of 1.0, 1.1, 1.2.
Default: "1.2"
ldap.urlstringLdap url, eg. ldap://example.com:389/dc=example,dc=com?uid?sub.
Default: ""

Log Options

NameTypeDescription
log.colorbooleanUse colors for TTY logging.
Default: true
log.escapebooleanEscape characters when logging.
Default: true
log.levelstring...The global or topic-specific log level.
Default: ["info", "info"]
log.outputstring...Log destination(s).
Default: []
log.rolebooleanLog server role.
Default: false
log.use-local-timebooleanUse local timezone instead of UTC.
Default: false
log.use-microtimebooleanUse microtime instead.
Default: false

Nonce Options

NameTypeDescription
nonce.sizeuint64The size of the hash array for nonces.
Default: 4194304

Query Options

NameTypeDescription
query.cache-entriesuint64Maximum number of results in query result cache per database.
Default: 128
query.cache-modestringMode for the AQL query result cache (on, off, demand).
Default: "off"
query.fail-on-warningbooleanWhether AQL queries should fail with errors even for recoverable warnings.
Default: false
query.memory-limituint64Memory threshold for AQL queries (in bytes).
Default: 0
query.slow-thresholddoubleThreshold for slow AQL queries (in seconds).
Default: 10
query.trackingbooleanWhether to track slow AQL queries.
Default: true
query.tracking-with-bindvarsbooleanWhether to track bind vars with AQL queries.
Default: true

Replication Options

NameTypeDescription
replication.active-failoverbooleanEnable active-failover during asynchronous replication.
Default: false

Rocksdb Options

NameTypeDescription
rocksdb.block-cache-shard-bitsint64Number of shard bits to use for block cache (use -1 for default value).
Default: -1
rocksdb.block-cache-sizeuint64Size of block cache in bytes.
Default: 4364869632
rocksdb.compaction-read-ahead-sizeuint64If 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.
Default: 2097152
rocksdb.dynamic-level-bytesbooleanIf true, determine the number of bytes for each level dynamically to minimize space amplification.
Default: true
rocksdb.enable-pipelined-writebooleanIf true, use a two stage write queue for WAL writes and memtable writes.
Default: false
rocksdb.enable-statisticsbooleanWhether or not RocksDB statistics should be turned on.
Default: false
rocksdb.encryption-key-generatorstringProgram providing the encryption key on stdout. If set, encryption will be enabled.
Default: ""
rocksdb.encryption-keyfilestringFile containing encryption key. If set, encryption will be enabled.
Default: ""
rocksdb.intermediate-commit-countuint64An intermediate commit will be performed automatically when this number of operations is reached in a transaction.
Default: 1000000
rocksdb.intermediate-commit-sizeuint64An intermediate commit will be performed automatically when a transaction has accumulated operations of this size (in bytes).
Default: 536870912
rocksdb.level0-compaction-triggerint64Number of level-0 files that triggers a compaction.
Default: 2
rocksdb.level0-slowdown-triggerint64Number of level-0 files that triggers a write slowdown.
Default: 20
rocksdb.level0-stop-triggerint64Number of level-0 files that triggers a full write stall.
Default: 36
rocksdb.max-bytes-for-level-baseuint64If not using dynamic level sizes, this controls the maximum total data size for level-1.
Default: 268435456
rocksdb.max-bytes-for-level-multiplierdoubleIf 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)).
Default: 10
rocksdb.max-subcompactionsuint64Maximum number of concurrent subjobs for a background compaction.
Default: 1
rocksdb.max-total-wal-sizeuint64Maximum total size of WAL files that will force flush stale column families.
Default: 83886080
rocksdb.max-transaction-sizeuint64Transaction size limit (in bytes).
Default: 18446744073709551615
rocksdb.max-write-buffer-numberuint64Maximum number of write buffers that built up in memory.
Default: 2
rocksdb.min-write-buffer-number-to-mergeuint64Minimum number of write buffers that will be merged together before writing to storage.
Default: 1
rocksdb.num-levelsuint64Number of levels for the database.
Default: 7
rocksdb.num-threads-priority-highuint32Number of threads for high priority operations (e.g. flush).
Default: 0
rocksdb.num-threads-priority-lowuint32Number of threads for low priority operations (e.g. compaction).
Default: 0
rocksdb.num-uncompressed-levelsuint64Number of uncompressed levels for the database.
Default: 2
rocksdb.table-block-sizeuint64Approximate size (in bytes) of user data packed per block.
Default: 16384
rocksdb.throttlebooleanEnable write-throttling.
Default: true
rocksdb.transaction-lock-timeoutint64If 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).
Default: 1000
rocksdb.wal-directorystringOptional path to the RocksDB WAL directory. If not set, the WAL directory will be located inside the regular data directory.
Default: ""
rocksdb.wal-file-timeoutdoubleTimeout after which unused WAL files are deleted.
Default: 10
rocksdb.write-buffer-sizeuint64Amount of data to build up in memory before converting to a sorted on-disk file (0 = disabled).
Default: 67108864

Server Options

NameTypeDescription
server.authenticationbooleanEnable or disable authentication for ALL client requests.
Default: true
server.authentication-system-onlybooleanUse HTTP authentication only for requests to /_api and /_admin.
Default: true
server.authentication-timeoutdoubleTimeout for the authentication cache in seconds (0 = indefinitely).
Default: 0
server.authentication-unix-socketsbooleanAuthentication for requests via UNIX domain sockets.
Default: true
server.descriptors-minimumuint64Minimum number of file descriptors needed to start.
Default: 0
server.endpointstring...Endpoint for client requests (e.g. 'http+tcp://127.0.0.1:8529', or 'vst+ssl://192.168.1.1:8529').
Default: ["tcp://0.0.0.0:8529"]
server.flush-intervaluint64Interval (in microseconds) for flushing data.
Default: 1000000
server.jwt-secretstringSecret to use when doing jwt authentication.
Default: ""
server.local-authenticationbooleanEnable or disable authentication using the local user database.
Default: true
server.maximal-queue-sizeuint64Maximum queue length for pending operations (use 0 for unrestricted).
Default: 0
server.session-timeoutdoubleTimeout of web interface server sessions (in seconds).
Default: 5184000
server.storage-enginestringStorage engine type.
Default: "auto"
Possible values:
  • "auto"
  • "mmfiles"
  • "rocksdb"
server.threadsuint64Number of threads.
Default: 0

Ssl Options

NameTypeDescription
ssl.cafilestringCa file used for secure connections.
Default: ""
ssl.cipher-liststringSsl ciphers to use, see OpenSSL documentation.
Default: "HIGH:!EXPORT:!aNULL@STRENGTH"
ssl.ecdh-curvestringSSL ECDH Curve, see the output of "openssl ecparam -list_curves".
Default: "prime256v1"
ssl.keyfilestringKey-file used for secure connections.
Default: ""
ssl.protocoluint64Ssl protocol (1 = SSLv2, 2 = SSLv2 or SSLv3 (negotiated), 3 = SSLv3, 4 = TLSv1, 5 = TLSv1.2).
Default: 5
Possible values:
  • 1
  • 2
  • 3
  • 4
  • 5
ssl.require-peer-certificatebooleanRequire a peer certificate when connecting.
Default: false
ssl.session-cachebooleanEnable the session cache for connections.
Default: false

Temp Options

NameTypeDescription
temp.pathstringPath for temporary files.
Default: ""

Vst Options

NameTypeDescription
vst.maxsizeuint32Maximal size (in bytes) for a VelocyPack chunk.
Default: 30720

Wal Options

NameTypeDescription
wal.directorystringLogfile directory.
Default: ""
wal.historic-logfilesuint32Maximum number of historic logfiles to keep after collection.
Default: 10
wal.ignore-logfile-errorsbooleanIgnore logfile errors. this will read recoverable data from corrupted logfiles but ignore any unrecoverable data.
Default: false
wal.ignore-recovery-errorsbooleanContinue recovery even if re-applying operations fails.
Default: false
wal.logfile-sizeuint32Size of each logfile (in bytes).
Default: 33554432
wal.open-logfilesuint32Maximum number of parallel open logfiles.
Default: 0
wal.reserve-logfilesuint32Maximum number of reserve logfiles to maintain.
Default: 3
wal.sync-intervaluint64Interval for automatic, non-requested disk syncs (in milliseconds).
Default: 100