Skip to main content

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)

RCH logo

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

Dashboard Map

Quickstart (from source)

  1. Clone and enter the repo.
    git clone https://github.com/FreeTAKTeam/Reticulum-Community-Hub.git
    cd Reticulum-Community-Hub
    
  2. Create and activate a virtual environment.
    python -m venv .venv
    # Linux/macOS
    source .venv/bin/activate
    # Windows (PowerShell)
    .venv\Scripts\Activate.ps1
    
  3. Install dependencies.
    python -m pip install --upgrade pip
    python -m pip install -e .
    
  4. Prepare a storage directory and config.
    • Copy RCH_Store/config.ini into your storage directory.
    • Adjust paths in the [hub], [files], and [images] sections.
  5. 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

  1. Create and activate a virtual environment.
    python -m venv .venv
    # Linux/macOS
    source .venv/bin/activate
    # Windows (PowerShell)
    .venv\Scripts\Activate.ps1
    
  2. Install the package.
    python -m pip install --upgrade pip
    python -m pip install ReticulumCommunityHub
    
  3. 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 (accepts X-API-Key or Bearer token).

  • The UI lives in ui/:

    cd ui
    npm install
    npm run dev
    

    Set VITE_RCH_BASE_URL when 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reticulumtelemetryhub-0.143.0.tar.gz (200.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reticulumtelemetryhub-0.143.0-py3-none-any.whl (249.3 kB view details)

Uploaded Python 3

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

Hashes for reticulumtelemetryhub-0.143.0.tar.gz
Algorithm Hash digest
SHA256 a95992fab098d88a53ac2b4887e0aa60cafc4dcb214e41ca436255ca83cafacd
MD5 0683fe978b3918c6302bdb53be1e9409
BLAKE2b-256 901598f2aa2934f11245b82047d2d6b9f02623cf92417067407d302b9e8af762

See more details on using hashes here.

Provenance

The following attestation bundles were made for reticulumtelemetryhub-0.143.0.tar.gz:

Publisher: python-publish.yml on FreeTAKTeam/Reticulum-Telemetry-Hub

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file reticulumtelemetryhub-0.143.0-py3-none-any.whl.

File metadata

File hashes

Hashes for reticulumtelemetryhub-0.143.0-py3-none-any.whl
Algorithm Hash digest
SHA256 74e38a3ea85da6264ea10824ef51840bcd4ef70b90da4e65a6e6e33408e24b84
MD5 4c0a6b8e34bb0d20815ad45ad8668585
BLAKE2b-256 ee55ab228d72e6f76041fc687f24dfb6d03f56cb22a29c93716017e59164554f

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page