RethinkDB: Getting started

Find out how to configure and secure your RethinkDB instance on Stackhero

Welcome to the Stackhero documentation

Stackhero offers a ready-to-use RethinkDB cloud service, designed for reliability and ease of use. You benefit from:

  • Smooth updates with a single click
  • High performance and enhanced security on your own private, dedicated infrastructure

Get started quickly: you can try Stackhero's RethinkDB cloud hosting in just a few minutes. Stackhero takes care of installation and management, allowing you to focus on developing your application.

Securing your RethinkDB instance on Stackhero begins with setting a strong admin password. To do this, connect to the RethinkDB web interface, go to the Data Explorer tab, and run the following query:

r.db('rethinkdb').table('users').get('admin').update({ password: '<PASSWORD>' })

Replace <PASSWORD> with your chosen secure password.

To carry out dump or restore operations on your RethinkDB instance, you can use the RethinkDB CLI from your local machine or any other server. All Stackhero services use encrypted connections (TLS) by default, so you need to provide the --tls-cert parameter to specify the location of your local CA certificates.

For example, here’s how to back up your RethinkDB database:

rethinkdb dump \
  --tls-cert /etc/ssl/certs/ca-certificates.crt \
  -c <XXXXXX>.stackhero-network.com:29015 \
  -p

Make sure to replace <XXXXXX> with the actual name of your Stackhero instance.

Since connections to RethinkDB are secured with TLS, and the official RethinkDB client library does not support TLS, it is recommended to use the rethinkdbdash library instead.

You can install rethinkdbdash with npm:

npm install rethinkdbdash

Here is a simple example showing how to connect your Node.js application to your RethinkDB database. This configuration includes server details such as host and port, connection limits, and SSL settings.

const rethinkdbdash = require('rethinkdbdash');

const r = rethinkdbdash({
  servers: [
    {
      host: '<XXXXXX>.stackhero-network.com',
      port: 28015
    }
  ],
  ssl: true,
  buffer: 20, // Minimum number of connections to keep open
  max: 100,   // Maximum number of connections
  timeoutGb: 30 * 1000, // Time (ms) to keep unused connections
  db: '<DATABASE>',
  authKey: '<PASSWORD>',
  // silent: true, // You can uncomment this line to disable logging on stderr
});

Replace <XXXXXX>, <DATABASE>, and <PASSWORD> with your own values.

By following these steps, your RethinkDB instance will be secured and ready to use on Stackhero. If you have any questions or need further assistance, please feel free to contact our support team.