Azure Quickstart Template

This page outlines how to run a single BigchainDB node on the Microsoft Azure public cloud, with RethinkDB as the database backend. It uses an Azure Quickstart Template. That template is dated because we now recommend using MongoDB instead of RethinkDB. That’s why we moved this page to the Appendices.

Note: There was an Azure quickstart template in the blockchain directory of Microsoft’s Azure/azure-quickstart-templates repository on GitHub. It’s gone now; it was replaced by the one described here.

One can deploy a BigchainDB node on Azure using the template in the bigchaindb-on-ubuntu directory of Microsoft’s Azure/azure-quickstart-templates repository on GitHub. Here’s how:

  1. Go to that directory on GitHub.
  2. Click the button labelled Deploy to Azure.
  3. If you’re not already logged in to Microsoft Azure, then you’ll be prompted to login. If you don’t have an account, then you’ll have to create one.
  4. Once you are logged in to the Microsoft Azure Portal, you should be taken to a form titled BigchainDB. Some notes to help with filling in that form are available below.
  5. Deployment takes a few minutes. You can follow the notifications by clicking the bell icon at the top of the screen. At the time of writing, the final deployment operation (running the init.sh script) was failing, but a pull request (#2884) has been made to fix that and these instructions say what you can do before that pull request gets merged...
  6. Find out the public IP address of the virtual machine in the Azure Portal. Example: 40.69.87.250
  7. ssh in to the virtual machine at that IP address, i.e. do ssh <Admin_username>@<machine-ip> where <Admin_username> is the admin username you entered into the form and <machine-ip> is the virtual machine IP address determined in the last step. Example: ssh bcdbadmin@40.69.87.250
  8. You should be prompted for a password. Give the <Admin_password> you entered into the form.
  9. Configure BigchainDB Server by doing:
bigchaindb configure rethinkdb

It will ask you several questions. You can press Enter (or Return) to accept the default for all of them except for one. When it asks API Server bind? (default `localhost:9984`):, you should answer:

API Server bind? (default `localhost:9984`): 0.0.0.0:9984

Finally, run BigchainDB Server by doing:

bigchaindb start

BigchainDB Server should now be running on the Azure virtual machine.

Remember to shut everything down when you’re done (via the Azure Portal), because it generally costs money to run stuff on Azure.

Notes on the Blockchain Template Form Fields

BASICS

Resource group - You can use an existing resource group (if you have one) or create a new one named whatever you like, but avoid using fancy characters in the name because Azure might have problems if you do.

Location is the Microsoft Azure data center where you want the BigchainDB node to run. Pick one close to where you are located.

SETTINGS

You can use whatever Admin_username and Admin_password you like (provided you don’t get too fancy). It will complain if your password is too simple. You’ll need these later to ssh into the virtual machine.

Dns_label_prefix - Once your virtual machine is deployed, it will have a public IP address and a DNS name (hostname) something like <DNSprefix>.northeurope.cloudapp.azure.com. The <DNSprefix> will be whatever you enter into this field.

Virtual_machine_size - This should be one of Azure’s standard virtual machine sizes, such as Standard_D1_v2. There’s a list of virtual machine sizes in the Azure docs.

_artifacts Location - Leave this alone.

_artifacts Location Sas Token - Leave this alone (blank).

TERMS AND CONDITIONS

Read the terms and conditions. If you agree to them, then check the checkbox.

Finally, click the button labelled Purchase. (Generally speaking, it costs money to run stuff on Azure.)