docs(MeshChatX): move
Some checks failed
CI / test-backend (push) Successful in 4s
Build and Publish Docker Image / build (pull_request) Has been skipped
CI / test-backend (pull_request) Successful in 4s
CI / lint (pull_request) Failing after 2m22s
CI / build-frontend (push) Successful in 2m57s
CI / lint (push) Failing after 5m3s
Tests / test (push) Failing after 7m27s
Tests / test (pull_request) Failing after 7m29s
CI / build-frontend (pull_request) Successful in 9m44s
Build and Publish Docker Image / build-dev (pull_request) Successful in 12m38s
Benchmarks / benchmark (pull_request) Successful in 16m59s
Benchmarks / benchmark (push) Successful in 17m8s

This commit is contained in:
2026-01-03 17:24:24 -06:00
parent 184f0dbf14
commit 00828e59a4
3 changed files with 193 additions and 0 deletions

View File

@@ -0,0 +1,83 @@
# MeshChatX on Android
It's possible to run MeshChatX on Android using [Termux](https://termux.dev/). Installation is now much simpler since the wheel package includes both the server and pre-built web assets.
## Method 1: Install from Wheel (Recommended)
This is the easiest method - the wheel includes everything you need.
### Install System Dependencies
```
pkg upgrade
pkg install python
pkg install rust
pkg install binutils
pkg install build-essential
```
> Note: Python 3.11 or higher is required. Check with `python --version`.
### Download and Install Wheel
Download the latest wheel from the [releases page](https://git.quad4.io/RNS-Things/MeshChatX/releases), then:
```
pip install reticulum_meshchatx-*-py3-none-any.whl
```
The wheel will automatically install all Python dependencies. Building `cryptography` may take a while on Android.
### Run MeshChatX
```
meshchat
```
Then open your Android web browser and navigate to `http://localhost:8000`
## Method 2: Install from Source
If you need to build from source (for development or if no wheel is available for your architecture):
### Install System Dependencies
```
pkg upgrade
pkg install git
pkg install nodejs-lts
pkg install python
pkg install rust
pkg install binutils
pkg install build-essential
```
### Install pnpm
```
corepack enable
corepack prepare pnpm@latest --activate
```
### Clone and Build
```
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
cd MeshChatX
pip install poetry
poetry install
pnpm install
pnpm run build-frontend
poetry build -f wheel
pip install dist/*.whl
```
### Run MeshChatX
```
meshchat
```
## Configuration Notes
> Note: The default `AutoInterface` may not work on your Android device. You will need to configure another interface such as `TCPClientInterface` in the settings.

View File

@@ -0,0 +1,11 @@
# MeshChat on Docker
A docker image is automatically built by GitHub actions, and can be downloaded from the GitHub container registry.
```
docker pull ghcr.io/liamcottle/reticulum-meshchat:latest
```
Additionally, an example [docker-compose.yml](../docker-compose.yml) is available.
The example automatically generates a new reticulum config file in the `meshchat-config` volume. The MeshChat database is also stored in this volume.

View File

@@ -0,0 +1,99 @@
# MeshChat on a Raspberry Pi
A simple guide to install [MeshChat](https://github.com/liamcottle/reticulum-meshchat) on a Raspberry Pi.
This would allow you to connect an [RNode](https://github.com/markqvist/RNode_Firmware) (such as a Heltec v3) to the Rasbperry Pi via USB, and then access the MeshChat Web UI from another machine on your network.
My intended use case is to run the Pi + RNode combo from my solar-powered shed, and access the MeshChat Web UI via WiFi.
> Note: This has been tested on a Raspberry Pi 4 Model B
## Install Raspberry Pi OS
If you haven't already done so, the first step is to install Raspberry Pi OS onto an sdcard, and then boot up the Pi. Once booted, follow the below commands.
## Update System
```
sudo apt update
sudo apt upgrade
```
## Install System Dependencies
```
sudo apt install git
sudo apt install python3-pip
```
## Install NodeJS v22
```
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
NODE_MAJOR=22
echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt update
sudo apt install nodejs
```
## Install pnpm
```
corepack enable
corepack prepare pnpm@latest --activate
```
## Install MeshChat
```
git clone https://github.com/liamcottle/reticulum-meshchat
cd reticulum-meshchat
pip install -r requirements.txt --break-system-packages
pnpm install --prod
pnpm run build-frontend
```
## Run MeshChat
```
python meshchat.py --headless --host 0.0.0.0
```
## Configure Service
Adding a `systemd` service will allow MeshChat to run in the background when you disconnect from the Pi's terminal.
```
sudo nano /etc/systemd/system/reticulum-meshchat.service
```
```
[Unit]
Description=reticulum-meshchat
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=liamcottle
Group=liamcottle
WorkingDirectory=/home/liamcottle/reticulum-meshchat
ExecStart=/usr/bin/env python /home/liamcottle/reticulum-meshchat/meshchat.py --headless --host 0.0.0.0
[Install]
WantedBy=multi-user.target
```
> Note: Make sure to update the usernames in the service file if needed.
```
sudo systemctl enable reticulum-meshchat.service
sudo systemctl start reticulum-meshchat.service
sudo systemctl status reticulum-meshchat.service
```
You should now be able to access MeshChat via your Pi's IP address.
> Note: Don't forget to include the default port `8000`