dustynv/homeassistant-core
容器镜像运行构建
[!NOTE] 感谢@ms1design为Jetson设备移植Home Assistant和Wyoming容器所做的慷慨贡献!
本容器镜像基于Home Assistant Core构建,并进行了少量修改:
HA OS | 容器版 | Core版 | Jetson上的Core版 | Supervised版 | |
|---|---|---|---|---|---|
| 自动化 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 仪表板 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 集成 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 蓝图 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 使用容器 | ✅ | ✅ | ❌ | ✅1 | ✅ |
| 超级管理器 | ✅ | ❌ | ❌ | ❌ | ✅ |
| 插件 | ✅ | ❌ | ❌ | ✅2 | ✅ |
| 备份 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 托管恢复 | ✅ | ❌ | ❌ | ❌ | ✅ |
| 托管系统 | ✅ | ❌ | ❌ | ❌ | ❌ |
docker-compose 示例如果您想使用docker compose在启用cuda的Jetson设备上运行Home Assistant Core 语音助手管道,可在此处找到完整示例docker-compose.yaml。
yamlname: home-assistant-jetson version: "3.9" services: homeassistant: image: dustynv/homeassistant-core:latest-r36.2.0 restart: unless-stopped init: false privileged: true network_mode: host container_name: homeassistant hostname: homeassistant ports: - "8123:8123" volumes: - ha-config:/config - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro volumes: ha-config:
用户界面可通过 [***] 访问(请替换为系统的hostname或IP)。按照向导设置Home Assistant,您也可以参考官方指南。
建议参考官方Home Assistant文档或Jetson研究组在NVIDIA论坛的讨论帖获取帮助。
您可以通过挂载Docker卷来指定Home Assistant Core配置的存储位置。确保保留:/config部分:
sh-v /您的配置路径:/config
Home Assistant可以发现并自动配置网络中的zeroconf/mDNS和UPnP设备及插件。要实现此功能,容器必须使用--net=host创建:
使用docker cli时:
sh--net=host
使用docker-compose.yaml时:
yamlnetwork_mode: host
简而言之: 已禁用,请手动添加...
由于运行Home Assistant Supervisor的需求,同一主机/网络上运行的插件的原生自动发现已被禁用。Supervisor有较深的Debian系统依赖,在此项目中移植过于复杂。
大多数Home Assistant插件基于
bashio构建,因此部分系统覆盖命令已被适配,以在没有Supervisor的情况下运行。
wyoming插件要将本仓库中支持wyoming的插件手动添加到运行中的Home Assistant Core实例,请按照以下步骤操作:
homeassistant.local:8123)。设置 > 设备与服务。添加集成按钮。Wyoming协议。wyoming插件的主机IP地址(如果与Home Assistant运行在同一主机上,使用localhost)。wyoming插件的端口(默认是***)。要让Home Assistant访问主机的蓝牙设备,Home Assistant Core容器需要使用主机上的BlueZ - 为容器添加NET_ADMIN和NET_RAW权限,并将dbus映射为卷,如下例所示以启用蓝牙支持:
使用docker cli时:
sh--cap-add=NET_ADMIN \ --cap-add=NET_RAW \ -v /var/run/dbus:/var/run/dbus:ro
使用docker-compose.yaml时:
yamlcap_add: - NET_ADMIN - NET_RAW volumes: - /var/run/dbus:/var/run/dbus:ro
有问题?您可以通过以下渠道获取帮助:
/r/homeassistantjetson-containers漏洞,请在GitHub提交issue[!NOTE] 本项目由Jetson AI Lab研究组创建。
homeassistant-core:latest | |
|---|---|
| 别名 | homeassistant-core |
| 要求 | L4T ['>=34.1.0'] |
| 依赖项 | build-essential homeassistant-base ffmpeg python:3.12 |
| Dockerfile | Dockerfile |
| 镜像 | dustynv/homeassistant-core:latest-r36.2.0 (2024-04-26, 1.4GB) |
| 说明 | 构建的homeassistant-core wheel文件保存在/usr/src/homeassistant |
homeassistant-core:2024.4.2 | |
|---|---|
| 要求 | L4T ['>=34.1.0'] |
| 依赖项 | build-essential homeassistant-base ffmpeg python:3.12 |
| Dockerfile | Dockerfile |
| 镜像 | dustynv/homeassistant-core:2024.4.2-r35.4.1 (2024-04-09, 6.0GB)dustynv/homeassistant-core:2024.4.2-r36.2.0 (2024-04-09, 1.4GB) |
| 说明 | 构建的homeassistant-core wheel文件保存在/usr/src/homeassistant |
| 仓库/标签 | 日期 | 架构 | 大小 |
|---|---|---|---|
dustynv/homeassistant-core:2024.4.2-r35.4.1 | 2024-04-09 | arm64 | 6.0GB |
dustynv/homeassistant-core:2024.4.2-r36.2.0 | 2024-04-09 | arm64 | 1.4GB |
dustynv/homeassistant-core:latest-r36.2.0 | 2024-04-26 | arm64 | 1.4GB |
dustynv/homeassistant-core:r35.4.1 | 2024-04-10 | arm64 | 6.0GB |
dustynv/homeassistant-core:r36.2.0 | 2024-04-10 | arm64 | 1.4GB |
容器镜像兼容其他次要版本的JetPack/L4T:
• L4T R32.7容器可在其他L4T R32.7版本(JetPack 4.6+)上运行
• L4T R35.x容器可在其他L4T R35.x版本(JetPack 5.1+)上运行
要启动容器,您可以使用jetson-containers run和autotag,或手动编写docker run命令:
bash# 自动拉取或构建兼容的容器镜像 jetson-containers run $(autotag homeassistant-core) # 或显式指定上述镜像之一 jetson-containers run dustynv/homeassistant-core:latest-r36.2.0 # 或使用'docker run'(指定镜像和挂载等) sudo docker run --runtime nvidia -it --rm --network=host dustynv/homeassistant-core:latest-r36.2.0
jetson-containers run会将参数转发给docker run,并添加一些默认值(如--runtime nvidia、挂载/data缓存、检测设备)
autotag会找到与您的JetPack/L4T版本兼容的容器镜像——本地镜像、从仓库拉取的镜像或构建的镜像。
要将主机目录挂载到容器中,使用-v或--volume标志:
bashjetson-containers run -v /主机路径:/容器路径 $(autotag homeassistant-core)
要启动容器运行命令而非交互式shell:
bashjetson-containers run $(autotag homeassistant-core) my_app --abc xyz
您可以传递任何docker run支持的选项,它会在执行前打印完整命令。
如果如上文所示使用autotag,在需要时会提示您构建容器。要手动构建,请先完成系统设置,然后运行:
bashjetson-containers build homeassistant-core
上述依赖项将被构建到容器中,并在构建过程中进行测试。使用--help查看构建选项。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务