Sudo-Ivan 3d7924dce6
Some checks failed
CI / test-backend (push) Successful in 13s
CI / lint (push) Failing after 42s
CI / build-frontend (push) Successful in 9m33s
Tests / test (push) Successful in 9m52s
chore(TODO): update tasks with progress and add new items
2026-01-03 16:38:35 -06:00
2026-01-01 15:25:23 -06:00
2026-01-02 20:53:21 -06:00
2026-01-01 15:05:29 -06:00
2026-01-01 15:05:29 -06:00
2026-01-01 15:25:23 -06:00
2026-01-01 15:05:29 -06:00
2026-01-01 15:05:29 -06:00
2026-01-03 16:36:37 -06:00
2026-01-01 15:05:29 -06:00

Reticulum MeshChatX

A Reticulum MeshChat fork from the future.

This project is separate from the original Reticulum MeshChat project, and is not affiliated with the original project.

Warning

Backup your reticulum-meshchat folder before using! MeshChatX will attempt to auto-migrate whatever it can from the old database without breaking things, but it is best to keep backups.

Goal

To provide everything you need for Reticulum, LXMF, and LXST in one beautiful and feature-rich application.

  • Desktop app
  • Self-host on your server easily with or without containers
  • Mobile app (one can dream)

The easiest way to get MeshChatX running is using Docker. Our official image is multi-arch and supports linux/amd64 and linux/arm64 (Raspberry Pi, etc.).

# Pull and run the latest image
docker pull git.quad4.io/rns-things/meshchatx:latest

# Run MeshChatX in a Docker container
docker run -d \
  --name=meshchatx \
  -p 8000:8000 \
  -v $PWD/storage:/app/storage \
  -v $PWD/public:/app/public \
  # --network=host \  # Uncomment for autointerface support
  git.quad4.io/rns-things/meshchatx:latest

# Or use Docker Compose for an even easier setup
docker compose up -d

Check releases for pre-built binaries (AppImage, DEB, EXE) if you prefer standalone apps.

Major Features

  • Full LXST Support: Custom voicemail, phonebook, contact sharing, and ringtone support.
  • Multi-Identity: Switch between multiple Reticulum identities seamlessly.
  • Modern UI/UX: A completely redesigned, intuitive interface.
  • Integrated Maps: OpenLayers with MBTiles support for offline maps.
  • Security: Built-in authentication, automatic HTTPS, and CORS protection.
  • Offline Docs: Access Reticulum documentation without an internet connection.
  • Powerful Tools: Includes RNStatus, RNProbe, RNCP, Micron Editor, Paper Message Generator and a Translator.
  • Page Archiving: Built-in crawler and browser for archived pages.
  • Blocklist: Block LXMF users, Telephony, and NomadNet Nodes.
  • i18n: Support for English, German, and Russian.

Screenshots

Telephony & Calling

Phone

Phone

Active Call

Calling

Call Ended

Call Ended

Voicemail

Voicemail

Ringtone Settings

Ringtone

Networking & Visualization

Network Visualiser

Network Visualiser Network Visualiser 2

Page Archives

Archives Browser

Archives

Viewing Archived Page

Archive View

Tools & Identities

Tools

Tools

Identity Management

Identities

Pipx / Global Installation

If you prefer to install MeshChatX globally using pipx, pip or uv, you can do so directly from the repository. However, you must specify the path to your built frontend files using the --public-dir flag or MESHCHAT_PUBLIC_DIR environment variable, as the static files are not bundled with the source code. The release .whl packages include the built frontend files and also there is a seperate frontend zip to grab and use.

  1. Install MeshChatX:

    pipx install git+https://git.quad4.io/RNS-Things/MeshChatX
    
  2. Run with Frontend Path:

    # Replace /path/to/MeshChatX/meshchatx/public with your actual path
    meshchat --public-dir /path/to/MeshChatX/meshchatx/public
    

Manual Installation (From Source)

If you want to run MeshChatX from the source code locally:

  1. Clone the repository:

    git clone https://git.quad4.io/RNS-Things/MeshChatX
    cd MeshChatX
    
  2. Build the Frontend: Requires Node.js and pnpm.

    corepack enable
    pnpm install
    pnpm run build-frontend
    
  3. Install & Run Backend: Requires Python 3.10+ and Poetry.

    pip install poetry
    poetry install
    poetry run meshchat --headless --host 127.0.0.1
    

Configuration

MeshChatX can be configured via command-line arguments or environment variables.

Argument Environment Variable Default Description
--host MESHCHAT_HOST 127.0.0.1 Web server address
--port MESHCHAT_PORT 8000 Web server port
--no-https MESHCHAT_NO_HTTPS false Disable HTTPS
--headless MESHCHAT_HEADLESS false Don't launch browser
--auth MESHCHAT_AUTH false Enable basic auth
--storage-dir MESHCHAT_STORAGE_DIR ./storage Data directory
--public-dir MESHCHAT_PUBLIC_DIR - Frontend files path

Development

We use Task for automation.

Task Description
task install Install all dependencies
task run Run the application
task lint Run all linters (Python & Frontend)
task format Format all code (Python & Frontend)
task test Run all tests
task test:cov Run tests with coverage reports
task build Build frontend and backend

Credits

Description
A Reticulum MeshChat fork from the future.
Readme MIT 21 MiB
Languages
JavaScript 58.4%
Vue 23.8%
Python 14.4%
HTML 3.1%
Shell 0.1%