YaMM - Yet Another Mesh Manager
- HTML 31.5%
- JavaScript 30.2%
- Python 25.5%
- CSS 11.5%
- Dockerfile 1.3%
| config | ||
| pb_migrations | ||
| pb_public | ||
| .gitignore | ||
| Dockerfile | ||
| ingestor.py | ||
| README.md | ||
| requirements.txt | ||
YaMM - Yet Another Mesh Manager
WARNING: This project is a WIP and currently requires full unauthenticated read/write to the pocketbase API
This project allows you to manage your Wifi connected Meshtastic nodes. It provides full functionality to send/receive messages and traceroutes for any connected radio.
ToDo
In no particular order of priority:
- Security around API
- Enforce authentication through Pocketbase for sending messages
Fix gateway online/offline/reconnecting status- Gateway settings control via UI
Mark offline (so it won't attempt to reconnect if temporarily taken offline)- Add/delete channels
- Random traceroute packet route review
Send replies to specific messages- Auto-replies
- Light mode / dark mode
Mobile friendly interface
Setup
config/config.json
For this app to work you will need to create a config.json in the config/ folder.
{
"base_url": "http://localhost:8080",
"pb_url": "http://127.0.0.1:8080",
"nodes": [
{"ip": "192.168.1.10", "name": "Meshtastic xxxx", "notifications": true, "ntfy_topic": "meshtastic_xxxx"},
],
"refresh_timeout_mins": 0,
"ntfy": {
"enabled": true,
"url": "https://ntfy.sh",
"username": "username",
"password": "password"
}
}
base_url: The hosted address of the YaMM app (used for hyperlinks in NTFY alerts)pb_url: This is the pocketbase database url (leave as is for container version)nodes: Array of nodes to use as gateways in the appip/name: IP and Name of gateway node (Name should match device name configured on device)refresh_timeout_mins: This is used for debugging. If you have issues with your nodes disconnecting randomly, you can set this to force the system to reconnect to them.ntfy: NTFY server configuration
Docker Compose
Here is a basic docker compose file to get up and running fast.
services:
yamm:
image: git.badgumby.com/badgumby/yamm:latest
container_name: yamm
restart: unless-stopped
ports:
- "8090:8080"
volumes:
# Persistent database
- ./mesh_db:/data
# Persistent configuration for ingestor.py
- ./mesh_config:/config
environment:
# Python output to appear in docker logs
- PYTHONUNBUFFERED=1
- PB_URL=http://127.0.0.1:8080
- CONFIG_PATH=/config/config.json
Note: latest will pull the newest stable release. There is also a beta package with the latest bugfixes and features.