TypeDB 3.0 is live! Get started for free.

Server configuration

This page describes how to configure a TypeDB server.

You can configure a TypeDB server via two means: config file, or command line options. Command line options override values defined in the config file.

For a full list of configurable properties run:

typedb server --help

or see Reference below.

When using the command line, all CLI arguments must:

  • start with the double dash prefix --,

  • be separated from their value (if any) either by an equals sign (--arg=val) or a whitespace (--arg val).

Configuration options

Server

The server section of the configuration contains network and encryption options. For example, a server can be booted up on 0.0.0.0:1730 by using this command:

typedb server --server.address=0.0.0.0:1730

See the respective section of Reference below for details.

Encryption

If encryption is required, but there are no certificate authorities available on the machine, refer to In-flight encryption certificate for encryption certification recommendations.

Storage

The storage section of the configuration contains the storage layer options.

For production use, it is recommended that the storage.data is set to a path outside the $TYPEDB_HOME (directory with TypeDB server files). This helps to make the process of upgrading TypeDB easier.

See the respective section of Reference below for details.

Diagnostics

TypeDB optionally reports anonymous diagnostics to guide the development and optimisation of TypeDB. This data includes unex pected errors and occasional system status updates for number and size of databases, as well as numbers of transactions and queries executed per hour.

To see what information is being reported, enable and access the monitoring Web page of the server (e.g. localhost:4104/diagnostics?format=json).

To configure diagnostics reporting and monitoring, see the respective section of Reference below.

Logging

You can configure the directory that TypeDB uses for server logs - see the Logging section of Reference below.

Host machine configuration

Open file limit

To support large data volumes, it is important to check the open file limit the operating system imposes. Some Unix distributions default to 1024 open file descriptors. This can be checked with the following command:

ulimit -n

We recommend this is increased to at least 50 000.

Reference

The following arguments can be used for TypeDB configuration:

Table 1. Command line arguments
Argument Alias Description

Server

server.address

Server host and port. Default value: 0.0.0.0:1729.

server.http.enable

Enable/disable HTTP endpoint. Default value: true.

server.http.address

HTTP endpoint host and port. Cannot be the same as server.address. Default value: 0.0.0.0:8000.

server.authentication.token_ttl_seconds

The amount of seconds generated authentication tokens will remain valid, specified in seconds. Default value: 14400 (4 hours).

server.encryption.enabled

Enable in-flight encryption. Do not specify this argument to leave it disabled.

server.encryption.cert

Encryption certificate in PEM format. Must be supplied if encryption is enabled.

server.encryption.cert-key

Encryption certificate key. Must be supplied if encryption is enabled.

server.encryption.root-ca

Encryption CA in PEM format.

Storage

storage.data-directory

Path to the user data directory. Defaults to within the server distribution under server/data.

Diagnostics

diagnostics.reporting.metrics

Enable usage metrics reporting by setting a boolean flag. Default value: true.

diagnostics.reporting.errors

Enable critical error reporting by setting a boolean flag. Default value: true.

diagnostics.monitoring.enable

Enable a diagnostics monitoring HTTP endpoint by setting a boolean flag. Default value: true.

diagnostics.monitoring.port

Port on which to expose the diagnostics monitoring endpoint. Default value: 4104.

Logging

logging.directory

Path to the server logs directory. Defaults to within the server distribution under server/logs.

Additional Console utils (Console only)

--help

-h

Show help message.

--version

-V

Print version information and exit.