CrateDB ships with sensible defaults, so configuration is typically not needed for basic, single node use.

CrateDB can be configured via configuration files. These files are located in the config directory inside the CRATE_HOME directory.

The configuration directory can changed via the path.conf setting, like so:

sh$ ./bin/crate -Cpath.conf=<CUSTOM_CONFIG_DIR>

Here, replace <CUSTOM_CONFIG_DIR> with the path to your custom configuration directory.

The primary configuration file is named crate.yml. The default version of this file has a commented out listing of every available setting. (Some features, such as logging, use feature-specific files.)

Settings can be configured via the configuration file or via the -C option at startup. So, for example, you can set the cluster name at startup, like so:

sh$ ./bin/crate

Settings passed at startup use the same name as the settings in the configuration file. So the equivalent setting in the configuration file would be: = cluster

Settings are applied in the following order:

  1. Default values

  2. Configuration file

  3. Command-line options

Each setting value overwrites any previous value. So, for example, command line settings will override configuration file settings.


Cluster settings can be changed at runtime.


If you’re just getting started with a particular part of CrateDB, we recommend you consult the appropriate top-level section of the documentation. The rest of this configuration documentation assumes a basic familiarity with the relevant parts of CrateDB.

Table of contents