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
To install a Rotonda package, you need the 64-bit version of one of these Ubuntu versions:
Ubuntu Jammy 22.04 (LTS)
Ubuntu Focal 20.04 (LTS)
Ubuntu Bionic 18.04 (LTS)
Packages are available for the amd64
/x86_64
architecture only.
First update the apt package index:
$ sudo apt update
Then install packages to allow apt to use a repository over HTTPS:
$ sudo apt install \
ca-certificates \
curl \
gnupg \
lsb-release
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/ubuntu \
$(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
To install a Rotonda package, you need Red Hat Enterprise Linux
(RHEL) 7 or 8, or compatible operating system such as Rocky Linux.
Packages are available for the amd64
/x86_64
architecture only.
First create a file named /etc/yum.repos.d/nlnetlabs.repo
,
enter this configuration and save it:
[nlnetlabs]
name=NLnet Labs
baseurl=https://packages.nlnetlabs.nl/linux/centos/$releasever/main/$basearch
enabled=1
Add the GPG key from NLnet Labs:
$ sudo rpm --import https://packages.nlnetlabs.nl/aptkey.asc
You can now install Rotonda with:
$ sudo yum install -y 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
Rotonda Docker images are built with Alpine Linux. The supported
CPU architectures are shown on the Docker Hub Rotonda page per Rotonda
version (aka Docker “tag”) in the OS/ARCH
column.
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
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
To update an existing Rotonda installation, you can use this command to get an overview of the available versions:
$ sudo yum --showduplicates list rotonda
You can update to the latest version using:
$ sudo yum update -y rotonda
Assuming that you run Docker with image nlnetlabs/rotonda, upgrading to the latest version can be done by running the following commands:
$ sudo docker pull nlnetlabs/rotonda
$ sudo docker rm --force rotonda
$ sudo docker run <your usual arguments> nlnetlabs/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
If you would like to try out release candidates of Rotonda you can add the proposed repository to the existing main repository described earlier.
Assuming you already have followed the steps to install regular releases, run this command to add the additional repository:
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/ubuntu \
$(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-1bionic
To install release candidates of Rotonda, create an additional repo
file named /etc/yum.repos.d/nlnetlabs-testing.repo
, enter this
configuration and save it:
[nlnetlabs-testing]
name=NLnet Labs Testing
baseurl=https://packages.nlnetlabs.nl/linux/centos/$releasever/proposed/$basearch
enabled=1
You can use this command to get an overview of the available versions:
$ sudo yum --showduplicates list rotonda
You can install a specific version using
<package name>-<version info>
, e.g.:
$ sudo yum install -y rotonda-0.2.0~rc2
All release versions of Rotonda, as well as release candidates and builds based on the latest main branch are available on Docker Hub.
For example, installing Rotonda 0.2.0 RC2 is as simple as:
$ sudo docker run <your usual arguments> nlnetlabs/rotonda:v0.2.0-rc2