openremote/core
硬件与物联网开源物联网平台,提供设备管理、规则引擎、仪表盘和多租户部署能力。
项目介绍
OpenRemote Core 是一个以 Java 实现、完全开源的物联网平台核心。它把设备管理与自动配置、自定义资产类型、规则引擎(when-then、flow、JavaScript 和 Groovy)、多种协议 Agent、Manager API(MQTT broker、HTTP/REST、WebSocket)、基于 realm 的多租户、用户与角色管理、边缘网关、Web Components 前端以及 Insights 仪表盘构建器放在同一套系统中。目标用户是需要构建设备管理、楼宇、能源、车队或智慧城市方案的团队,而不是只想接一块开发板的个人项目。
仓库本身是平台实现,官方文档、社区论坛和 Docker 镜像是最直接的入口(代码仓库、文档)。
快速使用
前提:安装 Docker Desktop v18 或更高版本,amd64 和 arm64 均受支持。
- 安装 Docker Desktop。
- 下载 docker-compose.yml。
- 在终端进入该文件所在目录,执行:
docker compose pull
docker compose -p openremote up
启动完成后访问 https://127.0.0.1,在浏览器中接受自签名证书,然后用 admin / secret 登录。
如果从虚拟机或其他主机访问,需要设置 OR_HOSTNAME,让生成的地址与实际访问地址一致:
OR_HOSTNAME=192.168.1.1 docker compose -p openremote up -d
Windows CMD 下使用 cmd /C "set OR_HOSTNAME=192.168.1.1 && docker compose -p openremote up -d"。不想本地安装时,可先访问 在线演示,使用受限账号 smartcity:smartcity 体验。
登录 Manager UI 后可以创建资产、Agent、规则、用户和 realm;后续操作可参考 Manager UI 指南 和 HTTP Agent 教程。
数据与运维
持久化数据存放在 PostgreSQL 中,位于 openremote_postgresql-data Docker 卷,容器重启后仍保留。历史属性数据默认永久保存;设置 OR_DATA_POINTS_MAX_AGE_WEEKS 可以清除超过指定周数的数据,数据库备份步骤见 备份与恢复文档。Manager 发行包和容器镜像支持 OpenTelemetry 追踪,配置方式见 Traces 文档。
定制与开发
可以定制 Manager 的品牌外观,也可以在自定义项目中加入协议、资产类型和初始化代码(自定义部署、自定义项目指南)。代码库使用 Java、Groovy、TypeScript 和 Gradle,开发者指南 说明 IDE 配置和 UI 开发。贡献流程遵循 GitHub Flow,使用描述性分支名,提交前需保证测试通过。
GitHub 显示的许可证为 NOASSERTION,商业使用前需要确认仓库的许可条款。除 Docker 部署外,仓库没有给出生产环境的资源规格或加固要求。
HotRepo 点评
2026-11-05 的 Java 日榜记录中,OpenRemote 位列第 3,单日新增 31 Star,仓库累计 2,066 Star、506 Fork。项目创建于 2016 年,但站内记录只有这一天的日榜快照,因此只能确认当天的曝光度,不能据此判断持续增长趋势。完整的平台范围、Docker 快速体验路径和在线演示,让读者可以在较短时间内判断它是否适合自己。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。