PotatoMesh
Monitoring / Management BetaFederated self-hosted dashboard for local MeshCore and Meshtastic communities, combining node maps, chat, telemetry, neighbors and trace routes with remote radio ingestors and a public API.
- Maintainer
- l5yth ↗
- Kind
- Monitoring & Management
- Maturity
- Beta
- Languages
- Ruby Python JavaScript Dart
- Licensing
- Open source
- Latest version
- 0.7.2 · 2026-07-07
- License
- Apache-2.0
- Platforms
- Docker Linux NixOS Web
Screenshots
Capabilities
Interfaces
- ✓ Web
- ✓ API
- ✓ Headless
Connections
- ✓ BLE
- ✓ Serial
- ✓ TCP
- ✓ HTTP
Capabilities
- ✓ Messaging
- ✓ Contacts
- ✓ Channels
- ✓ Monitoring
- ✓ Telemetry
- ✓ Packet analysis
- ✓ Mapping
- ✓ Notifications
- ✓ Bridging
Node role
- ✓ Companion
- ✓ Repeater
- ✓ Room server
- ✓ Sensor
Install
Releases
from GitHub · updated 2026-07-07v0.7.2 # Latest 13 days ago · 2026-07-07 17:52 UTC
This is a service release that improves performance and stability as well as selected recommended security hardening patches.
What's Changed
- feat(ingestor): passive UDP transport (Mesh via UDP), primary-channel only by @tjpaulsondev in https://github.com/l5yth/potato-mesh/pull/838
- fix: security review — dashboard XSS, private-mode federation gap, Matrix bridge resilience by @tjpaulsondev in https://github.com/l5yth/potato-mesh/pull/839
- fix: UDP-transport hardening, bridge tracker coverage, CI repairs; release 0.7.2 by @l5yth in https://github.com/l5yth/potato-mesh/pull/840
- web: fix MeshCore ghost nodes (stale contact enrichment discarded) by @l5yth in https://github.com/l5yth/potato-mesh/pull/841
- fix(docker): armv7 ingestor build toolchain; disable matrix fail-fast by @l5yth in https://github.com/l5yth/potato-mesh/pull/842
New Contributors
- @tjpaulsondev made their first contribution in https://github.com/l5yth/potato-mesh/pull/838
Full Changelog: https://github.com/l5yth/potato-mesh/compare/v0.7.1...v0.7.2
v0.7.1 # 18 days ago · 2026-07-02 18:53 UTC
This is a service release of potato-mesh v0.7,1 fixing some bugs and annoyances with frontend performance and behaviour. If you are on v0.7.0, upgrading is strongly recommended.
What's Changed
- web: fix pubsub thread budget to not block entire app by @l5yth in https://github.com/l5yth/potato-mesh/pull/828
- web: change tiles to carto by @l5yth in https://github.com/l5yth/potato-mesh/pull/831
- chore: bump version 0.7.1 by @l5yth in https://github.com/l5yth/potato-mesh/pull/833
- web: initial-load module-graph waterfall by @l5yth in https://github.com/l5yth/potato-mesh/pull/832
- web: fix MeshCore chat duplicates and warm-cache message gap by @l5yth in https://github.com/l5yth/potato-mesh/pull/834
- web: progressively backfill all bulk collections by @l5yth in https://github.com/l5yth/potato-mesh/pull/835
- improve log wiring and capture all meshcore adverts by @l5yth in https://github.com/l5yth/potato-mesh/pull/836
- web: chat-log retention and vertical scroll fix by @l5yth in https://github.com/l5yth/potato-mesh/pull/837
Full Changelog: https://github.com/l5yth/potato-mesh/compare/v0.7.0...v0.7.1
v0.7.0 # 24 days ago · 2026-06-26 14:05 UTC
This is a service release of the radio mess app-suite
potato-meshv0.7.0 which contains some breaking changes in API and federation to enable new features. Upgrading is strongly recommended, especially for federation users.Demo: https://potatomesh.net
Alternate UI: https://meshint.potatomesh.net/ (Github: https://github.com/l5yth/meshint)
Pub-Sub
The 60-second refresh cycle was completely removed in favor of pubsub. The frontend not subscribtes to changes in the backend on the
/api/eventsAPI. New updates to nodes or chat, are immediately visible on the dashboard as they happen in the air.API Breakage
Organically, the API grew with both
snake_caseandcamelCase- everything has been fixed to snake case to have a consistence across all API endpoints.Reticulum support
The app does not support Reticulum yet but the APIs expose the necessary fields so that this new protocol can be added without breaking change in the coming releases.
What's Changed
- chore: bump to 0.6.4 by @l5yth in https://github.com/l5yth/potato-mesh/pull/785
- build(deps): bump openssl from 0.10.78 to 0.10.79 in /matrix by @dependabot[bot] in https://github.com/l5yth/potato-mesh/pull/787
- data: move connected event to after ensure_contacts by @l5yth in https://github.com/l5yth/potato-mesh/pull/789
- fix sentinel position data by @l5yth in https://github.com/l5yth/potato-mesh/pull/792
- web: add node opt-out marker and data retention policies by @l5yth in https://github.com/l5yth/potato-mesh/pull/793
- Fix regression where Meshcore chat senders show as Meshtastic by @l5yth in https://github.com/l5yth/potato-mesh/pull/794
- build(deps): bump openssl from 0.10.79 to 0.10.80 in /matrix by @dependabot[bot] in https://github.com/l5yth/potato-mesh/pull/795
- web: fix chat by @l5yth in https://github.com/l5yth/potato-mesh/pull/800
- web: breaking change on stats api by @l5yth in https://github.com/l5yth/potato-mesh/pull/801
- web: fix apis to use consistently use camel case by @l5yth in https://github.com/l5yth/potato-mesh/pull/802
- web: federation signature v2 migration by @l5yth in https://github.com/l5yth/potato-mesh/pull/805
- web: progressively load messages in batches by @l5yth in https://github.com/l5yth/potato-mesh/pull/807
- web: fix meshcore node synthisation, merging, and deduplication by @l5yth in https://github.com/l5yth/potato-mesh/pull/808
- web: fix federation dns status 500 by @l5yth in https://github.com/l5yth/potato-mesh/pull/809
- web: fix federation cycle and http response error handler by @l5yth in https://github.com/l5yth/potato-mesh/pull/810
- web: render chat incrementally to reduce page load time by @l5yth in https://github.com/l5yth/potato-mesh/pull/813
- web: implement local storage caching by @l5yth in https://github.com/l5yth/potato-mesh/pull/814
- fix: report custom LoRa config as "Custom SF{sf}/BW{bw}/CR{cr}" when use_preset=False (#811) by @giannoug in https://github.com/l5yth/potato-mesh/pull/812
- web: version JS/CSS assets to bust stale browser caches by @l5yth in https://github.com/l5yth/potato-mesh/pull/815
- fix: unify Meshtastic custom LoRa label with MeshCore format by @l5yth in https://github.com/l5yth/potato-mesh/pull/818
- web: add pagination to all APIs by @l5yth in https://github.com/l5yth/potato-mesh/pull/820
- web: implement pubsub by @l5yth in https://github.com/l5yth/potato-mesh/pull/821
- web: mark message author nodes as seen by @l5yth in https://github.com/l5yth/potato-mesh/pull/822
- web: add visual feedback to pubsub events by @l5yth in https://github.com/l5yth/potato-mesh/pull/824
- web: fix meshcore message duplication regression by @l5yth in https://github.com/l5yth/potato-mesh/pull/825
- web: fix live-update DOM handling by @l5yth in https://github.com/l5yth/potato-mesh/pull/826
- web: fix api/events hang on shutdown by @l5yth in https://github.com/l5yth/potato-mesh/pull/827
New Contributors
- @giannoug made their first …
Project signals
- GitHub stars
- 334
- Forks
- 42
- Watchers
- 7
- Open issues
- 21
- Contributors
- 11
- Release downloads
- 24
- Latest downloads
- 0
- Source available
- Yes
- Releases available
- Yes
- Signed releases
- No
- CI builds
- Yes
- Documentation
- Yes
- MeshCore ingestors connect to companion radios over BLE, serial or TCP and post normalized data to the web service.
- Federation is enabled by default but can be disabled for isolated or private deployments.
- The mobile reader and Matrix bridge are still described as works in progress.