Files
meshcore-bot/docs/getting-started.md
T
agessaman 7b15d43dbd docs: update command reference and configuration documentation
- Enhanced the command reference with detailed descriptions for `cmd`, `version`, `weather`, and `path` commands, including usage examples and configuration options.
- Added new `RandomLine` command documentation for configurable triggers.
- Updated configuration documentation to reflect the deprecation of the global `[Aliases]` section, encouraging per-command alias definitions.
- Clarified the `[Rate_Limits]` and `[Webhook]` sections in the configuration guide.
- Improved the web viewer documentation, emphasizing security practices and configuration options.
2026-05-19 19:09:16 -07:00

99 lines
2.7 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**
**Interactive (recommended):** `make config` — ncurses editor for `config.ini`.
Or 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.)
- **[Upgrade guide](upgrade.md)** — Migrating to v0.9 from older releases
- **[Config validation](config-validation.md)** — Validate `config.ini` before first run
- **[Data retention](data-retention.md)** — Database cleanup defaults
- **[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