Web-based configuration and monitoring interface for the Meshing-Around Meshtastic BBS bot.
This is the standalone addon version - drop it into your existing meshing-around installation.
For the full integrated version with additional features, see: Meshing-Around-WebGUI-Integrated
| Feature | Status | Notes |
|---|---|---|
| Dashboard | ✅ | Service status, quick stats |
| Radio Connections | ✅ | Configure up to 9 interfaces (Serial/TCP/BLE) |
| Scheduler | ✅ | Manage scheduled broadcasts |
| Mesh Nodes | ✅ | View all nodes on the mesh |
| BBS Network | ✅ | Track BBS peer sync status |
| System Logs | ✅ | Filterable log viewer |
| Configuration | ✅ | Edit all config.ini sections |
| Leaderboard | Shows hex IDs (names require integrated version) | |
| Packet Monitor | ❌ | Requires integrated version |
Note: Screenshots are from the integrated version. In this addon, the leaderboard displays hex node IDs instead of names.
# Clone or download this repo
git clone https://forge.echo6.co/matt/Meshing-Around-WebGUI.git
# Copy webgui folder to your meshing-around directory
cp -r Meshing-Around-WebGUI/* /path/to/meshing-around/webgui/Add this service to your compose.yaml or docker-compose.yml:
meshing-webgui:
build:
context: ./webgui
dockerfile: Dockerfile
container_name: meshing-webgui
restart: unless-stopped
ports:
- "8085:8085"
volumes:
- ./config.ini:/app/config.ini:ro
- ./data:/app/data
- ./logs:/app/logs:ro
- ./webgui/schedules.json:/app/schedules.json
environment:
- CONFIG_PATH=/app/config.ini
- DATA_PATH=/app/data
- LOGS_PATH=/app/logs
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8085/health"]
interval: 30s
timeout: 10s
retries: 3docker-compose up -d meshing-webguiAccess at: http://your-server:8085
The WebGUI reads your existing config.ini and displays current settings. All toggles, inputs, and dropdowns will reflect your current configuration.
Important - Scheduler Migration:
The WebGUI uses its own scheduler stored in schedules.json, which is separate from meshing-around's built-in [scheduler] section in config.ini.
If you have existing scheduled broadcasts configured in config.ini, you'll need to recreate them in the WebGUI's Scheduler section. The WebGUI scheduler provides additional features like:
- Visual schedule management
- Multiple message types (broadcast, DM, channel-specific)
- Enable/disable individual schedules without deleting
webgui/
├── main.py # FastAPI application
├── config_schema.py # Configuration field definitions
├── Dockerfile # Container build instructions
├── requirements.txt # Python dependencies
├── templates/
│ └── index.html # Single-page application (Tailwind CSS)
├── static/ # Static assets
└── schedules.json # Scheduler data (created on first run)
For full functionality including Packet Monitor and node names on leaderboard, use the integrated version which includes modifications to mesh_bot.py and system.py:
- Forge: https://forge.echo6.co/matt/Meshing-Around-WebGUI-Integrated
- GitHub: https://github.com/zvx-echo6/Meshing-Around-WebGUI-Integrated
MIT License - Same as meshing-around upstream.









