docs(README): add manual installation instructions and ARM64 support details
This commit is contained in:
94
README.md
94
README.md
@@ -103,6 +103,60 @@ This project is seperate from the original Reticulum MeshChat project, and is no
|
|||||||
|
|
||||||
Check [releases](https://git.quad4.io/Ivan/MeshChatX/releases) for pre-built binaries or appimages.
|
Check [releases](https://git.quad4.io/Ivan/MeshChatX/releases) for pre-built binaries or appimages.
|
||||||
|
|
||||||
|
### Manual Installation (Bare Metal)
|
||||||
|
|
||||||
|
If you prefer not to use Docker or pre-built binaries, you can install MeshChatX manually:
|
||||||
|
|
||||||
|
1. **Clone the repository**:
|
||||||
|
```bash
|
||||||
|
git clone https://git.quad4.io/RNS-Things/MeshChatX
|
||||||
|
cd MeshChatX
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **Install Node.js dependencies**:
|
||||||
|
```bash
|
||||||
|
corepack enable
|
||||||
|
pnpm install
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **Install Python dependencies**:
|
||||||
|
```bash
|
||||||
|
# It is recommended to use a virtual environment
|
||||||
|
pip install poetry
|
||||||
|
poetry install
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **Build the frontend**:
|
||||||
|
```bash
|
||||||
|
pnpm run build-frontend
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **Run MeshChatX**:
|
||||||
|
```bash
|
||||||
|
poetry run meshchat --headless --host 127.0.0.1
|
||||||
|
```
|
||||||
|
|
||||||
|
## Architecture Support (ARM64, etc.)
|
||||||
|
|
||||||
|
MeshChatX fully supports **ARM64** (Raspberry Pi, Pine64, etc.) and other architectures via Docker or manual installation.
|
||||||
|
|
||||||
|
### Docker (Recommended for ARM64)
|
||||||
|
|
||||||
|
The official Docker image is multi-arch and supports `linux/amd64` and `linux/arm64`.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# On a Raspberry Pi, simply pull and run
|
||||||
|
docker pull git.quad4.io/rns-things/meshchatx:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
### Manual Build for ARM64
|
||||||
|
|
||||||
|
If you are building your own multi-arch image:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
DOCKER_PLATFORMS=linux/amd64,linux/arm64 task build-docker
|
||||||
|
```
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
This project uses [Task](https://taskfile.dev/) for build automation. Install Task first, then:
|
This project uses [Task](https://taskfile.dev/) for build automation. Install Task first, then:
|
||||||
@@ -116,26 +170,26 @@ You can run `task run` or `task develop` (a thin alias) to start the backend + f
|
|||||||
|
|
||||||
### Available Tasks
|
### Available Tasks
|
||||||
|
|
||||||
| Task | Description |
|
| Task | Description |
|
||||||
| ---------------------------- | ------------------------------------------------------------------------------- |
|
| ----------------------------- | ------------------------------------------------------------------------------- |
|
||||||
| `task install` | Install all dependencies (syncs version, installs node modules and python deps) |
|
| `task install` | Install all dependencies (syncs version, installs node modules and python deps) |
|
||||||
| `task node_modules` | Install Node.js dependencies only |
|
| `task node_modules` | Install Node.js dependencies only |
|
||||||
| `task python` | Install Python dependencies using Poetry only |
|
| `task python` | Install Python dependencies using Poetry only |
|
||||||
| `task sync-version` | Sync version numbers across project files |
|
| `task sync-version` | Sync version numbers across project files |
|
||||||
| `task run` | Run the application |
|
| `task run` | Run the application |
|
||||||
| `task develop` | Run the application in development mode (alias for `run`) |
|
| `task develop` | Run the application in development mode (alias for `run`) |
|
||||||
| `task build` | Build the application (frontend and backend) |
|
| `task build` | Build the application (frontend and backend) |
|
||||||
| `task build-frontend` | Build only the frontend |
|
| `task build-frontend` | Build only the frontend |
|
||||||
| `task clean` | Clean build artifacts and dependencies |
|
| `task clean` | Clean build artifacts and dependencies |
|
||||||
| `task wheel` | Build Python wheel package (outputs to `python-dist/`) |
|
| `task wheel` | Build Python wheel package (outputs to `python-dist/`) |
|
||||||
| `task build-appimage` | Build Linux AppImage |
|
| `task build-appimage` | Build Linux AppImage |
|
||||||
| `task build-exe` | Build Windows portable executable |
|
| `task build-exe` | Build Windows portable executable |
|
||||||
| `task dist` | Build distribution (defaults to AppImage) |
|
| `task dist` | Build distribution (defaults to AppImage) |
|
||||||
| `task electron-legacy` | Install legacy Electron version |
|
| `task electron-legacy` | Install legacy Electron version |
|
||||||
| `task build-appimage-legacy` | Build Linux AppImage with legacy Electron version |
|
| `task build-appimage-legacy` | Build Linux AppImage with legacy Electron version |
|
||||||
| `task build-exe-legacy` | Build Windows portable executable with legacy Electron version |
|
| `task build-exe-legacy` | Build Windows portable executable with legacy Electron version |
|
||||||
| `task build-docker` | Build Docker image using buildx |
|
| `task build-docker` | Build Docker image using buildx |
|
||||||
| `task run-docker` | Run Docker container using docker-compose |
|
| `task run-docker` | Run Docker container using docker-compose |
|
||||||
|
|
||||||
All tasks support environment variable overrides. For example:
|
All tasks support environment variable overrides. For example:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user