RCN - Introduction: https://rcn.varia.zone/docs/users/intro/ - Clients: https://rcn.varia.zone/docs/users/clients/ - Dependencies: https://rcn.varia.zone/docs/operators/dependencies/ - Python management: https://rcn.varia.zone/docs/operators/python/ - Glossary: https://rcn.varia.zone/docs/operators/glossary/ - Presets: https://rcn.varia.zone/docs/operators/lora/presets/ - Serial ports: https://rcn.varia.zone/docs/operators/lora/serial/ - Transport node: https://rcn.varia.zone/docs/operators/lora/tn/ - RNode: https://rcn.varia.zone/docs/operators/lora/rnode/ - Debug: https://rcn.varia.zone/docs/operators/lora/debug/ - Backbone: https://rcn.varia.zone/docs/operators/tcp/backbone/ - Propagation node: https://rcn.varia.zone/docs/operators/tcp/pn/ - Clients: https://rcn.varia.zone/docs/operators/tcp/clients/ ## 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. ```bash sudo -i ``` ## System user We create a specific system user for all our Reticulum programs. ```bash useradd --system -s /sbin/nologin reticulum ``` ## `lxmd` Install `lxmf` globally with `pipx`. > [!NOTE] > **NOTE** \ > See [Python packaging](/docs/operators/python) for more information on `pipx`. ```bash pipx install rns --global ``` We need to "inject" this Python package into the `rnsd` virtual environment so the packages can interoperate. ```bash pipx inject rns lxmf --global ``` Create a system configuration location. ```bash mkdir /etc/lxmd chown reticulum:reticulum /etc/lxmd ``` And add the following contents to `/etc/lxmd/config`. ```toml [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. ```bash $EDITOR /etc/systemd/system/lxmd.service ``` ```conf [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. ```bash systemctl daemon-reload systemctl enable --now lxmd systemctl status lxmd tail -f /etc/lxmd/logfile ```