Container - HomeAssistant
本页介绍 MikroTik RouterOS 的容器功能,使用户可以直接在路由器上运行 HomeAssistant 之类的服务器。它提供了启用容器模式、配置网络、设置挂载和环境变量,以及获取 HomeAssistant Docker 镜像的分步说明。
容器 - HomeAssistant
RouterOS 中 container 功能的引入使得直接在路由器上运行各种各样的服务器成为可能。对于希望尽量减少网络中设备数量的用户来说,这一点尤其有价值。现在你无需在单独的机器上部署服务器,而是可以将其托管在路由器内部。
在本指南中,我们将演示如何在 RouterOS 上安装并运行 Home‑Assistant 服务器。
Home‑Assistant 是一个广受欢迎的平台,用于从众多传感器收集数据,并为各种 集成 提供广泛支持。
概要
在继续配置之前,请确保你已研究我们的容器指南。此外,请查看免责声明和要求部分,了解所有相关风险以及你可能需要采取的必要步骤。
你可以在链接中找到支持的架构。
在本指南发布时,home-assistant 镜像可用于 ARM64 和 AMD64(CHR 和 x86)设备。
根据 Home Assistant 网站的信息,推荐要求为:
- 2 GB RAM
- 32 GB 存储空间
但我们会尝试在配置更低的设备上运行它。
容器配置
子菜单: /container
note: 需要 container 软件包。
容器模式
启用容器模式:
/system/device-mode/update container=yes
如果在 X86 上使用容器,你需要通过按下复位按钮或冷重启来确认 device-mode。
网络
添加 veth 接口:
/interface/veth/add name=veth2 address=172.19.0.2/24 gateway=172.19.0.1
为容器创建网桥,并将 veth 接口添加到其中:
/interface/bridge/add name=ha
/ip/address/add address=172.19.0.1/24 interface=ha
/interface/bridge/port/add bridge=ha interface=veth2
如果需要 NAT(可选),转发 TCP 8123 端口用于 home-assistant 管理(其中 192.168.88.1 是设备的 LAN IP 地址):
/ip/firewall/nat/add action=dst-nat chain=dstnat dst-address=192.168.88.1 dst-port=8123 protocol=tcp to-addresses=172.19.0.2 to-ports=8123
环境变量和挂载
按照 home-assistant 文档,为配置文件定义挂载(其中 /usb1 是我们的外部 USB 存储文件夹):
/container/mounts/add dst=/config list=ha_config src=/usb1/ha_config
为 home-assistant 创建环境变量:
/container/envs/add key=TZ list=ha_env value=America/Los_Angeles
获取镜像
为简化配置,我们将从外部镜像库获取镜像。
请确保你已相应设置 "Registry URL"、限制 RAM 使用量(如有必要),并为镜像设置一个目录:
/container/config/set registry-url=https://registry-1.docker.io tmpdir=/usb1/pull
拉取 home-assistant 镜像并等待其解压完成:
/container/add remote-image=homeassistant/home-assistant:latest interface=veth2 root-dir=/usb1/ha mountlists=ha_config envlists=ha_env logging=yes
运行命令后,RouterOS 应开始 "extracting"(解压)软件包。检查 "File System" 中新建的文件夹,并使用命令 /container/print 监控容器状态。
启动容器
在你确认容器已添加,并且使用 /container/print 后状态已变为 status=stopped 之后,即可启动它:
/container/start 0
Home-Assistant 设置
打开你常用的 Web 浏览器,通过指定管理端口 ":8123" 访问 Home-Assistant 管理门户:

继续完成设置。更多信息请参阅 Home-Assistant 入门指南。
资源
仅运行 Home Assistant(没有任何负载/流量)就会占用约 300-400 MB 的 RAM:
/system/resource/print
uptime: 4m27s
version: 7.13.3 (stable)
build-time: 2024-01-24 13:16:46
factory-software: 7.10
free-memory: 143.0MiB
total-memory: 448.0MiB