LinuxServer提供的Home Assistant Docker镜像,是一款功能强大的家庭自动化平台,可集中管理智能家居设备,支持数百种设备协议与品牌,通过可视化界面与自动化规则实现场景联动。该镜像基于轻量级架构构建,集成完善的社区插件生态,支持数据持久化与安全更新,帮助用户轻松搭建个性化智能家庭系统,简化部署流程并降低维护成本,打造高效、智能的现代生活体验。
收藏数: 261
下载次数: 3896838
类型:
linuxserver/homeassistantLinuxServer.io 团队致力于提供高质量 Docker 容器,其发布的容器具有以下特点:
该容器基于 Home Assistant Core 构建。Home Assistant 是一款开源家庭自动化工具,强调本地控制与隐私保护,适合运行在树莓派或本地服务器上,由全球爱好者社区支持。
容器通过 Docker manifest 实现多平台支持,拉取 lscr.io/linuxserver/homeassistant:latest 即可自动匹配对应架构。也可通过标签指定特定架构:
| 架构 | 支持状态 | 标签格式 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
容器基于 Home Assistant Core 构建,Web 界面地址为 `[***]
Home Assistant 依赖 zeroconf/mDNS 和 UPnP 协议自动发现网络设备,需使用 --net=host 模式才能确保设备发现功能正常。
若需让 Home Assistant 访问主机蓝牙设备,需:
NET_ADMIN 和 NET_RAW 权限;示例配置:
bash--cap-add=NET_ADMIN --cap-add=NET_RAW -v /run/dbus:/run/dbus:ro
yamlcap_add: - NET_ADMIN - NET_RAW volumes: - /run/dbus:/run/dbus:ro
若主机 dbus 路径不同(如 /var/run/dbus),可映射为 -v /var/run/dbus:/run/dbus:ro。
使用 Ping 集成 需为容器添加 NET_RAW 权限(配置同上)。
可通过 Docker Compose(推荐)或 Docker CLI 启动容器。除标记为“可选”的参数外,其余均为必填项。
yaml--- services: homeassistant: image: lscr.io/linuxserver/homeassistant:latest container_name: homeassistant network_mode: host # 设备发现需用 host 模式 environment: - PUID=1000 # 用户 ID,通过 `id 用户名` 查看 - PGID=1000 # 组 ID,同上 - TZ=Etc/UTC # 时区,如 Asia/Shanghai volumes: - /path/to/homeassistant/data:/config # 本地配置目录映射 ports: - 8123:8123 # 可选,非 host 模式下需手动映射端口 devices: - /path/to/device:/path/to/device # 可选,映射 USB/串口设备 restart: unless-stopped
bashdocker run -d \ --name=homeassistant \ --net=host \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 8123:8123 `# 可选,非 host 模式使用` \ -v /path/to/homeassistant/data:/config \ --device /path/to/device:/path/to/device `# 可选,映射设备` \ --restart unless-stopped \ lscr.io/linuxserver/homeassistant:latest
| 参数 | 作用说明 |
|---|---|
--net=host | 共享主机网络,设备发现必需 |
-p 8123 | Web 界面端口,仅非 host 模式使用 |
-e PUID=1000 | 用户 ID,避免权限问题(通过 id 用户名 获取) |
-e PGID=1000 | 组 ID,同上 |
-e TZ=Etc/UTC | 时区,参考 时区列表 |
-v /config | Home Assistant 配置文件存储路径 |
--device /path/to/device | 映射 USB、串口或 GPIO 设备(可选) |
可通过 FILE__ 前缀从文件加载环境变量,例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable # 从文件 /run/secrets/mysecretvariable 加载 MYVAR
通过 -e UMASK=022 可覆盖容器内服务的默认 umask(权限掩码)。umask 用于限制新文件权限,具体规则参考 umask 说明。
使用卷(-v)时,需确保主机目录所有者与容器内 PUID/PGID 一致,避免权限问题。通过 id 用户名 可查看当前用户的 UID/GID:
bashid 用户名 # 示例输出:uid=1000(用户) gid=1000(用户) 组=1000(用户)
可通过 Docker Mods 扩展容器功能。访问以下链接查看可用 Mods:
容器内 shell 访问:
bashdocker exec -it homeassistant /bin/bash
实时查看日志:
bashdocker logs -f homeassistant
查看容器版本:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' homeassistant
查看镜像版本:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/homeassistant:latest
容器需通过更新镜像并重建来升级应用。
更新镜像:
bashdocker-compose pull # 更新所有镜像 # 或仅更新当前容器:docker-compose pull homeassistant
重启容器:
bashdocker-compose up -d # 重启所有容器 # 或仅重启当前容器:docker-compose up -d homeassistant
清理旧镜像:
bashdocker image prune
拉取新镜像:
bashdocker pull lscr.io/linuxserver/homeassistant:latest
停止并删除旧容器:
bashdocker stop homeassistant && docker rm homeassistant
用原参数重建容器(配置文件在 /config 中,不会丢失):
bash# 重新执行 docker run 命令(同上“Docker CLI”部分)
清理旧镜像:
bashdocker image prune
推荐使用 Diun 接收更新通知,不建议使用自动更新工具。
如需自定义容器,可本地构建:
bashgit clone [***] docker-homeassistant docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/homeassistant:latest .
跨架构构建:需先注册 qemu-static:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
然后指定架构 Dockerfile,例如 -f Dockerfile.aarch64。
uv 替代 pip 管理 Python 包。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务