System Requirements

The system requirements of Rotonda depend highly on the volume of routes that you want to keep in memory, and the amount of BGP/BMP messages that flow through Rotonda. If you do not wish to keep any routes in memory (say you want to emit only MQTT messages based on incoming messages), the requirements would be fairly minimal, both in terms of memory and CPU power. If on the other hand, you want to keep all routes that you receive from multiple sessions that feed full tables, your memory requirements will surely run into the tens of gigabytes.

Binary Packages

Rotonda is packaged for several popular Linux distributions, and Docker images based on Alpine Linux are provided. Instructions for all these are below.

You can also build Rotonda from the source code using Cargo, Rust’s build system and package manager. Cargo lets you build Rotonda on almost any operating system and CPU architecture. Refer to the Building From Source section to get started.

To install a Rotonda package, you need the 64-bit version of one of these Debian versions:

  • Debian Bookworm 12

  • Debian Bullseye 11

  • Debian Buster 10

These Packages are all available for the amd64/x86_64 and arm64/aarch64 architectures.

First update the apt package index:

$ sudo apt update

Then install packages to allow apt to use a repository over HTTPS:

$ sudo apt install curl gpg

Add the GPG key from NLnet Labs:

$ curl -fsSL https://packages.nlnetlabs.nl/aptkey.asc | sudo gpg --dearmor -o /usr/share/keyrings/nlnetlabs-archive-keyring.gpg

Now, use the following command to set up the main repository:

$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/debian \
$(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/nlnetlabs.list > /dev/null

Update the apt package index once more:

$ sudo apt update

You can now install Rotonda with:

$ sudo apt install rotonda

After installation Rotonda will run immediately as the user rotonda and be configured to start at boot.

You can check the status of Rotonda with:

$ sudo systemctl status rotonda

You can view the logs with:

$ sudo journalctl --unit=rotonda

Updating

To update an existing Rotonda installation, first update the repository using:

$ sudo apt update

You can use this command to get an overview of the available versions:

$ sudo apt policy rotonda

You can upgrade an existing Rotonda installation to the latest version using:

$ sudo apt --only-upgrade install rotonda

Installing Specific Versions

Before every new release of Rotonda, one or more release candidates are provided for testing through every installation method. You can also install a specific version, if needsed

If you would like to try out release candidates of Rotonda you can add the proposed repository. This repository can live side by side with the main repository.

If you have already installed the main repository you can skip the first three steps here, and go directly to Debian proposed repository.

First update the apt package index:

$ sudo apt update

Then install packages to allow apt to use a repository over HTTPS:

$ sudo apt install curl gpg

Add the GPG key from NLnet Labs:

curl -fsSL https://packages.nlnetlabs.nl/aptkey.asc | sudo gpg --dearmor -o /usr/share/keyrings/nlnetlabs-archive-keyring.gpg

Now, use the following command to set up the Debian proposed repository:

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/debian \
$(lsb_release -cs)-proposed main" | sudo tee /etc/apt/sources.list.d/nlnetlabs-proposed.list > /dev/null

Make sure to update the apt package index:

$ sudo apt update

You can now use this command to get an overview of the available versions:

$ sudo apt policy rotonda

You can install a specific version using <package name>=<version>, e.g.:

$ sudo apt install rotonda=0.2.0~rc2-1buster