Meshflow is a distributed telemetry collection system designed for Meshtastic radio networks. It provides a secure, structured backend to ingest, store, and analyze public packets broadcast across geographically distributed mesh nodes. The system is intended to be self-hosted, Dockerized, and built using Django REST Framework with PostgreSQL as the backing store.
This repository will contain the backend API for Meshflow, organized as a modular Django project with the following apps:
- Nodes – manages radios (Meshtastic nodes) and their API keys
- Constellations – groups of nodes managed collectively
- Regions – geographical groupings used to partition mesh data
- Packets – ingestion and processing of raw mesh packets
- Users – standard Django users, acting as SysOps in node context
- Common – shared utilities, permissions, middleware, etc.
Root layout:
Meshflow/
├── manage.py
├── Meshflow/ # Django settings, urls, wsgi
├── Nodes/
├── Packets/
├── Constellations/
├── Regions/
├── Users/
└── Common/
- Meshflow API – the Django-based backend (this project)
- Meshflow Relay – lightweight local client running beside a Meshtastic node
- Meshflow Dashboard – React-based frontend for visualizing and managing mesh activity
All endpoints will be namespaced under /api/v1/.
/api/v1/
├── auth/
├── packets/ingest/ # POST endpoint for Meshflow Relay
├── nodes/ # Manage and list nodes
├── nodes/<id>/apikeys/ # Rotate/manage node API keys
├── constellations/ # Group nodes for SysOp management
├── regions/ # List regions, get stats
├── stats/global/ # Public stats
├── stats/my-nodes/ # SysOp-specific metrics
- Python 3.x
- Django 4.x
- Django REST Framework
- PostgreSQL
- Docker / Docker Compose
This project is under initial development. Once bootstrapped, the following will apply:
# Clone and enter repo
cd Meshflow
# Install dependencies
pip install -r requirements.txt
# Run migrations
python manage.py migrate && python manage.py run_deploy_tasks
# Start development server
python manage.py runserverDocker setup will be included via docker-compose.yml.
Meshflow is designed to be:
- Transparent – SysOps and the public can see activity and trends
- Modular – easy to extend, replace, or separate components
- Open – friendly to community deployment and contribution
🧪 Currently pre-alpha. The core architecture and structure are being scaffolded.