Files
meshcore-bot/docs/getting-started.md
T
agessaman a60b35f567 docs: update README and command reference with new features and services
- 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.
2026-04-25 19:21:23 -07:00

2.3 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

    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.)
  • README — Features, keywords, configuration overview
  • Guides (sidebar) — Path command, repeater commands, feeds, weather service, Discord bridge, map uploader, packet capture