0.1.0
This commit is contained in:
31
docs/meshchat_on_android_with_termux.md
Normal file
31
docs/meshchat_on_android_with_termux.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# MeshChat on Android
|
||||
|
||||
It's possible to run on Android from source, using [Termux](https://termux.dev/).
|
||||
|
||||
You will need to install a few extra dependencies and make a change to `requirements.txt`.
|
||||
|
||||
```
|
||||
pkg upgrade
|
||||
pkg install git
|
||||
pkg install nodejs-lts
|
||||
pkg install python-pip
|
||||
pkg install rust
|
||||
pkg install binutils
|
||||
pkg install build-essential
|
||||
```
|
||||
|
||||
You should now be able to follow the [how to use it](../README.md#how-to-use-it) instructions above.
|
||||
|
||||
Before running `pip install -r requirements.txt`, you will need to comment out the `cx_freeze` dependency. It failed to build on my Android tablet, and is not actually required for running from source.
|
||||
|
||||
```
|
||||
nano requirements.txt
|
||||
```
|
||||
|
||||
Ensure the `cx_freeze` line is updated to `#cx_freeze`
|
||||
|
||||
> Note: Building wheel for cryptography may take a while on Android.
|
||||
|
||||
Once MeshChat is running via Termux, open your favourite Android web browser, and navigate to http://localhost:8000
|
||||
|
||||
> Note: The default `AutoInterface` may not work on your Android device. You will need to configure another interface such as `TCPClientInterface`.
|
||||
11
docs/meshchat_on_docker.md
Normal file
11
docs/meshchat_on_docker.md
Normal 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.
|
||||
99
docs/meshchat_on_raspberry_pi.md
Normal file
99
docs/meshchat_on_raspberry_pi.md
Normal 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`
|
||||
Reference in New Issue
Block a user