Introduction

When installing TCP backbones, we are typically dealing with an installation procedure on an old laptop, home server or Raspberry Pi. Any Linux system will do. Below, we share the commands and conventions we use to install TCP backbones on linux servers. Backbone servers should generally provide reliable uptime so that our “over the internet” fallback provides stable connectivity.

We run both rnsd with transport, probe and gateway mode enabled. We run lxmd alongside rnsd to support propagation (which supports messaging each other offline). See the propagation node documentation for more.

Root permissions

The commands below assume you are running the commands as the root user.

sudo -i

System user

We create a specific system user for all our Reticulum programs.

useradd --system -s /sbin/nologin reticulum

rnsd

Install rnsd globally with pipx.

NOTE
See Python packaging for more information on pipx.

pipx install rns --global

Create a system configuration location.

mkdir /etc/reticulum
chown reticulum:reticulum /etc/reticulum

We create a TCP backbone, running gateway mode with transport and probing enabled and . We use 24242 as our standard port. Add the following contents to /etc/reticulum/config.

[reticulum]
enable_transport = yes
share_instance = yes
instance_name = default
respond_to_probes = yes
static_transport_identity = yes

[logging]
loglevel = 4

[interfaces]

[[YourBackboneNameHere]]
  type = BackboneInterface
  enabled = yes
  listen_on = 0.0.0.0
  port = 24242

Then we configure a Systemd service file to run the rnsd process.

$EDITOR /etc/systemd/system/rnsd.service
[Unit]
Description=Reticulum Network Stack Daemon
After=default.target

[Service]
User=reticulum
Type=simple
Restart=always
RestartSec=3
ExecStart=/usr/local/bin/rnsd --service

[Install]
WantedBy=default.target

Then enable the service and ensure it’s up and running.

systemctl daemon-reload
systemctl enable --now rnsd
systemctl status rnsd
tail -f /etc/reticulum/logfile