The .conf
file includes a number of options exclusively for the
init script. The rest of the options are exactly the same as the ones
that go on the command line to the RethinkDB server. For more details
about these options run rethinkdb help
.
The configuration file’s location depends on the startup system your distribution uses. A configuration file may also be specified on the command line with the --config-file
option.
A sample .conf
file is available with full comments. (It may already be installed on your distribution as default.conf.sample
.)
The file uses a simple format of key=value
, with one key specified per line. A simple configuration file that uses the default ports, assigns a server to a virtual group using server tags and joins an existing cluster might be:
server-name=Kismet
server-tag=default
server-tag=fremont_ca
join=layered:29015
daemon
For some options below, the default value depends on <name>
, the name of the
config file without the .conf
extension.
runuser
and rungroup
: specifies which
user and group should be used launch the Rethinkdb process.
Default: rethinkdb
and rethinkdb
.
pid-file
: the location of the file with the RethinkDB instance process ID (used by the init script to communicate with
the server process).
Default: /var/run/rethinkdb/<name>/pid_file
directory
: the data directory where
database tables will be stored. This location must be readable and
writable by the user or group (or both) specified by runuser
and rungroup
.
Note: It is best to create the database manually via
rethinkdb create --directory ...
as runuser
or rungroup
before
enabling auto-start.
Default: /var/lib/rethinkdb/<name>/
log-file
: path to the log file.
Default: <directory>/log_file
bind
: Address of local interfaces to listen on when accepting connections.
May be ‘all’ or an IP address, loopback addresses are enabled by default.
Default: all local addresses
bind-http
: Similar to bind
, but only for the web UI connection port. This option will override bind
for this port if both are specified in the configuration file.
bind-cluster
: Similar to bind
, but only for the cluster connection port. This option will override bind
for this port if both are specified in the configuration file.
bind-driver
: Similar to bind
, but only for the client driver connection port. This option will override bind
for this port if both are specified in the configuration file.
http-tls-key
: the filename of a private key to use with TLS for the web administration console. Both http-tls-key
and http-tls-cert
must be specified.
http-tls-cert
: the filename of a TLS certificate to use for the web administration console. Both http-tls-key
and http-tls-cert
must be specified.
driver-tls-key
: the filename of a private key to use with TLS for client driver connections. Both driver-tls-key
and driver-tls-cert
must be specified.
driver-tls-cert
: the filename of a TLS certificate to use for client driver connections. Both driver-tls-key
and driver-tls-cert
must be specified.
driver-tls-ca
: the filename of a CA certificate bundle to use for verifying client driver connections. If specified, the server will only accept connections from clients that provide a certificate signed with the CA certificate.
cluster-tls-key
: the filename of a private key to use with TLS for cluster connections. All three cluster-tls-*
configurations must be specified.
cluster-tls-cert
: the filename of a TLS certificate to use for cluster connections. All three cluster-tls-*
configurations must be specified.
cluster-tls-ca
: the filename of a CA certificate to use for verifying cluster connections. All three cluster-tls-*
configurations must be specified.
tls-min-protocol
: the minimum TLS protocol version the server accepts, one of TLSv1
, TLSv1.1
, TLSv1.2
.
Default: TLSv1.2
tls-ciphers
: A list of TLS ciphers to use.
Default: EECDH+AESGCM
tls-ecdh-curve
: A named elliptic curve to use for ECDHE.
Default: prime256v1
tls-dhparams
: A filename containing parameters for DHE key agreement; this is required if using DHE cipher suites, and unused otherwise. At least a 2048-bit key is recommended.
canonical-address
: Address that other rethinkdb instances will use to connect to this machine.
The address must be specified as host:port
if the instance uses a port other than 29015
.
This option can be specified multiple times.
http-port
, driver-port
, and cluster-port
: the web UI
port (default 8080
), the client driver port (default
28015
), and intracluster traffic port (default 29015
),
respectively.
join
: The host:port
of a node that Rethinkdb will connect to.
It can be specified multiple times.
port-offset
All ports used locally will have this value added.
Default: 0
no-http-admin
: Disable web administration console.
cores
: Number of cores to use.
Default: Number of cores of the CPU.
cache-size
: Size of the cache in MB.
Default: Half of the available RAM on startup.
io-threads
: Number of simultaneous I/O operations can happen at the same time.
Default: 64
direct-io
: Use direct I/O for file system access.
server-name
: The name for this machine (as it will appear in the metadata).
Default: Randomly chosen from a short list of names.
server-tag
: Specifies tags for this server, which can be used to group servers together for administration purposes (for instance, servers in the same data center). See Sharding and replication for more details. To assign multiple tags to a server, repeat server-tag
lines for each tag.
cluster-reconnect-timeout
: The amount of time, in seconds, this server will try to reconnect to a cluster if it loses connection before giving up.
Default: 86400
initial-password
: Specifies the admin user password to use when creating a new server instance. This option is ignored on subsequent startups. If set to auto
a randomly generated password will be used. If ommitted, the admin account will have no password.