mirror of
https://github.com/agessaman/meshcore-bot.git
synced 2026-04-27 19:35:27 +00:00
b5cce55604
Introduced optional timeout settings in the configuration for various web viewer operations, including edge and node post timeouts, SQLite connection timeout, and requeue timeout. Updated the web viewer integration to utilize these settings, enhancing flexibility and reliability. Added commands to inspect the resolved configuration with sensitive keys redacted, and updated documentation accordingly.
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.7+**
|
|
- **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
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
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
|
|
python3 meshcore_bot.py
|
|
```
|
|
|
|
## Inspect effective config safely
|
|
|
|
Use these commands to inspect the resolved config with sensitive keys redacted:
|
|
|
|
```bash
|
|
python3 meshcore_bot.py --show-config --config config.ini
|
|
python3 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
|