Skip to content

Configuration

This page describes how to set different settings in immudb.

Settings can be specified as command line options to immudb (see immudb -h), in a configuration file, or as environment variables.

Settings

ParameterDefaultDescription
address0.0.0.0bind address
admin-passwordimmudbadmin password as plain-text or base64 encoded (must be prefixed with 'enc:' if it is encoded)
authtrueenable auth
certificate``server certificate file path
clientcas``clients certificates list. Aka certificate authority
config``config file (default path are configs or $HOME. Default filename is immudb.
detachedfalserun immudb in background
devmodefalseenable dev mode: accept remote connections without auth
dir./datadata folder
logfile``log path with filename. E.g. /tmp/immudb/immudb.log
logformattextlog format e.g. text/json
maintenancefalseoverride the authentication flag
max-recv-msg-size33554432max message size in bytes the server can receive
max-session-age-timeinfinitymax session age time is a duration after which session will be forcibly closed
max-session-inactivity-time3m0smax session inactivity time is a duration after which an active session is declared inactive by the server. A session is kept active if server is still receiving requests from client (keep-alive or other methods)
max-sessions100maximum number of simultaneously opened sessions
metrics-servertrueenable or disable Prometheus endpoint
metrics-server-port9477Prometheus endpoint port
mtlsfalseenable mutual tls
no-histogramsfalsedisable collection of histogram metrics like query durations
pgsql-servertrueenable or disable pgsql server
pgsql-server-port5432pgsql server port
pidfile``pid path with filename. E.g. /var/run/immudb.pid
pkey``server private key path
port3322port number
pproffalseadd pprof profiling endpoint on the metrics server
replication-allow-tx-discardingfalseallow precommitted transactions to be discarded if the follower diverges from the master
replication-commit-concurrency10number of concurrent replications
replication-follower-password``password used for replication of systemdb and defaultdb
replication-follower-username``username used for replication of systemdb and defaultdb
replication-is-replicafalseset systemdb and defaultdb as replica
replication-master-address``master address (if replica=true)
replication-master-port3322master port (if replica=true)
replication-prefetch-tx-buffer-size100maximum number of prefeched transactions
replication-sync-acks0set a minimum number of replica acknowledgements required before transactions can be committed
replication-sync-enabledfalseenable synchronous replication
s3-access-key-id``s3 access key id
s3-bucket-name``s3 bucket name
s3-endpoint``s3 endpoint
s3-location``s3 location (region)
s3-path-prefix``s3 path prefix (multiple immudb instances can share the same bucket if they have different prefixes)
s3-secret-key``s3 secret access key
s3-storagefalseenable or disable s3 storage
session-timeout2m0ssession timeout is a duration after which an inactive session is forcibly closed by the server
signingKey``signature private key path. If a valid one is provided, it enables the cryptographic signature of the root. E.g. "./../test/signer/ec3.key"
syncedtruesynced mode prevents data lost under unexpected crashes but affects performance
token-expiry-time1440client authentication token expiration time. Minutes
web-servertrueenable or disable web/console server
web-server-port8080web/console server port

Configuration file

Settings can be specified in a immudb.toml configuration file.

Which configuration file to use is set with the --config option. By default, immudb looks into the configs subfolder in the current directory.

When running immudb as a service, immudb service install allows to specify the configuration file to use with the --config option.

Environment variables

Settings specified via environment variables take override the configuration file. They are specified in the form of IMMUDB_, for example IMMUDB_DIR specifies the dir variable.

Released under the Apache 2.0 License.