Skip to main content
Skip table of contents

Overview

The RBR Datahosting Docker solution is a containerized datahosting solution for RBR products based around the RBRcervello.

It consists of 3 Docker containers working together:

  • One database container (dhdbc) hosting a MariaDB Server and responsible for storing deployment configuration and data collected in the field

  • One data hosting server daemon container (dhdaemonc) responsible for the communication with RBRcervello devices

  • One webserver container (dhwebc) responsible for rendering as a website the data collected by the RBRcervello devices.

Prerequisites

This document assumes the user is running an Ubuntu LTS 22.04 system. A virtual machine can be used, provided that the virtual machine can be provided with the external files required to install Docker and the DHDaemon instance, and can expose at least one TCP port to communicate with an RBRcervello.

The Cervello does not use HTTP. Instead, it uses a custom packet format on top of TCP/IP. The network must be configured accordingly.

Linux distributions and operating systems other than Ubuntu 22.04 have not been tested, and instructions may vary, but as Ubuntu is a Debian-based distribution, Debian and other Debian-based distributions are likely to work with minimal alterations to the following procedures.

Users should also be capable of navigating and creating/moving/deleting/executing files and directories in a Linux shell, and be passingly familiar with the basics of IPV4/TCP addresses, ports, network interfaces - and in case troubleshooting becomes necessary - how to view and configure these on Debian-based Linux systems.

About this documentation

Lines of code prepended with $ are meant to be run on the container host shell (without the $, as usual).

Angle brackets (<…>) in code denote a variable that users should fill in depending on the context.

When referring to a field in a JSON or a YAML file, this document will use the following convention: key > sub_key > field : value.

Network Access

The host running Docker (hereafter called the ‘container host’) does not need access to the internet if a separate machine can download the container images containing DHDaemon’s services from ECR and save them locally.

About the Datahosting application

The datahosting application consists of three services, each implemented as separate containers.

  1. RBRcervello/database interface daemon (dhdaemon)

  2. MariaDB database (dhdb)

  3. Nginx web interface (dhweb)

These three containers communicate with each other through a virtual network interface. Except for ports that are explicitly configured for Docker to forward to the container host from each of the containers, this virtual network should remain isolated from the container host’s other network interfaces. The container host should only forward ports for the web interface and the RBRcervello interface daemon. Thus, shell access to the container host should be required to get shell access to the containers and access the database.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.