Overview
Discover what makes ThingsBoard powerful
ThingsBoard is a **fully open‑source IoT platform** that consolidates device provisioning, telemetry ingestion, data processing, and real‑time visualization into a single stack. From a developer’s perspective it behaves like a microservice ecosystem: a Java‑based core server exposing REST, MQTT, CoAP, and HTTP endpoints; a rule engine that can be extended with JavaScript or custom plugins; and a rich Web UI built on Angular. The platform is designed to run on-premise, but it also offers a managed cloud offering for quick proofs‑of‑concepts.
Core Runtime
Data Plane
Messaging
Web UI
Overview
ThingsBoard is a fully open‑source IoT platform that consolidates device provisioning, telemetry ingestion, data processing, and real‑time visualization into a single stack. From a developer’s perspective it behaves like a microservice ecosystem: a Java‑based core server exposing REST, MQTT, CoAP, and HTTP endpoints; a rule engine that can be extended with JavaScript or custom plugins; and a rich Web UI built on Angular. The platform is designed to run on-premise, but it also offers a managed cloud offering for quick proofs‑of‑concepts.
Technical Stack
- Core Runtime – Java 17, Spring Boot, Vert.x for reactive I/O.
- Data Plane – PostgreSQL (primary), InfluxDB or TimescaleDB for time‑series storage, and optional Cassandra/Redis clusters for high‑throughput ingestion.
- Messaging – Embedded MQTT broker (Eclipse Mosquitto‑like) with support for CoAP and HTTP.
- Web UI – Angular 14, TypeScript, WebSocket for live dashboards.
- Rule Engine – Node.js runtime to execute JavaScript rule chains; can be extended with custom Java or Python plugins.
- Containerization – Docker images for all components; Helm charts simplify Kubernetes deployments.
Core Capabilities
- Device Management – Secure provisioning APIs, bulk import/export, OTA firmware updates, and relation graphs (devices ↔ assets ↔ customers).
- Telemetry Ingestion – 10⁶+ messages/sec throughput, configurable retention policies, and native support for JSON, Protobuf, and CBOR payloads.
- Rule Chains – Declarative event‑driven pipelines that can filter, transform, and route data to external services (Kafka, REST, MQTT).
- Alarms & Notifications – Threshold‑based alarms with multi‑channel alerts (email, SMS, Slack, Webhooks).
- Dashboards – Drag‑and‑drop SCADA widgets, custom widget libraries, and role‑based access control.
Deployment & Infrastructure
ThingsBoard is self‑hostable on any Linux distribution; the installer bundles all dependencies into a single package. For production, it recommends a micro‑service architecture:
- Separate PostgreSQL and InfluxDB nodes for storage isolation.
- Horizontal scaling of the core using Kubernetes StatefulSets; load‑balancing via an Ingress controller.
- High‑availability of the MQTT broker with a shared persistence layer (Redis).
The platform exposes a REST API for full CRUD on devices, dashboards, and rule chains, making it straightforward to integrate into CI/CD pipelines or custom management tools.
Integration & Extensibility
- Plugin System – Developers can write Java or Python extensions that plug into the rule engine or data ingestion pipeline.
- Webhooks & Callbacks – Every event (attribute update, alarm, device status) can trigger an HTTP callback.
- SDKs – Official Java, Node.js, and Python SDKs simplify client development.
- Third‑Party Connectors – Built‑in adapters for Kafka, Azure IoT Hub, AWS Greengrass, and more.
Developer Experience
The documentation is REST‑first with auto‑generated Swagger UI, and the source code follows standard Maven conventions. The community is active on GitHub, Discord, and Stack Overflow, providing quick support for API quirks or performance tuning. Configuration is driven by application.yml files, enabling environment‑specific overrides without code changes.
Use Cases
- Smart Energy – Real‑time SCADA dashboards for grid monitoring, predictive maintenance rule chains, and automated billing via MQTT.
- Industrial Automation – Edge devices publish telemetry to ThingsBoard; rule chains trigger PLC commands and log events in PostgreSQL.
- Connected Vehicles – Fleet telemetry ingested over MQTT, processed by JavaScript rules, and visualized on a custom Angular dashboard.
Advantages
- Performance & Scalability – Reactive Java core and optional time‑series DBs allow handling millions of messages per second.
- Full Open Source – No vendor lock‑in; source code is available under the Apache 2.0 license, enabling on‑premise compliance and custom feature branches.
- Extensibility – Plug‑in architecture lets developers add proprietary protocols or analytics without touching the core.
- Rich Feature Set – Device provisioning, rule chaining, SCADA dashboards, and alarm management are all available out of the box, reducing time‑to‑market for complex IoT solutions.
Open SourceReady to get started?
Join the community and start self-hosting ThingsBoard today
Related Apps in cloud-platforms
Home Assistant
Open-source smart home hub for automation and integration
Caddy
Secure, auto‑TLS web server for every site
Traefik
Dynamic reverse proxy and load balancer for microservices
Pi‑hole
Network‑wide ad blocking with your own DNS server
CasaOS
Your Personal Cloud OS for Docker-based home servers
AdGuard Home
Network‑wide ad and tracker blocker
Weekly Views
Repository Health
Information
Explore More Apps
E-MailRelay
Lightweight SMTP store‑and‑forward server with POP access and spam filtering
ApostropheCMS
Full-stack CMS with in-context editing and headless flexibility
Raneto
Fast Markdown‑powered knowledge base for Node.js
Movim
Federated XMPP blogging and chat hub
Shlink
Self-hosted URL shortener with analytics and QR codes
Lichess
Free, real‑time online chess for all skill levels
