Introduction

Propagation nodes are vital for supporting delay tolerant communication.

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

lxmd

Install lxmf globally with pipx.

NOTE
See Python packaging for more information on pipx.

pipx install rns --global

We need to “inject” this Python package into the rnsd virtual environment so the packages can interoperate.

pipx inject rns lxmf --global

Create a system configuration location.

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

And add the following contents to /etc/lxmd/config.

[propagation]
enable_node = yes
node_name = "Your Propagation Node Name Here>"
announce_at_start = yes
autopeer = yes
autopeer_maxdepth = 6
auth_required = no

[lxmf]
announce_at_start = no

[logging]
loglevel = 4

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

$EDITOR /etc/systemd/system/lxmd.service
[Unit]
Description=Reticulum LXMF Daemon (lxmd)
After=default.target

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

[Install]
WantedBy=default.target

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

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