robodash_server is the Python backend for RoboDash, a robotics dashboard for
telemetry, camera streams, logs, operator entrypoints, and lightweight runtime
control.
This repository contains the Flask and Socket.IO server, the stream handlers, the outbound helper API used by robotics processes, and a bundled frontend build for single-repo deployment.
The companion frontend repository is robodash-frontend:
https://github.com/IntellyCode/robodash-frontend
- HTTP endpoints for entrypoint status and control actions
- Socket.IO namespaces for live telemetry, vision, thoughts, and logs
- Static dashboard hosting from the server process
- Helper functions for robotics processes to publish frames, telemetry, and log events into the dashboard
robodash_server/
├── pyproject.toml
├── robodash/
│ ├── api/
│ ├── config/
│ ├── dist/
│ ├── handlers/
│ ├── main.py
│ ├── server.py
│ └── utils.py
└── README.md
python -m venv .venv
source .venv/bin/activate
pip install -e .The default entrypoint starts the Flask-Socket.IO server using the configuration
in robodash/config/config.json.
python -m robodash.mainIf installed as a package:
robodash-serverThe server reads its settings from robodash/config/config.json.
Key fields:
serverUrl: hostname used by helper clients when they publish dataport: server bind portapiBaseUrl: API prefix, used for HTTP routes and Socket.IO handshake pathvenv_dir: virtual environment path used by entrypoint handlersendpoints: route tree that maps URLs to HTTP or socket handlers
The checked-in configuration is a development-safe sample. Update it for your deployment environment before exposing the service on a real network.
The frontend is developed separately and should point its socket manager and API calls at this backend. The expected Socket.IO path is:
/api/socket.io
Frontend repository: https://github.com/IntellyCode/robodash-frontend
- The server currently allows broad CORS because it is intended for controlled robotics environments and development setups.
- The bundled
dist/directory enables serving the dashboard from the same process, but the frontend can also be built and deployed independently.