通用 x86-64
安装 Home Assistant Operating System
如果您想轻松开始使用 Home Assistant,或者几乎没有 Linux 经验,请按照本指南操作。
推荐硬件
您需要准备一些东西才能开始安装 Home Assistant。以下链接指向 Ameridroid。如果您不在美国,应该能在您所在国家的网店找到这些物品。
首先,我们推荐 ODROID-N2+,这是驱动我们 Home Assistant Blue 的主板,或者是 ODROID-M1。
如果无法获得,我们也推荐 ODROID-C4。
Home Assistant 套装(美国市场):
套装预装了 Home Assistant。
- ODROID-N2+: 2 GB RAM / 16 GB eMMC
- ODROID-N2+: 4 GB RAM / 64 GB eMMC
- ODROID-M1: 4 GB RAM / 256 GB NVMe / 16 GB µSD 或 16 GB eMMC
- ODROID-M1: 8 GB RAM / 256 GB NVMe / 16 GB µSD 或 16 GB eMMC
- ODROID-M1: 8 GB RAM / 1 TB NVMe / 64 GB eMMC
未预装 Home Assistant 的版本:
相关组件:
这些是联盟链接。我们通过本文中的链接购买可获得佣金。
:::important
前提条件
本指南假设您有一台专用的 PC 专门运行 Home Assistant Operating System。
- 这通常是基于 Intel 或 AMD 的系统。
- 系统必须支持 64 位并能使用 UEFI 启动。
- 最近 10 年生产的大多数系统都支持 UEFI 启动模式。
摘要
- 首先,您需要将 PC 配置为使用 UEFI 启动模式。
- 然后,将 Home Assistant Operating System 磁盘镜像写入您的启动介质。
:::
配置 x86-64 硬件的 BIOS
要启动 Home Assistant OS,BIOS 需要启用 UEFI 启动模式并禁用安全启动。以下截图来自第 7 代 Intel NUC 系统。您的系统上的 BIOS 菜单可能看起来不同,但选项应该仍然存在且命名类似。
-
要进入 BIOS,启动您的 x86-64 硬件并反复按
F2键(在某些系统上可能是Del、F1或F10)。
-
确保启用了 UEFI 启动模式。

-
禁用安全启动。

-
保存更改并退出。
BIOS 配置现已完成。
将 HAOS 写入您的 x86-64 硬件
接下来,您需要将 Home Assistant Operating System 镜像写入启动介质,即您的 x86-64 硬件在运行 Home Assistant 时将从中启动的介质。
HAOS 没有集成的安装程序可以自动写入镜像。您将使用 Ubuntu 的 磁盘 工具或 Balena Etcher 手动写入。
通常,x86-64 启动介质使用内部介质,如 S-ATA 硬盘、S-ATA SSD、M.2 SSD 或不可移动的 eMMC。或者,也可以使用外部介质,如 USB SSD,但不推荐这样做。
要将 HAOS 镜像写入 x86-64 硬件上的启动介质,有 2 种不同的方法:
方法 1(推荐):从 USB 闪存驱动器启动 Ubuntu,并从那里安装 Home Assistant Operating System。它也适用于带有内部硬盘的笔记本电脑和 PC。
方法 2:使用此方法,您直接从常规计算机将 Home Assistant Operating 磁盘镜像写入启动介质。步骤稍微复杂一些。如果您有不可移动的内部介质(例如因为您使用的是笔记本电脑)或没有必要的适配器(例如 USB 转 S-ATA 适配器),请改用方法 1。
方法 1:通过从 USB 闪存驱动器启动 Ubuntu 安装 HAOS
所需材料
- 计算机
- 目标 x86-64 硬件,您要在其上安装 Home Assistant Operating System(HAOS)
- USB 闪存驱动器(USB 拇指驱动器即可,大小应至少为 8 GB)
- 互联网连接
通过 USB 闪存驱动器从 Ubuntu 安装 HAOS
- 注意:此过程将把 Home Assistant Operating System 写入您的设备。
- 这意味着您将丢失所有数据以及之前安装的操作系统。
- 在执行此过程之前备份您的数据。
- 在 USB 闪存驱动器上创建一个实时操作系统:
- 按照 Ubuntu Desktop 说明将 Ubuntu Desktop iso 文件写入 USB 设备。
- 将 USB 闪存驱动器插入您想要运行 Home Assistant 的系统。
- 启动实时操作系统。
- 您可能需要调整启动顺序或使用 F10(可能是不同的 F 键,取决于 BIOS)来选择 USB 闪存驱动器作为启动设备。
- 当提示时,确保选择 试用 Ubuntu。这将在 USB 闪存设备上运行 Ubuntu。
- 然后系统启动 Ubuntu。
- 将您的系统连接到网络并确保它可以访问互联网。
- 在 Ubuntu 中,打开浏览器并打开当前文档页面,以便您可以按照步骤操作。
- 从那里,下载镜像。
- 在 Ubuntu 中,在左下角选择 显示应用程序。
- 在应用程序中,搜索并打开 磁盘 并开始恢复 HAOS 镜像:
- 在 磁盘 中,在左侧选择您要安装 HAOS 的内部磁盘设备。
- 在屏幕顶部,选择三点
菜单并选择 恢复磁盘镜像...。 
- 选择您刚刚下载的镜像。

- 选择 开始恢复...。

- 通过选择 恢复 确认。
- 如果您收到 Error unmounting filesystem 错误消息,说明 target is busy:
- 很可能,您正在内部磁盘上运行 Ubuntu。相反,您需要在您的 USB 驱动器上运行它。
- 返回步骤 3,在启动期间,确保您选择 Try Ubuntu(而不是 Install Ubuntu)。
- 另一个问题可能是实时 Ubuntu 正在使用现有 Linux 安装的 Swap 分区。
- 如果您在要安装 HAOS 的驱动器上看到列出了"Swap"分区,只需选择 Swap 分区,然后按停止按钮卸载它,然后再次尝试恢复操作。
- 在分区概览中,您现在应该看到正在进行的恢复操作。
- Home Assistant Operating System 现在正在安装到您的系统上。

- Home Assistant Operating System 现在正在安装到您的系统上。
- 一旦 Home Assistant Operating System 安装完成,关闭系统。
- Ubuntu 关闭后,移除 USB 闪存驱动器(Ubuntu 会通知您何时可以这样做)。
- 您的 Home Assistant 服务器现已设置完成,您可以开始使用它。
- 要使用它,请按照 启动您的通用 x86-64 中描述的步骤操作。
方法 2:直接从启动介质安装 HAOS
仅在方法 1 对您不起作用时使用此方法。
所需材料
- 计算机
- 目标 x86-64 硬件,您要在其上安装 Home Assistant Operating System(HAOS)
- 启动介质
- 互联网连接
将镜像写入您的启动介质
将镜像写入您的启动介质
-
注意:此过程将把 Home Assistant Operating System 写入您的设备。
- 这意味着您将丢失所有数据以及之前安装的操作系统。
- 在继续下一步之前备份您的数据。
-
将 Home Assistant 启动介质连接到您的计算机。
如果您使用的是 ODROID-M1,请注意不支持从 NVMe 启动。如果您想从 eMMC 启动,请在安装镜像之前更新固件。
如果您使用的是 Home Assistant Blue 或 ODROID-N2+,您可以直接连接您的设备。
如果您使用的是 ODROID-M1S,您需要按照本指南将您的设备启动到 UMS 模式。
-
下载并启动 Balena Etcher。在 Windows 上您可能需要以管理员权限运行它。
-
将镜像下载到您的计算机。
- 复制镜像的 URL。
- 如果下面有多个链接,确保为您的版本选择正确的链接。
选择并复制 URL 或使用悬停时出现的"复制"按钮。
-
将 URL 粘贴到浏览器中以开始下载。
-
解压您刚刚下载的文件。
-
选择 从文件烧录 并选择您刚刚解压的镜像。
- 不要使用 从 URL 烧录。它在某些系统上不起作用。

- 不要使用 从 URL 烧录。它在某些系统上不起作用。
-
选择目标。

-
选择您要用于安装的启动介质。

-
选择 烧录! 开始写入镜像。
- 如果操作失败,解压 .xz 文件并重试。

- 当 Balena Etcher 完成写入镜像后,您将看到确认信息。

- 如果操作失败,解压 .xz 文件并重试。
启动您的通用 x86-64
-
如果您使用方法 1 进行安装,确保 USB 闪存驱动器已从系统中移除。
-
如果您使用方法 2 进行安装,将启动介质安装到您的 x86-64 硬件中。
- 插入连接到网络和互联网的以太网电缆。
- 注意:需要互联网,因为新安装的 Home Assistant OS 尚未包含所有 Home Assistant 组件。它将在首次启动时下载最新版本的 Home Assistant 核心。
- 打开系统电源。如果您有连接到系统的屏幕,大约一分钟后 Home Assistant 欢迎横幅将出现在控制台中。
如果机器抱怨找不到可启动介质,您可能需要在 BIOS 中指定 EFI 条目。
这可以通过使用实时操作系统(例如 Ubuntu)并运行以下命令来完成(将 <drivename> 替换为 Linux 分配的适当驱动器名称,通常是 sda 或在 NVMe SSD 上是 nvme0n1):
efibootmgr 命令仅在您以 UEFI 模式启动实时操作系统时才有效,因此请确保在此模式下从 USB 闪存驱动器启动。 根据您在提示符下的权限,您可能需要使用 sudo 运行 efibootmgr。
否则,BIOS 可能会为您提供一个添加启动选项的工具,您可以在那里指定 EFI 文件的路径:
-
插入您刚刚创建的启动介质。
-
插入连接到网络和互联网的以太网电缆并打开系统电源。
- 注意:需要互联网,因为新安装的 Home Assistant OS 尚未包含所有 Home Assistant 组件。它将在首次启动时下载最新版本的 Home Assistant 核心。
-
在桌面系统的浏览器中,几分钟内您将能够在 homeassistant.local:8123 访问您的新 Home Assistant。
如果您运行的是较旧的 Windows 版本或有更严格的网络配置,您可能需要在 homeassistant:8123 或 http://X.X.X.X:8123(将 X.X.X.X 替换为您的 IP 地址)访问 Home Assistant。
下载适当的镜像
-
VirtualBox (Intel 芯片) (.vdi)
-
VirtualBox (Apple Silicon 芯片) (.vmdk)
-
KVM (.qcow2)
-
KVM/Proxmox (.qcow2)
-
VMware ESXi/vSphere (.ova)
-
VMware Workstation (.vmdk)
-
Hyper-V (.vhdx)
下载后,解压镜像。如果镜像是 ZIP 文件,例如,解压它。
如果您已经在运行支持的虚拟机管理程序,请按照本指南操作。如果您不熟悉虚拟机,请直接在 Home Assistant Yellow、树莓派 或 ODROID 上安装 Home Assistant OS。
- 如果您的 Mac 不支持 VirtualBox,并且您有使用虚拟机的经验,您可以尝试在 UTM 上运行 Home Assistant Operating System。
创建虚拟机
将设备镜像加载到您的虚拟机管理程序中。(注意:您可以自由地为 VM 分配任意多的资源,请根据您的应用需求分配足够的资源)。
最低推荐配置:
- 2 GB RAM
- 2vCPU
如果您的使用需要更多资源,所有这些都可以扩展。
管理程序特定配置
VirtualBox
bash
VBoxManage storageattach
Unraid
- 下载上面的 .qcow2 镜像并解压。(Windows 中为 Extract all) 2. 将镜像存储在您服务器上的 isos 共享中。 3. 确保在 Settings > VM manager 下,Enable VMs 已启用。 4. 创建一个新的虚拟机:VMS > Add VM。 5. 选择类型 Linux 并给 VM 一个名称和描述。 6. 选择您想让 VM 使用的 CPU 核心并给它一些内存。 7. 在 Primary vDisk Location 下,选择 Manual,然后选择 qcow2 镜像。 8. 在 VM Console Keyboard 下选择您的键盘语言。 9. 在 Network Source 下选择 br0。 10. 在 Network model 下选择 virtio。 11. 选择任何您想透传给 Home Assistant 的 USB 设备,例如 Zigbee 或 Z-Wave 控制器。 12. 取消选择 Start VM after creation。 13. 选择 Create。 14. 选择您新 VM 的名称并选择磁盘的容量数字。在这里,您可以将磁盘扩展到您需要的任何大小。默认值为 32 GB。 15. 选择您新 VM 的图标并选择 start with console (VNC)。
KVM (virt-manager)
- 在
virt-manager中创建一个新的虚拟机。 2. 选择 Import existing disk image,提供上面 QCOW2 镜像的路径。 3. 为操作系统选择 Generic Default。 4. 勾选 Customize configuration before install 复选框。 5. 在 Network Selection 下,选择您的网桥。 6. 在自定义下选择 Overview > Firmware > UEFI x86_64: ...。确保选择非安全启动版本的 OVMF(不包含secure、secboot等词),例如/usr/share/edk2/ovmf/OVMF_CODE.fd。 7. 选择 Add Hardware(左下角),然后选择 Channel。 8. 选择设备类型:unix。 9. 选择名称:org.qemu.guest_agent.0。 10. 最后,选择 Begin Installation(左上角)。
KVM (virt-install)
启动您的虚拟机
- 启动虚拟机。
- 观察 Home Assistant Operating System 的启动过程。
- 完成后,您将能够在 homeassistant.local:8123 访问 Home Assistant。如果您运行的是较旧的 Windows 版本或有更严格的网络配置,您可能需要在 homeassistant:8123 或
http://X.X.X.X:8123(将 X.X.X.X 替换为您虚拟机的 IP 地址)访问 Home Assistant。
Home Assistant Operating System 已安装并可访问,您可以继续进行入门设置。
刷写 ODROID-N2+
可以通过板前部的 USB-OTG 连接将 Home Assistant 直接刷写到 ODROID-N2+,将设备直接连接到您的计算机。该设备包含 Petitboot 引导加载程序,这使得 ODROID-N2+ 存储显示为就像它是一个 USB 驱动器一样。
所有这些说明对 ODROID-N2(非 plus 版本)同样适用。
您将需要什么
要使用 Petitboot 和 OTG-USB 刷写您的 eMMC,您需要以下物品:
- HDMI 电缆和显示器
- USB 键盘
- USB 2.0 转 micro-USB 电缆
- 如果您的主板是 Home Assistant Blue 套装:No.2 六角扳手用于打开外壳
启用 SPI 启动模式
要启用 SPI 启动模式:
-
通过拔掉电源线关闭 ODROID-N2+。
-
移除外壳。

-
找到启动模式切换开关并将其从 MMC 切换到 SPI。

-
通过位于板前部的 USB-OTG 端口将 ODROID-N2+ 直接连接到您的计算机。
-
将 USB 键盘和显示器(使用 HDMI)连接到您的 ODROID-N2+。
-
插入电源线以启动 ODROID-N2+。
启用 USB 驱动器模式
当 ODROID-N2+ 设置为 SPI 启动模式并通电后,它会启动到终端。要启用 USB 驱动器模式:
-
从菜单中选择
Exit to shell。
使用命令行时,它可能会返回以下消息:
can't access tty; job control turned off.
您可以安全地忽略此消息并继续安装
-
在控制台使用以下命令确认存储设备节点:
-
使用
ums命令将 ODROID-N2+ 上的存储设备设置为海量存储设备(USB 大容量存储模式)。 这将配置 ODROID-N2+ 和 OTG 作为存储卡读取器:
刷写 Home Assistant
-
通过 ODROID-N2+ 前部的 micro-USB 端口将 ODROID-N2+ 连接到您的 PC。
-
当 ODROID-N2 被识别为 USB 连接的存储设备时,您可以使用 Etcher 刷写 eMMC。
- 使用 ODROID-N2+ 的最新稳定版 Home Assistant OS(haos_odroid-n2-.img.xz)。
- 在 Balena 中,使用 Flash from file。Flash from URL 在所有系统上都不起作用。
-
当刷写过程完成时,从您的 PC 断开 ODROID-N2+。
- 移除电源线。
- 移除 USB 和 HDMI 电缆。
- 确保将启动模式开关切换回 MMC。
-
将 ODROID 放回外壳中。
-
用以太网电缆将您的 ODROID-N2+ 连接到网络,确保有互联网访问,然后插入电源。
-
如果您的路由器支持 mDNS,您可以在
http://homeassistant.local:8123访问您的安装。- 如果您的网络不支持 mDNS,您必须使用 ODROID-N2+ 的 IP 地址而不是
homeassistant.local。例如,http://192.168.0.9:8123。 - 您应该能够从路由器的管理界面找到 ODROID-N2+ 的 IP 地址。
- 如果您的网络不支持 mDNS,您必须使用 ODROID-N2+ 的 IP 地址而不是
-
继续入门设置。
刷写 ODROID-M1S
可以通过板前部的 USB-OTG 连接将 Home Assistant 刷写到 ODROID-M1S,将设备直接连接到您的计算机。 与其他 ODROID 板不同,M1S 没有可选 eMMC 模块的插槽。它也没有单独的闪存芯片来容纳专用的引导加载程序。 相反,M1S 有一个内置的 64 GB eMMC 直接焊接在板上,默认情况下容纳引导加载程序。本指南将向您展示如何将 Home Assistant Operating System 安装到内置 eMMC。
警告: 安装 Home Assistant OS 会将 eMMC 上的固件和 SPL 替换为 Home Assistant OS 提供的主流版本。因此,不再可能使用带有 EMMC2UMS 镜像的 SD 卡,因为主流 SPL 目前(2024 年 2 月)与 EMMC2UMS 镜像中的 U-Boot 不兼容。这对标准使用没有任何问题,只是如果您想返回 Hardkernel 提供的操作系统会更复杂(参见 HK 恢复)。
您将需要什么
要使用 USB-OTG 刷写您的 eMMC,您需要以下物品:
- 一张小型 SD 卡
- 另一台计算机
- USB 2.0 转 micro-USB 电缆
- 特殊的 Hardkernel eMMC-to-USB-mass-storage 镜像
启动到大容量存储模式
(这些步骤与官方 Hardkernel wiki 页面相同。)
- 下载 ODROID-M1S_EMMC2UMS.img。
- 使用 balena Etcher 或其他工具将 UMS 实用程序刷写到 SD 卡上。
- 使用 Flash from file。Flash from URL 在所有系统上都不起作用。 (balena Etcher 会抱怨刷写过程中出了问题。您可以忽略此消息)
- 将该 SD 卡插入您的 ODROID-M1S 并启动它。
刷写 Home Assistant M1S
- 下载 ODROID-M1S 的最新稳定版 Home Assistant OS。
- 除了要刷写的 HAOS 镜像(M1S 而不是 N2+ 版本)外,您可以按照这里的 N2+ 分步刷写指南操作。
HK 恢复
如果您想将 M1S 恢复到 Hardkernel 的初始状态,您必须恢复 HK 的引导加载程序。 重新刷写 eMMC 与您选择的操作系统的可靠方法是使用 Home Assistant OS 刷写 EMMC2UMS 镜像,这将 ODROID-M1S 转换为 USB 大容量存储设备。刷写 EMMC2UMS 镜像后,您可以再次刷写任何操作系统。您需要一根 micro USB 电缆将 ODROID-M1S 连接到 PC。
注意:此命令将导致您当前的 Home Assistant OS 安装无法启动!
使用本地终端(HDMI/键盘)访问系统控制台。在 Home Assistant CLI(命令行)上,输入 login 进入 root shell 并使用 curl 下载镜像并使用 dd 将其写入 eMMC 块设备:
这样,设备将在下次启动时以移除 SD 卡后的 UMS 模式启动。按照从 PC 通过 USB 安装安装不同的操作系统。
安装 Home Assistant Container
以下说明用于在您自己管理的容器环境中安装运行 Home Assistant Container。任何 OCI 兼容的运行时都可以使用,但本指南将重点介绍使用 Docker 进行安装。
此安装类型无法访问应用。如果您想使用应用,您需要使用其他安装类型。推荐的类型是 Home Assistant Operating System。查看安装类型概览表了解差异。
:::important
前提条件 本指南假设您已经设置了操作系统并安装了容器运行时(如 Docker)。
如果您使用 Docker,需要 Docker Engine 23.0.0 或更高版本。Docker Desktop 不起作用;您必须使用 Docker Engine。
:::
平台安装
使用 Docker 安装很简单。调整以下命令:
-
/PATH_TO_YOUR_CONFIG指向您要存储配置的文件夹并运行它。确保保留:/config部分。 -
MY_TIME_ZONE是 tz 数据库名称,如TZ=America/Los_Angeles。 -
D-Bus 是可选的,但如果您计划使用蓝牙集成则是必需的。
Synology NAS
带有 DSM 的 Synology 现在通过容器管理器包支持容器管理,允许您安装 Home Assistant 而无需使用命令行。有关该包的详细信息(包括兼容性信息,如果您的 NAS 受支持),请参阅 https://www.synology.com/en-us/dsm/packages/ContainerManager。 步骤如下:
- 使用 Synology 的套件中心,安装 Container Manager 套件。
- 启动容器管理器应用并导航到 Registry 部分。
- 在注册表页面上,搜索
homeassistant/home-assistant并选择 Download。选择 stable 标签。 - 等待镜像被拉取。
- 导航到容器管理器应用的 Image 部分。
- 选择
homeassistant/home-assistant镜像并选择 Run。 - 在 General Settings 页面上:
- 选择您想要的容器名称(例如,
homeassistant)。 - 如果您愿意,设置 Enable auto-restart。
- 选择 Next。
- 选择您想要的容器名称(例如,
- 在 Advanced Settings 页面上:
- 在 Volume Settings 部分,选择 Add Folder 并选择现有文件夹或添加新文件夹(例如,在
docker共享文件夹中,添加一个名为homeassistant的新文件夹,然后在该新文件夹中添加另一个新文件夹config),然后选择 Select。然后将 Mount path 编辑为/config,权限设置为 Read/Write。这配置了 Home Assistant 存储配置和日志的位置。 - 为确保 Home Assistant 显示正确的时区,在 Environment 部分,选择 Add 按钮,在 Variable 字段中添加
TZ,在值中添加您的时区(例如,Europe/London)。时区可以在这里找到。 - 在 Network 部分,将网络下拉菜单设置为
host。
- 在 Volume Settings 部分,选择 Add Folder 并选择现有文件夹或添加新文件夹(例如,在
- 选择 Next。
- 确保选中 Run this container after the wizard is finished 并选择 Done。
- 您在 Docker 中的 Home Assistant 现在应该运行,并将从 Docker 主机上的端口 8123 提供 Web 界面(这将是您的 Synology NAS IP 地址 - 例如
http://192.168.1.10:8123)。
如果您使用内置防火墙,您还必须将端口 8123 添加到允许列表。这可以在 Control Panel > Security 然后是 Firewall 选项卡中找到。选择 Firewall Profile 下拉框旁边的 Edit Rules。创建一个新规则并为端口选择 Custom 并添加 8123。如果您愿意可以编辑源 IP 或保留默认的 All。操作应保持为 Allow。
要使用 Z-Wave USB 适配器进行 Z-Wave 控制,HA Docker 容器需要额外配置才能访问 USB 适配器。虽然有多种方法可以做到这一点,但在撰写本文时,授予访问权限的最少特权方式只能通过终端执行。有关配置 Synology NAS 的终端访问,请参阅此页面:
https://www.synology.com/en-global/knowledgebase/DSM/help/DSM/AdminCenter/system_terminal
按如下方式调整终端命令:
- 将
/PATH_TO_YOUR_CONFIG替换为指向您要存储配置的文件夹 - 确保保留:/config部分 - 将
/PATH_TO_YOUR_USB_STICK替换为与您的 USB 适配器路径匹配(例如,大多数 Synology 用户为/dev/ttyACM0) - 将
Australia/Melbourne替换为您的时区
在终端中运行它。
通过按照此处的说明完成其余的 Z-Wave 配置。
备注:要在 Synology NAS 上的 Docker 中更新您的 Home Assistant,您只需执行以下操作:
- 转到 Container Manager 应用并移至 Image 部分。
- 在 Image 中找到
homeassistant/home-assistant并选择 Update。 - 等待系统消息/通知弹出,显示下载已完成(没有进度条)。
- 移至 Container 部分。
- 如果容器正在运行,停止它。
- 右键单击它并选择 Action > Reset。您不会丢失任何数据,因为所有文件都存储在您的配置目录中。
- 再次启动容器 - 它将使用新的 Home Assistant 镜像启动。
备注:要在 Synology NAS 中重启您的 Home Assistant,您只需执行以下操作:
- 转到 Container Manager 应用并移至 Container 部分。
- 右键单击它并选择 Action > Restart。
如果您想在 Synology Docker 上的 Home Assistant 中使用 USB 蓝牙适配器或 Z-Wave USB 适配器,这些说明没有正确配置容器以访问 USB 设备。要在 Synology Docker Home Assistant 上配置这些设备,您可以按照 Phil Hawthorne 提供的说明操作。
QNAP NAS
带有 QTS 的 QNAP 支持 Docker,允许您使用 Docker 安装 Home Assistant 而无需命令行。有关该包的详细信息(包括兼容性信息,如果您的 NAS 受支持),请参阅 https://www.qnap.com/solution/container_station/en/index.php。
步骤如下:
- 在您的 Qnap NAS 上安装 Container Station 包。
- 启动容器站并移至 Create Container 部分。
- 使用 Docker Hub 搜索镜像
homeassistant/home-assistant并选择 Install。 - 选择 stable 版本并选择 Next。
- 选择您想要的容器名称(例如,
homeassistant)。 - 选择 Advanced Settings。
- 在 Shared Folders 中选择 Volume from host > Add 并选择现有文件夹或添加新文件夹。挂载点必须是
/config,以便 Home Assistant 将其用于配置和日志。 - 在 Network 中选择网络模式为 Host。
- 为确保 Home Assistant 显示正确的时区,转到 Environment 选项卡并选择加号,然后添加
variable=TZ和value=Europe/London,选择您的正确时区。 - 选择 Create。
- 等待一段时间,直到您的 NAS 创建容器。
- 您在 Docker 中的 Home Assistant 现在应该运行,并将从 Docker 主机上的端口 8123 提供 Web 界面(这将是您的 Qnap NAS IP 地址 - 例如
http://192.xxx.xxx.xxx:8123)。
备注:要在 Qnap NAS 上的 Docker 中更新您的 Home Assistant,您只需删除容器和镜像并再次执行步骤(不要删除 config 文件夹)。
社区说明
请注意,一些用户报告了在 ARM QNAP 系统(例如 TS-233)上使用容器站 3 创建 Home Assistant 容器的问题。一个可能的解决方法是基于 YAML 文件的 Docker compose 方法(参见 Docker compose 部分)。在 QNAP 容器站 3 UI 中,可以通过转到 Applications 部分并选择 Create 来访问。然后会提示您输入 YAML 代码,可以从 Docker compose 部分显示的代码复制。注意以两种方式修改此代码:首先,添加一行 version: '3';其次,将文本 /PATH_TO_YOUR_CONFIG 替换为 NAS 系统上的有效路径,例如 /share/Container/HomeAssistant/config。
安装
一旦 Home Assistant 容器运行,Home Assistant 应该可以使用 http://<host>:8123 访问(将
重启 Home Assistant
如果您更改配置,您必须重启服务器。有 3 个选项可以做到这一点。
- 在您的 Home Assistant UI 中,转到 Settings > System 并在右上角选择三点
菜单。然后,选择 Restart Home Assistant。 - 转到 Settings > Developer Tools > Actions,选择
homeassistant.restart并选择 Perform Action。 - 从终端重启它。
Docker CLI
Docker compose
随着 Docker 命令变得越来越复杂,切换到 docker compose 可能更可取,并支持在失败或系统重启时自动重启。创建一个 compose.yaml 文件:
通过运行启动它:
一旦 Home Assistant 容器运行,Home Assistant 应该可以使用 http://<host>:8123 访问(将
暴露设备
为了使用 Zigbee 或其他需要访问设备的集成,您需要将适当的设备映射到容器中。确保运行容器的用户具有访问 /dev/tty* 文件的正确权限,然后将设备映射添加到您的容器说明中:
Docker CLI
优化
Home Assistant 容器使用替代内存分配库 jemalloc 以获得更好的内存管理和 Python 运行时加速。
由于使用的 jemalloc 配置可能在某些具有大于 4K 页大小的硬件上引起问题(如某些特定的 ARM64 SoC),可以通过传递环境变量 DISABLE_JEMALLOC 与任何值来禁用它,例如:
Docker CLI
错误消息 <jemalloc>: Unsupported system page size 是一个已知的指示器。

