openremote/keycloakOpenRemote 是一个开源的物联网 (IoT) 平台,提供完整的设备管理、数据收集、规则引擎和可视化功能。该 Docker 镜像封装了 OpenRemote 平台的全部组件,包括管理界面、API 服务、数据库和消息代理,旨在简化部署流程并确保环境一致性。
主要用途:
创建项目目录并下载 docker-compose.yml:
bashmkdir openremote && cd openremote curl -O [***]
创建环境配置文件:
bashcat > .env << EOF OR_ADMIN_PASSWORD=securepassword OR_SETUP_WIZARD=false OR_HOSTNAME=localhost EOF
启动服务:
bashdocker-compose up -d
访问管理界面:
打开浏览器访问 https://localhost,使用默认凭据登录:
adminOR_ADMIN_PASSWORD 中设置的值bashdocker run -d \ --name openremote \ -p 80:80 \ -p 443:443 \ -e OR_ADMIN_PASSWORD=securepassword \ -e OR_HOSTNAME=localhost \ -v openremote-data:/openremote/data \ openremote/stack:latest
| 变量名 | 描述 | 默认值 |
|---|---|---|
OR_ADMIN_PASSWORD | 管理员账户密码 | (随机生成) |
OR_HOSTNAME | 服务器主机名 | localhost |
OR_HTTP_PORT | HTTP 端口 | 80 |
OR_HTTPS_PORT | HTTPS 端口 | 443 |
OR_SETUP_WIZARD | 是否启用设置向导 | true |
OR_TIMEZONE | 服务器时区 | UTC |
OR_DATABASE_VENDOR | 数据库类型 | POSTGRES |
OR_DATABASE_URL | 外部数据库 URL | (内部数据库) |
OR_MQTT_BIND_ADDRESS | MQTT 绑定地址 | 0.0.0.0 |
OR_MQTT_PORT | MQTT 端口 | 1883 |
OR_MQTT_SSL_PORT | MQTT SSL 端口 | 8883 |
默认情况下,Docker Compose 配置会创建以下卷来持久化数据:
openremote_postgres_data: 数据库数据openremote_keycloak_data: 身份验证服务数据openremote_proxy_conf: 代理配置openremote_manager_data: 应用程序数据创建 custom 目录并挂载到容器:
yamlvolumes: - ./custom:/openremote/custom
在 custom 目录中添加自定义配置文件,例如:
deployment.yml: 部署配置rules.js: 自定义规则assets/: 静态资源https://<your-hostname>OpenRemote 提供完整的 REST API,基础路径为 /api/v1:
bash# 获取设备列表 curl -X GET https://<your-hostname>/api/v1/things \ -H "Authorization: Bearer <access-token>" # 更新设备属性 curl -X PUT https://<your-hostname>/api/v1/things/<thing-id>/attributes \ -H "Authorization: Bearer <access-token>" \ -H "Content-Type: application/json" \ -d '{"status": "active"}'
bash# 查看所有服务日志 docker-compose logs -f # 查看特定服务日志 docker-compose logs -f manager
bash# 创建数据备份脚本 docker-compose exec -T postgres pg_dump -U openremote openremote > backup.sql
bash# 拉取最新镜像 docker-compose pull # 重启服务 docker-compose up -d
无法访问界面:
docker-compose psdocker-compose logs proxy数据库连接问题:
docker-compose logs postgres设备连接问题:
docker-compose logs mqtt修改 .env 文件:
OR_DATABASE_VENDOR=POSTGRES OR_DATABASE_URL=jdbc:postgresql://external-db:5432/openremote OR_DATABASE_USER=dbuser OR_DATABASE_PASSWORD=dbpassword
在 docker-compose.yml 中注释掉内置数据库服务
./custom/certs 目录OR_SSL_CERTIFICATE=/openremote/custom/certs/cert.pem OR_SSL_PRIVATE_KEY=/openremote/custom/certs/key.pem
对于生产环境的集群部署,请参考官方文档中的 Kubernetes 部署指南。
OpenRemote 采用 Mozilla Public License 2.0 (MPL 2.0) 许可证。有关详细信息,请参阅 LICENSE 文件。
当前稳定版本: 3.3.2
镜像标签:
latest: 最新稳定版3.3: 3.3.x 系列稳定版3.3.2: 特定版本snapshot: 开发快照版 (不稳定)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务