OpenRobOps is an open-source robot fleet management and operations platform. It provides real-time observability, monitoring, and control for autonomous mobile robots (AMRs) across vendors — fully self-hostable, with native support for ROS and Open RMF.
Started by InOrbit.AI, OpenRobOps brings the same production-proven technology used to manage thousands of robots into an open, transparent foundation that teams can own and extend.
Robot Agent (on-device)
│ MQTT (protobuf)
▼
┌──────────────────┐ ┌──────────────────┐
│ Mosquitto MQTT │◄────►│ Ingest Service │
│ (broker) │ │ (telemetry proc)│
└──────┬───────────┘ └────────┬─────────┘
│ │
▼ ▼
┌──────────────────────────────────────────┐
│ MongoDB │
└──────────────────┬───────────────────────┘
│
▼
┌──────────────────────────────────────────┐
│ Meteor App Server │
│ (REST API, Pub/Sub, WebSocket) │
└──────────────────┬───────────────────────┘
│
▼
Web Browser
| Component | Description | Default Port |
|---|---|---|
| Web App | Meteor full-stack app — UI, API server, real-time pub/sub | 3000 |
| MongoDB | Primary data store (Meteor-integrated) | 3001 |
| MQTT Broker | Mosquitto with MongoDB-backed auth | 1883 / 9001 (WS) |
| Ingest | Processes robot telemetry via pluggable modules | — |
| CLI | oro command: configuration as code and fleet queries, installed separately |
— |
- Meteor 3 with React 18 and Material UI
- Node.js v22
- MongoDB for persistence
- Mosquitto MQTT broker with go-auth plugin
- Protocol Buffers for message serialization
- Docker Compose for local services
- Terraform for configuration management
- Real-time fleet monitoring — live telemetry from multiple robots
- Customizable dashboards — user-defined layouts and widgets
- Pluggable module system — extensible ingest pipeline (system stats, custom data, localization, diagnostics, cameras, and more)
- Role-based access control — admin and team member roles
- Multi-vendor support — vendor-agnostic MQTT messaging layer
- OAuth integration — Google and GitHub login
- Protocol Buffers — efficient binary serialization for telemetry
oro/
├── app/ # Meteor application (client + server)
├── ingest/ # Telemetry ingest service
├── mqtt/ # Mosquitto broker config & Docker Compose
├── terraform/ # Settings generation (Terraform)
└── scripts/ # Utility scripts
See Developer's documentation, or the Quick Start on the docs site.
Dashboards, data sources, actions, robot admissions and the rest of the platform
configuration are managed as code with the oro CLI,
published separately on PyPI:
pipx install oro-cli
oro context add local --url http://localhost:3000/api --api-key <your-api-key>
oro apply -f config.yamlContainer images for the app and ingest services are built in CI and published to GHCR. See RELEASING.md for the tag scheme, how to cut a release, and how to deploy/roll back.
We welcome contributions! See CONTRIBUTING.md for guidelines on reporting issues, submitting pull requests, and setting up a development environment.
- InOrbit.AI — the company behind OpenRobOps
- InOrbit RobOps — robot operations platform
OpenRobOps is licensed under the Apache License 2.0.