These options can be passed to the rethinkdb server on the command line on startup. Many of these options can also be set in the configuration file; read Configuration file options for a detailed list.
-d [ --directory ] path: specify directory to store data and metadata--io-threads n: how many simultaneous I/O operations can happen at the same time--direct-io: use direct I/O for file access--cache-size mb: total cache size (in megabytes) for the process. Can be ‘auto’.-n [ --server-name ] arg: the name for this server (as will appear in the metadata). If not specified, it will be randomly chosen from a short list of names.-t [ --server-tag ] arg: a tag for this server. Can be specified multiple times.--bind {all | addr}: add the address of a local interface to listen on when accepting connections; loopback addresses are enabled by default--bind-http {all | addr}: bind the web administration UI port to a specific address--bind-cluster {all | addr}: bind the cluster connection port to a specific address--bind-driver {all | addr}: bind the client driver to a specific address--no-default-bind: disable automatic listening on loopback addresses, unless explicitly specified in a separate --bind option--cluster-port port: port for receiving connections from other nodes--driver-port port: port for RethinkDB protocol client drivers-o [ --port-offset ] offset: all ports used locally will have this value added-j [ --join ] host:port: host and port of a RethinkDB node to connect to--reql-http-proxy [protocol://]host[:port]: HTTP proxy to use for performing r.http(...) queries, default port is 1080--canonical-address addr: address that other RethinkDB instances will use to connect to us, can be specified multiple times--cluster-reconnect-timeout secs: the amount of time, in seconds, this server will try to reconnect to a cluster if it loses connection before giving up; default 86400The --bind option controls the default behavior for all RethinkDB ports. If it’s specified, the --bind-http, --bind-cluster and --bind-driver options will override that behavior for a specific port. So:
rethinkdb --bind all --bind-cluster 192.168.0.1
This will bind the HTTP and driver ports on all available interfaces, while the cluster port will only be bound on the loopback interface and 192.168.0.1.
--http-tls-key key_filename: private key to use for web administration console TLS--http-tls-cert cert_filename: certificate to use for web administration console TLSNote: --http-tls-key and --http-tls-cert must be used together.
--driver-tls-key key_filename: private key to use for client driver connection TLS--driver-tls-cert cert_filename: certificate to use for client driver connection TLS--driver-tls-ca ca_filename: CA certificate bundle used to verify client certificates; TLS client authentication disabled if omittedNote: --driver-tls-key and --driver-tls-cert must be used together; --driver-tls-ca is optional.
--cluster-tls-key key_filename: private key to use for intra-cluster connection TLS--cluster-tls-cert cert_filename: certificate to use for intra-cluster connection TLS--cluster-tls-ca ca_filename: CA certificate bundle used to verify cluster peer certificatesNote: all three --cluster-tls-* options must be used together.
--tls-min-protocol protocol: the minimum TLS protocol version the server accepts, one of TLSv1, TLSv1.1, TLSv1.2; default is TLSv1.2--tls-ciphers cipher_list: specify a list of TLS ciphers to use; default is EECDH+AESGCM--tls-ecdh-curve curve_name: specify a named elliptic curve to use for ECDHE; default is prime256v1--tls-dhparams dhparams_filename: provide parameters for DHE key agreement; REQUIRED if using DHE cipher suites; at least 2048-bit recommendedFor details about these options, read Securing your cluster.
--web-static-directory directory: the directory containing web resources for the http interface--http-port port: port for web administration console--no-http-admin: disable web administration console-c [ --cores ] n: the number of cores to use--pid-file path: a file in which to write the process id when the process is running--daemon: daemonize this rethinkdb process--runuser user: run as the specified user--rungroup group: run with the specified group--initial-password: set a password for the admin user if none has previously been set; use auto to choose a random password that will be printed to stdout (see Secure your cluster for more information)-h [ --help ]: print this help-v [ --version ]: print the version number of rethinkdb--log-file file: specify the file to log to, defaults to ‘log_file’--no-update-check: disable checking for available updates. Also turns off anonymous usage data collection.--config-file: take options from a configuration filerethinkdb create: prepare files on disk for a new server instancerethinkdb serve: use an existing data directory to host data and serve queriesrethinkdb proxy: run a proxy server (serve queries from an existing cluster but don’t host data)rethinkdb export: export data from an existing cluster into a file or directoryrethinkdb import: import data from from a file or directory into an existing clusterrethinkdb dump: export and compress data from an existing clusterrethinkdb restore: import compressed data into an existing clusterrethinkdb index-rebuild: rebuild outdated secondary indexesrethinkdb install-service: install the RethinkDB Windows service (Windows only)rethinkdb remove-service: uninstall the RethinkDB Windows service (Windows only)For more information about subcommands, type rethinkdb help [subcommand] at the command line.
For information about running RethinkDB as a proxy server, read Running a proxy node in “Scaling, sharding and replication.”