Installation

System Requirements

When choosing a system to run RTRTR on, make sure you have 1GB of available memory and 1GB of disk space.

Quick Start

Getting started with RTRTR is really easy by either installing a binary package for Debian and Ubuntu or for Red Hat Enterprise Linux and CentOS. You can also run with Docker or build from Cargo, Rust’s build system and package manager.

If you have a machine with an amd64/x86_64 architecture running a recent Debian or Ubuntu distribution, you can install RTRTR from our software package repository.

To use this repository, add the line below that corresponds to your operating system to your /etc/apt/sources.list or /etc/apt/sources.list.d/:

deb [arch=amd64] https://packages.nlnetlabs.nl/linux/debian/ stretch main
deb [arch=amd64] https://packages.nlnetlabs.nl/linux/debian/ buster main
deb [arch=amd64] https://packages.nlnetlabs.nl/linux/debian/ bullseye main
deb [arch=amd64] https://packages.nlnetlabs.nl/linux/ubuntu/ xenial main
deb [arch=amd64] https://packages.nlnetlabs.nl/linux/ubuntu/ bionic main
deb [arch=amd64] https://packages.nlnetlabs.nl/linux/ubuntu/ focal main

Then run the following commands to add the public key and update the repository list:

wget -qO- https://packages.nlnetlabs.nl/aptkey.asc | sudo apt-key add -
sudo apt update

You can then install RTRTR by running:

sudo apt install rtrtr

You can now configure RTRTR by editing /etc/rtrtr.conf and start it with sudo systemctl enable --now rtrtr.

You can check the status of RTRTR with:

sudo systemctl status rtrtr

You can view the logs with:

sudo journalctl --unit=rtrtr

Installing Specific Versions

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

To install release candidates of RTRTR, add the line below that corresponds to your operating system to your /etc/apt/sources.list or /etc/apt/sources.list.d/:

deb [arch=amd64] https://packages.nlnetlabs.nl/linux/debian/ stretch-proposed main
deb [arch=amd64] https://packages.nlnetlabs.nl/linux/debian/ buster-proposed main
deb [arch=amd64] https://packages.nlnetlabs.nl/linux/debian/ bullseye-proposed main
deb [arch=amd64] https://packages.nlnetlabs.nl/linux/ubuntu/ xenial-proposed main
deb [arch=amd64] https://packages.nlnetlabs.nl/linux/ubuntu/ bionic-proposed main
deb [arch=amd64] https://packages.nlnetlabs.nl/linux/ubuntu/ focal-proposed main

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

sudo apt policy rtrtr

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

sudo apt install rtrtr=0.1.1

Installing From Source

You need a C toolchain and Rust to install and run RTRTR. You can install RTRTR on any system where you can fulfil these requirements.

C Toolchain

Some of the libraries RTRTR depends on require a C toolchain to be present. Your system probably has some easy way to install the minimum set of packages to build from C sources. For example, this command will install everything you need on Debian/Ubuntu:

apt install build-essential

If you are unsure, try to run cc on a command line. If there is a complaint about missing input files, you are probably good to go.

Rust

The Rust compiler runs on, and compiles to, a great number of platforms, though not all of them are equally supported. The official Rust Platform Support page provides an overview of the various support levels.

While some system distributions include Rust as system packages, RTRTR relies on a relatively new version of Rust, currently 1.52 or newer. We therefore suggest to use the canonical Rust installation via a tool called rustup.

To install rustup and Rust, simply do:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Alternatively, visit the official Rust website for other installation methods.

You can update your Rust installation later by running:

rustup update

Building

The easiest way to get RTRTR is to leave it to Cargo by saying:

cargo install --locked rtrtr

The command will build RTRTR and install it in the same directory that Cargo itself lives in, likely $HOME/.cargo/bin. This means RTRTR will be in your path, too.