Interactive shell script that installs the Reticulum Network Stack (and optionally LXMF and Nomad Network) via pip, source, or rngit, creating a dedicated system user, virtualenv, and systemd/OpenRC service files.
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nickie Deuxyeux 5ac474352d Add RNS 1.6.0 dependency handling: sqlite3/mmap/itertools check, pynacl, ImageMagick
- Step 1a: verify sqlite3, mmap and itertools import; try to install the
  distro package for sqlite3 if missing, warn on fallback to legacy storage,
  and fail if mmap or itertools are unavailable
- Add pynacl to optional dependencies (pip and emerge paths)
- Step 1b: optionally install ImageMagick for rngit WebP conversion, via
  wizard prompt or --install-imagemagick, and verify WebP support
- Add _sys_install helper for per-package-manager package names

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 11:53:36 +03:00
.gitignore Initial release of rns-installer 2026-05-19 23:23:04 +03:00
README.md Add RNS 1.6.0 dependency handling: sqlite3/mmap/itertools check, pynacl, ImageMagick 2026-11-08 11:53:36 +03:00
rns-installer.sh Add RNS 1.6.0 dependency handling: sqlite3/mmap/itertools check, pynacl, ImageMagick 2026-11-08 11:53:36 +03:00

rns-installer

Interactive installer for the Reticulum Network Stack.

Detects your system, checks for existing installations, and walks you through setup with a simple wizard. Supports three installation methods:

  • pip — install from PyPI, no RNS connectivity required (good for first-time bootstrap)
  • source — clone and build directly from the RNS-hosted git repository
  • rngit — fetch pre-built release artifacts over the RNS network

Also handles optional LXMF and Nomad Network installation, creates a dedicated rns system user and virtualenv, writes systemd/OpenRC service files, and creates /usr/local/bin symlinks for all RNS utilities.

Quick start

curl:

curl -fsSL https://git.rns.moscow/deuxyeux/rns-installer/raw/branch/master/rns-installer.sh -o rns-installer.sh
chmod +x rns-installer.sh
./rns-installer.sh

wget:

wget -q https://git.rns.moscow/deuxyeux/rns-installer/raw/branch/master/rns-installer.sh
chmod +x rns-installer.sh
./rns-installer.sh

Run without arguments for the interactive wizard. Pass --help for non-interactive options.

Requirements

  • Bash 4+
  • Python 3.7+
  • pip
  • git (for source/rngit methods)
  • sudo or root (for venv setup and service file installation)

Reticulum 1.6+ also needs the sqlite3, mmap and itertools modules from the Python standard library. The installer checks for them and, if sqlite3 is missing, installs the distro package that provides it (without sqlite3 Reticulum falls back to the older file-based storage). A Python without mmap or itertools is rejected.

Optional extras: pyserial, netifaces, pygments and pynacl (skip with --no-optional), and ImageMagick, which rngit uses to convert images to WebP (--install-imagemagick, or answer yes in the wizard).