|  | 
 
| 使用 Docker 容器安装 1. 安装 Docker
 更新系统:同样,先更新系统软件包。
 
 复制代码sudo apt update
sudo apt upgrade -y
安装 Docker:按照官方文档的指导安装 Docker 和 Docker Compose。
 
 复制代码sudo apt install docker.io docker-compose -y
镜像源网址更改
 复制代码sudo mkdir -p /etc/docker
 sudo tee /etc/docker/daemon.json <<EOF
{
   "registry-mirrors": [
 "https://docker.nju.edu.cn",
        "https://hub.littlediary.cn",
        "https://hub.xdark.top",
        "https://dockerpull.org",
        "https://hub.crdz.gq",
        "https://docker.1panel.live",
        "https://docker.unsee.tech"
    ]
}
EOF
启动并设置开机自启:
 复制代码sudo systemctl daemon-reload
sudo systemctl restart docker
systemctl enable docker
2. 拉取并运行 Home Assistant 镜像
 拉取镜像:从 Docker Hub 拉取 Home Assistant 的官方镜像。
 
 复制代码sudo docker pull homeassistant/home-assistant
Home Assistant 的配置和数据需要持久化存储,避免容器重启后丢失:
 
 复制代码# 在用户目录下创建配置文件夹(推荐)mkdir -p ~/homeassistant/config
# 确保目录权限正确(防止容器权限问题)sudo chmod -R 777 ~/homeassistant/config
 
 运行 Home Assistant 容器
 执行以下命令启动容器:
 
 复制代码sudo docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -v ~/homeassistant/config:/config \
  -v /etc/localtime:/etc/localtime:ro \
  --network=host \
  homeassistant/home-assistant:latest
参数解释:
 -d:后台运行容器。
 --name homeassistant:容器命名为 homeassistant。
 --privileged:授予容器完全硬件访问权限(某些设备如 Zigbee 适配器需要)。
 --restart=unless-stopped:容器自动重启(除非手动停止)。
 -v ~/homeassistant/config:/config:将本地目录映射到容器的配置存储位置。
 -v /etc/localtime:/etc/localtime:ro:同步宿主机时间到容器。
 --network=host:使用宿主机的网络模式(简化设备发现)。
 
 3. 访问 Home Assistant 控制面板
 打开浏览器,输入你的设备 IP + 端口 8123:
 
 
 
 首次启动需等待 1-5 分钟初始化,之后按提示创建账户并配置。
 
 
 
 4. 配置与维护
 配置文件管理:在指定的配置路径下编辑configuration.yaml文件来配置 Home Assistant。
 容器管理:使用docker命令来管理容器,如查看容器状态、停止和启动容器等。
 
 复制代码sudo docker ps  # 查看容器状态
sudo docker stop homeassistant  # 停止容器
sudo docker start homeassistant  # 启动容器
 更新镜像:拉取最新的 Home Assistant 镜像,并重新创建容器以更新到最新版本。
 
 复制代码# 停止并删除旧容器
sudo docker stop homeassistant
sudo docker rm homeassistant
# 拉取最新镜像
sudo docker pull homeassistant/home-assistant:latest
# 重新运行容器(使用原有配置目录)
sudo docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -v ~/homeassistant/config:/config \
  -v /etc/localtime:/etc/localtime:ro \
  --network=host \
  homeassistant/home-assistant:latest
用 iptables 开放端口:
 
 复制代码# 允许 8123 端口sudo iptables -A INPUT -p tcp --dport 8123 -j ACCEPT
# 保存规则(否则重启后失效)sudo apt install iptables-persistent -y sudo netfilter-persistent save
 验证端口是否开放
 
 复制代码# 查看 8123 端口监听状态ss -tunlp | grep 8123
# 或使用 nmap 扫描(需安装 nmap)sudo apt install nmap -y nmap -p 8123 localhost
 
 
 
 
 
 | 
 |