Reticulum-Telemetry-Hub (RTH) manages a complete TCP node across a Reticulum-based network, enabling communication and data sharing between clients like Sideband or Meshchat.
Project description
Reticulum Community Hub (RCH)
Reticulum Community Hub (RCH) is a shared coordination point for mesh networks. It allows people and groups to exchange messages, share situational updates, and distribute files in a structured and reliable way, even across intermittent or low-connectivity environments, while remaining independent from centralized internet services.
What it does
- One-to-many and topic-scoped message fan-out over LXMF.
- Telemetry collection and on-demand telemetry responses.
- File and image attachment storage with retrieval by ID.
- Northbound REST + WebSocket API for operators and the admin UI.
- Optional TAK/CoT bridge for chat and location updates.
What it looks like
Quickstart (from source)
- Clone and enter the repo.
git clone https://github.com/FreeTAKTeam/Reticulum-Community-Hub.git cd Reticulum-Community-Hub
- Create and activate a virtual environment.
python -m venv .venv # Linux/macOS source .venv/bin/activate # Windows (PowerShell) .venv\Scripts\Activate.ps1
- Install dependencies.
python -m pip install --upgrade pip python -m pip install -e .
- Prepare a storage directory and config.
- Copy
RCH_Store/config.iniinto your storage directory. - Adjust paths in the
[hub],[files], and[images]sections.
- Copy
- Start the hub.
python -m reticulum_telemetry_hub.reticulum_server \ --storage_dir ./RCH_Store \ --display_name "RCH"
For configuration, services, and client usage details, see docs/userManual.md.
Install from PyPI
- Create and activate a virtual environment.
python -m venv .venv # Linux/macOS source .venv/bin/activate # Windows (PowerShell) .venv\Scripts\Activate.ps1
- Install the package.
python -m pip install --upgrade pip python -m pip install ReticulumCommunityHub
- Start the hub (point at your storage directory).
python -m reticulum_telemetry_hub.reticulum_server --storage_dir /path/to/RCH_Store
Northbound API and admin UI
The northbound FastAPI service exposes REST + WebSocket endpoints used by the admin UI.
-
Run the hub + API together (recommended for chat/message sending):
python -m reticulum_telemetry_hub.northbound.gateway \ --storage_dir ./RCH_Store \ --api-host 0.0.0.0 \ --api-port 8000
-
Run only the API server (read-only unless you provide a message dispatcher):
uvicorn reticulum_telemetry_hub.northbound.app:app --host 0.0.0.0 --port 8000
-
Protect admin endpoints by setting
RCH_API_KEY(acceptsX-API-Keyor Bearer token). -
The UI lives in
ui/:cd ui npm install npm run dev
Set
VITE_RCH_BASE_URLwhen the UI should target a different hub.
Documentation
docs/README.md(documentation map)docs/userManual.md(user and operator guide)architecture.md(system overview and references)API/ReticulumCommunityHub-OAS.yaml(REST/OpenAPI reference)
Contributing
We welcome and encourage contributions. Please include appropriate tests and follow the project coding standards.
Linting
RCH uses Ruff for linting with a 120-character line length and ignores E203 to align
with Black-style slicing.
-
With Poetry (installs dev dependencies, including Ruff):
poetry install --with dev poetry run ruff check .
-
With a plain virtual environment:
python -m pip install ruff ruff check .
License
This project is licensed under the Eclipse Public License (EPL). For more details, refer to the
LICENSE file in the repository.
Support
For issues or support, open a GitHub issue
Support Reticulum
You can help support the continued development of open, free and private communications systems by donating via one of the following channels to Mark, the original Reticulum author:
- Monero: 84FpY1QbxHcgdseePYNmhTHcrgMX4nFfBYtz2GKYToqHVVhJp8Eaw1Z1EedRnKD19b3B8NiLCGVxzKV17UMmmeEsCrPyA5w
- Ethereum: 0xFDabC71AC4c0C78C95aDDDe3B4FA19d6273c5E73
- Bitcoin: 35G9uWVzrpJJibzUwpNUQGQNFzLirhrYAH
- Ko-Fi: https://ko-fi.com/markqvist
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reticulumtelemetryhub-0.143.0.tar.gz.
File metadata
- Download URL: reticulumtelemetryhub-0.143.0.tar.gz
- Upload date:
- Size: 200.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a95992fab098d88a53ac2b4887e0aa60cafc4dcb214e41ca436255ca83cafacd
|
|
| MD5 |
0683fe978b3918c6302bdb53be1e9409
|
|
| BLAKE2b-256 |
901598f2aa2934f11245b82047d2d6b9f02623cf92417067407d302b9e8af762
|
Provenance
The following attestation bundles were made for reticulumtelemetryhub-0.143.0.tar.gz:
Publisher:
python-publish.yml on FreeTAKTeam/Reticulum-Telemetry-Hub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reticulumtelemetryhub-0.143.0.tar.gz -
Subject digest:
a95992fab098d88a53ac2b4887e0aa60cafc4dcb214e41ca436255ca83cafacd - Sigstore transparency entry: 870367851
- Sigstore integration time:
-
Permalink:
FreeTAKTeam/Reticulum-Telemetry-Hub@7c681c48a5acd9dad49ccff484e4ef90c50c7abf -
Branch / Tag:
refs/tags/V.1.0.3-beta - Owner: https://github.com/FreeTAKTeam
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@7c681c48a5acd9dad49ccff484e4ef90c50c7abf -
Trigger Event:
release
-
Statement type:
File details
Details for the file reticulumtelemetryhub-0.143.0-py3-none-any.whl.
File metadata
- Download URL: reticulumtelemetryhub-0.143.0-py3-none-any.whl
- Upload date:
- Size: 249.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74e38a3ea85da6264ea10824ef51840bcd4ef70b90da4e65a6e6e33408e24b84
|
|
| MD5 |
4c0a6b8e34bb0d20815ad45ad8668585
|
|
| BLAKE2b-256 |
ee55ab228d72e6f76041fc687f24dfb6d03f56cb22a29c93716017e59164554f
|
Provenance
The following attestation bundles were made for reticulumtelemetryhub-0.143.0-py3-none-any.whl:
Publisher:
python-publish.yml on FreeTAKTeam/Reticulum-Telemetry-Hub
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
reticulumtelemetryhub-0.143.0-py3-none-any.whl -
Subject digest:
74e38a3ea85da6264ea10824ef51840bcd4ef70b90da4e65a6e6e33408e24b84 - Sigstore transparency entry: 870367854
- Sigstore integration time:
-
Permalink:
FreeTAKTeam/Reticulum-Telemetry-Hub@7c681c48a5acd9dad49ccff484e4ef90c50c7abf -
Branch / Tag:
refs/tags/V.1.0.3-beta - Owner: https://github.com/FreeTAKTeam
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@7c681c48a5acd9dad49ccff484e4ef90c50c7abf -
Trigger Event:
release
-
Statement type: