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

2.7 KiB

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

    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):
      cp config.ini.example config.ini
      
    • Minimal config (core commands only: ping, test, path, prefix, multitest):
      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

    .venv/bin/python meshcore_bot.py
    

Inspect effective config safely

Use these commands to inspect the resolved config with sensitive keys redacted:

.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:

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 for full steps.

Docker

Run in a container with Docker Compose:

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 for paths, serial access, and troubleshooting.

NixOS

Use the flake:

meshcore-bot.url = "github:agessaman/meshcore-bot/";

Next steps

  • Command Reference — Full command reference (wx, aqi, sun, path, prefix, etc.)
  • Upgrade guide — Migrating to v0.9 from older releases
  • Config validation — Validate config.ini before first run
  • Data retention — Database cleanup defaults
  • README — Features, keywords, configuration overview
  • Guides (sidebar) — Path command, repeater commands, feeds, weather service, Discord bridge, map uploader, packet capture