Dependencies

The first step to install any piece of software is to install its dependencies.

The next section will discuss the runtime dependencies. If you plan to compile the framework instead of downloading the prebuilt executables, you must install both the dependencies in the Runtime dependencies- and Compilation dependencies sections.

Runtime dependencies

In all Brane node types, the Brane services are implemented as containers, which means that the number of runtime dependencies is relatively few.

However, the following dependencies are required:

  1. You have to install Docker to run the container services. To install, follow one of the following links: Ubuntu, Debian, Arch Linux or macOS (note the difference between Ubuntu and Debian; they use different keys and repositories).
    • If you are running Docker on Linux, it is extremely convenient to set it up such that no root is required:

      sudo usermod -aG docker "$USER"
      

      warning Don't forget to log in and -out again after running the above command to make the new changes effective.

      warning This effectively gives power to all non-root users that are part of the docker-group to modify any file as if they had root access. Be careful who you include in this group.

  2. Install the BuildKit plugin for Docker:
    # Clone the repo, CD into it and install the plugin
    # NOTE: You will need to install 'make'
    # (check https://github.com/docker/buildx for alternative methods if that fails)
    git clone https://github.com/docker/buildx.git && cd buildx
    make install
    
    # Set the plugin as the default builder
    docker buildx install
    
    # Switch to the buildx driver
    docker buildx create --use
    
    If these instructions don't work for you, you can also check the plugin's repository README for more installation methods.

    info Docker Buildx is included by default in most distributions of Docker noawadays. You can just run the docker buildx install and docker buildx create --use functions first, and if they work, skip the top ones.

  3. Install OpenSSL for the branectl executable:
    • Ubuntu / Debian:
      sudo apt-get install openssl
      
    • Arch Linux:
      sudo pacman -Syu openssl
      
    • macOS:
      # We assume you installed Homebrew (https://brew.sh/)
      brew install openssl
      

Aside from that, you have to make sure that your system can run executables compiled against GLIBC 2.27 or higher. You can verify this by running:

ldd --version

The top line of the rest will show you the GLIBC version installed on your machine:

The top line of the result of running 'ldd --version'

If you do not meet this requirement, you will have to compile branectl (and any other non-containerized binaries) yourself on a machine with that version of GLIBC installed or lower. In that case, also install the compilation dependencies.

Next

Congratulations, you have prepared your machine for running (or compiling) a Brane instance! In the next chapter, we will discuss installing the invaluable node management tool branectl. After that, depending on which node you want to setup, you can follow the guide for installing control nodes or worker nodes.