- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- 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> |
||
| .gitignore | ||
| README.md | ||
| rns-installer.sh | ||
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+
pipgit(for source/rngit methods)sudoor 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).