Skip to content

MeshMonitorOne dashboard. Every mesh.

Self-hosted multi-protocol mesh monitoring for Meshtastic, MeshCore, and MQTT β€” real-time maps, alerts, per-source permissions, and full network awareness.

Quick Start ​

Need a Custom Configuration?

Use our Interactive Configurator to generate a customized docker-compose.yml for your specific setup (TCP, BLE, Serial, reverse proxy, etc.).

Get MeshMonitor running in under 60 seconds with Docker Compose:

bash
cat > docker-compose.yml << 'EOF'
services:
  meshmonitor:
    image: ghcr.io/yeraze/meshmonitor:latest
    container_name: meshmonitor
    ports:
      - "8080:3001"
    volumes:
      - meshmonitor-data:/data
    environment:
      - MESHTASTIC_NODE_IP=192.168.1.100  # Seeds the first source on first boot; add more from Dashboard β†’ Sources
      - ALLOWED_ORIGINS=http://localhost:8080  # Required for CORS
    restart: unless-stopped

volumes:
  meshmonitor-data:
EOF

docker compose up -d

Access at http://localhost:8080 and login with username admin and password changeme.

That's it! No SESSION_SECRET or complex configuration needed for basic usage. MeshMonitor works over HTTP out of the box.

For production deployments, Kubernetes, reverse proxies, and advanced configurations, see the Production Deployment Guide.

What can MeshMonitor monitor? ​

MeshMonitor speaks three off-grid mesh ecosystems and treats them as peers in one deployment:

  • Meshtastic β€” an open-source, off-grid, decentralized mesh network built on affordable, low-power devices. Connect over TCP, Serial (via the Serial Bridge), or BLE (via the BLE Bridge).
  • MeshCore β€” companions and repeaters connected over USB or TCP, alongside or instead of Meshtastic.
  • MQTT β€” connect to an external MQTT broker as a read-only source, or run the embedded broker with bidirectional bridges to public upstreams.

Pick one, mix all three β€” MeshMonitor's unified views, per-source permissions, and the same automation, telemetry, and map features apply to every source you add.

Key Features ​

Network Visualization ​

View every connected mesh β€” Meshtastic, MeshCore, MQTT β€” on a single interactive map, with nodes colored by signal strength and connectivity status. Track node positions, signal quality, and network topology in real-time.

Message History ​

Access complete message history across every source and channel. Search, filter, and export messages for analysis or record-keeping.

Node Management ​

Monitor individual node health, battery levels, environmental telemetry, and connection status. View detailed statistics for each node in your network, regardless of source protocol.

Channel Configuration ​

Manage multiple channels, view channel settings, and monitor message flow across different communication channels β€” Meshtastic channels, MeshCore channels, and MQTT topics alike.

Security Monitoring ​

Automatically detect and flag nodes with security vulnerabilities. MeshMonitor identifies low-entropy (weak) encryption keys and duplicate keys shared across multiple Meshtastic nodes. Visual warnings and filtering options help you maintain a secure mesh.

Deployment Options ​

MeshMonitor supports multiple deployment scenarios:

  • Docker Compose: Quick local deployment for testing and development
  • Kubernetes: Production-ready deployment with Helm charts
  • Bare Metal: Direct installation with Node.js for custom environments

Screenshots ​

Multi-Source Dashboard ​

Every source your deployment touches shows up in the sidebar with its own health, map pin colour, and unified or source-scoped views. Meshtastic (TCP, plus Serial/BLE via the bridge sidecars), MeshCore (USB or TCP), MQTT brokers, and the embedded MQTT bridge are all first-class β€” mix and match without a restart.

Multi-Source Dashboard

Sources Management ​

Add, edit, restart, or delete any upstream connection from the dashboard. No env-var edits, no container restarts.

Source options menu

Edit Source with Virtual Node ​

Each TCP source gets its own Virtual Node endpoint, its own auto-responder, its own scheduler β€” all in one Edit Source dialog.

Edit Source dialog

Per-Source Permissions ​

Grant a user admin rights on one source, read-only on another, and hide a third. Per-channel controls sit right alongside the source scope dropdown.

Per-source permissions

Global Settings ​

Theme, language, map defaults, push keys, backup schedule β€” the things that apply to the whole deployment β€” live on one screen.

Global Settings

Unified Messages ​

Read and search messages across every source from a single view, with an optional per-source filter.

Unified Messages

Unified Telemetry ​

Telemetry charts, gauges, and tables aggregated across every connected source.

Unified Telemetry

Interactive Map ​

Track your entire mesh network at a glance with the interactive map and real-time node positions.

Interactive Map

Mobile ​

Collapsible sidebar and responsive layout for iOS and Android PWAs.

Mobile sidebar

Community & Support ​


Ready to get started? Head over to the Getting Started guide!