
buanet/iobroker新的主要镜像版本(如v6、v7、v8)通常包含Node.js的新主要版本!尽管js-controller应能很好地处理此类升级,但在某些情况下,部分适配器可能仍会出现问题。为避免主要版本升级带来的麻烦,建议始终通过备份和恢复过程手动升级容器。有关详细信息,请参阅ioBroker Docker镜像文档的维护部分。
强烈建议生产环境不要使用latest标签,尤其是在使用watchtower等自动更新工具时。请改用latest-v[major_version]标签。
v11.0.0、latest-v11、latestv10.0.0、latest-v10、latestioBroker是一个用JavaScript编写的开源IoT平台,可轻松连接不同厂商的智能家居组件。借助插件(称为"适配器"),ioBroker能够使用不同协议和API与多种IoT硬件和服务通信。
所有数据存储在中央数据库中,所有适配器均可访问。这使得构建逻辑连接、自动化脚本和美观的可视化变得非常简单。
更多详情请访问iobroker.net。
要快速在Docker中试用ioBroker,只需运行:
docker run -p 8081:8081 --name iobroker -h iobroker buanet/iobroker
注意:
删除或重建容器时,所有数据和设置都将丢失。生产环境请务必使用持久化存储(见下文)。
对于持久化的生产环境配置,使用Docker Compose并挂载数据卷:
yamlservices: iobroker: container_name: iobroker image: buanet/iobroker hostname: iobroker restart: always ports: - "8081:8081" volumes: - iobrokerdata:/opt/iobroker environment: - TZ=Europe/Berlin volumes: iobrokerdata:
提示:
根据使用的适配器,可能需要暴露额外端口或使用不同网络模式(如network_mode: host)。
详见网络注意事项。
要保留ioBroker配置和数据,请始终将卷或路径挂载到/opt/iobroker:
命令行:
-v iobrokerdata:/opt/iobroker
Docker Compose:
yamlvolumes: - iobrokerdata:/opt/iobroker
可使用环境变量在启动时自动配置ioBroker容器。
IOB_ADMINPORT(可选,默认:8081)– 设置ioBroker管理界面端口IOB_BACKITUP_EXTDB(可选)– 设置为true以启用Backitup适配器中的外部数据库备份(见文档)IOB_MULTIHOST(可选)– 设置为"master"或"slave"以支持多主机模式(需要为objectsdb和statesdb配置额外参数)IOB_OBJECTSDB_TYPE(可选,默认:jsonl)– 对象数据库类型:"jsonl"、"file"(已弃用)或"redis"IOB_OBJECTSDB_HOST(可选,默认:127.0.0.1)– 对象数据库主机(Redis Sentinel用逗号分隔多个主机)IOB_OBJECTSDB_PORT(可选,默认:9001)– 对象数据库端口(Redis Sentinel用逗号分隔多个端口)IOB_OBJECTSDB_PASS(可选)– Redis数据库密码IOB_OBJECTSDB_NAME(可选,默认:mymaster)– Redis Sentinel数据库名称IOB_STATESDB_TYPE(可选,默认:jsonl)– 状态数据库类型:"jsonl"、"file"(已弃用)或"redis"IOB_STATESDB_HOST(可选,默认:127.0.0.1)– 状态数据库主机(Redis Sentinel用逗号分隔多个主机)IOB_STATESDB_PORT(可选,默认:9000)– 状态数据库端口(Redis Sentinel用逗号分隔多个端口)IOB_STATESDB_PASS(可选)– Redis数据库密码IOB_STATESDB_NAME(可选,默认:mymaster)– Redis Sentinel数据库名称AVAHI(可选)– 设置为true以安装并激活avahi-daemon(支持yahka适配器)DEBUG(可选)– 设置为true以启用容器启动时的扩展日志LANG(可选,默认:de_DE.UTF-8)– 预生成支持:de_DE.UTF-8、en_US.UTF-8LANGUAGE(可选,默认:de_DE:de)– 预生成支持:de_DE:de、en_US:enLC_ALL(可选,默认:de_DE.UTF-8)– 预生成支持:de_DE.UTF-8、en_US.UTF-8OFFLINE_MODE(可选)– 设置为true以适应无网络或网络受限的容器环境PACKAGES(可选)– 安装额外Linux软件包(空格分隔的列表)PACKAGES_UPDATE(可选)– 设置为true以在首次启动时更新Linux软件包PERMISSION_CHECK(可选,默认:true)– 设置为"false"以跳过权限检查/修正(风险自负)SETGID(默认:1000)– 设置iobroker用户的GID(以匹配主机上的组)SETUID(默认:1000)– 设置iobroker用户的UID(以匹配主机上的用户)TZ(可选,默认:Europe/Berlin)– 设置时区(任何有效的Linux时区)USBDEVICES(可选)– 设置挂载设备的权限(如/dev/ttyACM0,多个设备用";"分隔)上述示例使用Docker的默认桥接网络。在许多情况下,使用用户定义的桥接网络更好。
详见Docker文档:桥接网络差异。
大多数适配器在映射所有所需端口后可使用桥接网络。
但部分适配器需要多播或广播)进行设备发现。
此时,可考虑使用host或MACVLAN网络。
更多信息见Docker官方网络文档。
如果您喜欢我们的项目,请在仓库上点赞并加入我们不断成长的社区。
期待您的加入。 :)
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务