Setting up your OrbisDB in the cloud is pretty similar to the Local setup (link). For the purposes of keeping things concise, we’ll just note down the differences compared to the Local setup (link), as well as things to look out for.

Self-hosting in the Cloud

Follow along our Local setup guide (link), but note these differences.

Ceramic

When running Ceramic locally, you end up with a Testnet Node that’s running via CLI.

In order to make this production-ready, we recommend following the Running in Production guide by Ceramic. The guide will go over running Ceramic as a service, connecting it to Mainnet, accessing logs and more.

Check out Ceramic’s hardware requirements to pick the right sized server.

PostgreSQL

Databases have a long history of running in the Cloud. You can opt for a managed setup or set up PostgreSQL on a server yourself.

Make sure to take secure your instance, never use default access credentials and set up firewall rules if possible.

Other things to consider are logs, high availability, backups, etc.

Here’s a checklist from CrunchyData as a good starting point.

OrbisDB

The setup remains pretty much the same, however, we recommend setting up a reverse proxy to access it. The OrbisDB instance will bind to your local port and won’t be exposed to the web by default.

A reverse proxy, such as nginx makes it simple to set up your domain, SSL and manage the required certificates. Here’s a great tutorial by DigitalOcean.

Alongside a reverse proxy, you should also consider DDOS protection. There’s free options such as Cloudflare which also comes with a CDN built-in.

Running the OrbisDB by using npm run dev will only last the lifetime of your SSH session. We recommend using PM2 to manage your OrbisDB process.

Docker Coming soon

We are working on Docker images to simplify the setup process with prebuilt binaries and bundled options.

Tips and Tricks