Skip to main content

Configuration flags

FerretDB provides numerous configuration flags you can customize to suit your needs and environment. You can always see the complete list by using --help flag. To make user experience cloud native, every flag has its environment variable equivalent. There is no configuration file.

info

Some default values are overridden in our Docker image.

General

FlagDescriptionEnvironment VariableDefault Value
-h, --helpShow context-sensitive helpfalse
--versionPrint version to stdout and exitfalse
--handlerBackend handlerFERRETDB_HANDLERpg (PostgreSQL)
--modeOperation modeFERRETDB_MODEnormal
--state-dirPath to the FerretDB state directoryFERRETDB_STATE_DIR.
(/state for Docker)

Interfaces

FlagDescriptionEnvironment VariableDefault Value
--listen-addrListen TCP addressFERRETDB_LISTEN_ADDR127.0.0.1:27017
(:27017 for Docker)
--listen-unixListen Unix domain socket pathFERRETDB_LISTEN_UNIX
--listen-tlsListen TLS address (see here)FERRETDB_LISTEN_TLS
--listen-tls-cert-fileTLS cert file pathFERRETDB_LISTEN_TLS_CERT_FILE
--listen-tls-key-fileTLS key file pathFERRETDB_LISTEN_TLS_KEY_FILE
--listen-tls-ca-fileTLS CA file pathFERRETDB_LISTEN_TLS_CA_FILE
--proxy-addrProxy addressFERRETDB_PROXY_ADDR
--debug-addrListen address for HTTP handlers for metrics, pprof, etcFERRETDB_DEBUG_ADDR127.0.0.1:8088
(:8088 for Docker)

Backend handlers

PostgreSQL

PostgreSQL backend can be enabled by --handler=pg flag or FERRETDB_HANDLER=pg environment variable.

FlagDescriptionEnvironment VariableDefault Value
--postgresql-urlPostgreSQL URL for 'pg' handlerFERRETDB_POSTGRESQL_URLpostgres://127.0.0.1:5432/ferretdb

Tigris (beta)

Tigris backend can be enabled by --handler=tigris flag or FERRETDB_HANDLER=tigris environment variable.

FlagDescriptionEnvironment VariableDefault Value
--tigris-urlTigris URL for 'tigris' handlerFERRETDB_TIGRIS_URL127.0.0.1:8081
--tigris-client-idTigris Client IDFERRETDB_TIGRIS_CLIENT_ID
--tigris-client-secretTigris Client secretFERRETDB_TIGRIS_CLIENT_SECRET

Miscellaneous

FlagDescriptionEnvironment VariableDefault Value
--log-levelLog level: 'debug', 'info', 'warn', 'error'FERRETDB_LOG_LEVELinfo
--[no-]log-uuidAdd instance UUID to all log messagesFERRETDB_LOG_UUID
--[no-]metrics-uuidAdd instance UUID to all metricsFERRETDB_METRICS_UUID
--telemetryEnable or disable basic telemetryFERRETDB_TELEMETRYundecided