84 lines
1.8 KiB
Markdown
84 lines
1.8 KiB
Markdown
# 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/Ivan/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/Ivan/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.
|