selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

mesh-api logo

Self-host mesh-api

v0.7.5.4-beta

Off-grid LoRa mesh router with AI bridge for Meshtastic

BetaOpen SourceGPL-3.0
Updated30 minutes ago
LanguagePython
Setup difficultyAdvanced
MobileResponsive
Stars
183
Port
5000 (WebUI dashboard and API)
Docker
mrtbot/mesh-api
Install with Docker Compose
MESH-API WebUI dashboardInteractive node mapExtensions managerSend message panelMobile dashboard viewLoRa + Raspberry Pi go-kit hardware setup

What is mesh-api?

MESH-API is a self-hosted Python application that connects LoRa mesh radios to AI services and external APIs. It works with Meshtastic and MeshCore hardware, letting users run either radio type or both simultaneously while routing messages between them. The software provides a built-in MCP server so external AI agents can control the mesh, a plugin architecture with over 30 extensions covering communication, notifications, emergency alerts, ham radio, smart home, and AI agents, support for twelve AI providers including local models, emergency alerting via SMS, email, and Discord, an interactive map with offline capability, and a responsive web dashboard. It runs on Python 3.11+ and offers Docker images for standard and ARM architectures, making it practical for Raspberry Pi and similar hardware. The current release is beta with MeshCore support noted as largely untested.

Should you self-host mesh-api?

mesh-api scores 43/100 on selfhost.directory (how scoring works) and ranks #32 of 33 in Communication. It has 183 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is GPL-3.0-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Jitsi Meet (79/100, 30 159 stars). It scores higher overall, so compare the two before you pick. See mesh-api vs Jitsi Meet side by side.

Features

  • Channel agents
  • Emergency Alerts
  • Firmware & software updatesFlashing optional and off by default
  • Home Assistant Integration
  • Interactive Node Map
  • MCP ServerDisabled by default, bearer-token auth
  • Multiple AI providers
  • Multi-Radio SupportMeshCore support is widely untested per project
  • N8n workflow automation
  • NASA Space Weather monitoring
  • Notification Sounds
  • Offline map support
  • Plugin-Based ExtensionsNew and largely untested per project
  • Slash Commands
  • WebUI Dashboard

mesh-api README

How to install mesh-api

Install mesh-api with Docker Compose

Docker Engine, Meshtastic/MeshCore device

git clone https://github.com/mr-tbot/mesh-api.git cd mesh-api cp -r docker-required-volumes/mesh-api ./mesh-api

Edit config files in mesh-api/config/

docker compose pull docker compose up -d

Multi-arch images for linux/amd64 and linux/arm64. USB serial requires uncommenting devices and /dev volumes in docker-compose.yml

How to configure mesh-api

  • ai_providerlmstudio, openai, ollama, claude, gemini, grok, openrouter, groq, deepseek, mistral, or openai_compatibleAI provider to use

    AI provider to use

    values: provider name

  • debugfalseEnable debug logging

    Enable debug logging

    values: true/false

  • default_send_networkautoDefault network for sending messages

    Default network for sending messages

    values: auto|meshtastic|meshcore|both

  • enable_smtpfalseEnable SMTP email for emergency alerts

    Enable SMTP email for emergency alerts

    values: true/false

  • enable_twiliofalseEnable Twilio SMS for emergency alerts

    Enable Twilio SMS for emergency alerts

    values: true/false

  • meshtastic_enabledtrueEnable Meshtastic radio (set false for MeshCore-only)

    Enable Meshtastic radio (set false for MeshCore-only)

    values: true/false

  • serial_baud460800Baud rate for Meshtastic serial connection

    Baud rate for Meshtastic serial connection

    values: baud rate

  • serial_port/dev/ttyUSB0USB serial port for Meshtastic device

    USB serial port for Meshtastic device

    values: serial port path

  • use_wififalseConnect to Meshtastic node via TCP/WiFi instead of USB serial

    Connect to Meshtastic node via TCP/WiFi instead of USB serial

    values: true/false

  • wifi_hostMESHTASTIC NODE IP HEREIP address of Meshtastic node when using WiFi

    IP address of Meshtastic node when using WiFi

    values: IP address

  • wifi_port4403TCP port for Meshtastic WiFi connection

    TCP port for Meshtastic WiFi connection

    values: port number

More in Networking

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…