mirror of
https://github.com/agessaman/meshcore-bot.git
synced 2026-05-12 10:34:53 +00:00
a60b35f567
- Removed caution section from README to streamline information. - Added new services to README: Earthquake Service, Repeater Prefix Collision Service, and MQTT Weather Relay. - Expanded command reference documentation with new commands: `version`, `status`, `aurora`, `magic8`, `catfact`, `reload`, `channelpause`, `channelresume`, `greeter`, `announcements`, and `schedule`. - Updated getting started guide to reflect changes in Python version requirement and installation instructions. - Enhanced service plugins documentation to include new services and clarify existing ones.
94 lines
2.3 KiB
Markdown
94 lines
2.3 KiB
Markdown
# Getting Started
|
|
|
|
Get meshcore-bot running on your machine in a few minutes.
|
|
|
|
## Requirements
|
|
|
|
- **Python 3.10+**
|
|
- **MeshCore-compatible device** (Heltec V3, RAK Wireless, etc.)
|
|
- **Connection**: USB cable, BLE, or TCP/IP to the device
|
|
|
|
## Quick start (development)
|
|
|
|
1. **Clone and install**
|
|
|
|
```bash
|
|
git clone https://github.com/agessaman/meshcore-bot.git
|
|
cd meshcore-bot
|
|
make dev
|
|
```
|
|
|
|
2. **Configure**
|
|
|
|
Copy an example config and edit with your connection and bot settings:
|
|
|
|
- **Full config** (all commands and options):
|
|
```bash
|
|
cp config.ini.example config.ini
|
|
```
|
|
- **Minimal config** (core commands only: ping, test, path, prefix, multitest):
|
|
```bash
|
|
cp config.ini.minimal-example config.ini
|
|
```
|
|
|
|
Edit `config.ini`: set at least `[Connection]` (serial/BLE/TCP) and `[Bot]` (e.g. `bot_name`).
|
|
|
|
3. **Run**
|
|
|
|
```bash
|
|
.venv/bin/python meshcore_bot.py
|
|
```
|
|
|
|
## Inspect effective config safely
|
|
|
|
Use these commands to inspect the resolved config with sensitive keys redacted:
|
|
|
|
```bash
|
|
.venv/bin/python meshcore_bot.py --show-config --config config.ini
|
|
.venv/bin/python meshcore_bot.py --show-config-json --config config.ini
|
|
```
|
|
|
|
Also available in the web UI at `/admin/config`.
|
|
|
|
## Production deployment
|
|
|
|
### Systemd service
|
|
|
|
Run the bot as a system service on Linux:
|
|
|
|
```bash
|
|
sudo ./install-service.sh
|
|
sudo nano /opt/meshcore-bot/config.ini # configure
|
|
sudo systemctl start meshcore-bot
|
|
sudo systemctl status meshcore-bot
|
|
```
|
|
|
|
See [Service installation](service-installation.md) for full steps.
|
|
|
|
### Docker
|
|
|
|
Run in a container with Docker Compose:
|
|
|
|
```bash
|
|
mkdir -p data/{config,databases,logs,backups}
|
|
cp config.ini.example data/config/config.ini
|
|
# Edit data/config/config.ini and set paths to /data/... (see [Docker](docker.md))
|
|
docker compose up -d --build
|
|
```
|
|
|
|
See [Docker deployment](docker.md) for paths, serial access, and troubleshooting.
|
|
|
|
### NixOS
|
|
|
|
Use the flake:
|
|
|
|
```nix
|
|
meshcore-bot.url = "github:agessaman/meshcore-bot/";
|
|
```
|
|
|
|
## Next steps
|
|
|
|
- **[Command Reference](command-reference.md)** — Full command reference (wx, aqi, sun, path, prefix, etc.)
|
|
- **[README](https://github.com/agessaman/meshcore-bot/blob/main/README.md)** — Features, keywords, configuration overview
|
|
- **Guides** (sidebar) — Path command, repeater commands, feeds, weather service, Discord bridge, map uploader, packet capture
|