feat(dashboard): embedded FastAPI backend with REST API + WebSocket

- FastAPI runs in MeshAI asyncio loop (no separate process)
- REST API: /api/status, /api/health, /api/nodes, /api/edges,
  /api/regions, /api/sources, /api/config, /api/alerts
- WebSocket at /ws/live pushes health updates and alerts
- Config CRUD: GET/PUT per section with validation and save
- DashboardConfig with port/host in config.yaml
This commit is contained in:
K7ZVX 2026-05-12 15:47:58 +00:00
commit 3ec09ad158
17 changed files with 1140 additions and 103 deletions

View file

@ -78,7 +78,7 @@ USER meshai
VOLUME ["/data"]
# Expose ttyd web config port
EXPOSE 7682
EXPOSE 7682 8080
# Health check - verify bot process is alive via PID file
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \