// the find
l5yth/potato-mesh
A federated, Meshtastic AND Meshcore node dashboard for your local community. No MQTT clutter, just local LoRa aether.
PotatoMesh is a self-hosted dashboard for LoRa mesh networks, supporting both Meshtastic and MeshCore protocols. You run it on a server, point a Python ingestor at your physical node, and get a map/chat view of your local mesh without needing MQTT. It also federates automatically with other PotatoMesh instances.
The architecture is sensible: the web app is stateless with respect to radio hardware, accepting data via authenticated POST endpoints so multiple nodes across a community can feed one dashboard. Federation is well thought out — signed well-known documents, 72-hour staleness pruning, and a private mode that disables it entirely. The deployment story is genuinely good: Docker images for amd64/arm64/armv7, a NixOS module, and a configure.sh script that handles setup. SSE for live updates with a configurable heartbeat and max-lifetime to handle proxy buffering is the right call over polling.
The single shared API_TOKEN for all ingestors is a real problem in a community deployment — one compromised node poisons the whole dataset with no way to revoke just that ingestor. The web app is SQLite, which means no concurrent writers; a busy community mesh with multiple ingestors posting simultaneously will hit SQLITE_BUSY errors under any real load. The Matrix bridge and mobile app are both listed as 'currently being worked on' with no release timeline, so the feature set is smaller than the README implies. Federation trust is essentially honor-based — any instance can announce itself into the directory, and there's no mechanism to block malicious or spammy peers short of disabling federation entirely.