Files
meshcore-bot/docs/getting-started.md
agessaman b5cce55604 feat(config): add configurable timeouts for web viewer integration
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.
2026-04-16 19:56:47 -07:00

2.3 KiB

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

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

    python3 meshcore_bot.py
    

Inspect effective config safely

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

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:

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