Skip to content

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
  1. 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).

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