LXC Home Assistant
约 1789 字大约 6 分钟
2026-08-27
一句话摘要:在 Proxmox VE 上使用 LXC 容器部署 Home Assistant,相比虚拟机方式更轻量、性能更好。
背景与动机
Home Assistant 是流行的开源智能家居平台,在 Proxmox VE 上部署有多种方式:
- 虚拟机(VM):运行完整的 Home Assistant OS,资源占用较高
- LXC 容器:运行 Home Assistant Container,轻量高效,资源占用低 70%+
为什么选择 LXC 容器?
- 资源占用低(内存约 300MB,CPU 占用极少)
- 启动速度快(几秒内启动)
- 备份恢复简单
- 可以直接访问宿主机硬件(USB 设备直通更简单)
适合人群:有 Proxmox VE 基础,追求轻量化部署的用户。
安装前准备
系统要求
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 内存 | 1GB | 2GB+ |
| 存储 | 8GB | 16GB+ |
| CPU | 1 核 | 2 核+ |
前置条件
- 已安装 Proxmox VE 7.0 或更高版本
- 有网络连接(需下载镜像和脚本)
- 有足够的存储空间
方法一:使用 tteck 脚本(推荐)
tteck 的 Proxmox VE Helper Scripts 是社区广泛使用的脚本集合,可以一键部署 Home Assistant。
执行安装脚本
在 PVE 的 Shell 中执行:
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant.sh)"或者使用 curl:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/tteck/Proxmox/main/ct/homeassistant.sh)"脚本交互选项
脚本会提示选择:
- 容器类型:选择
Home Assistant Container - 存储位置:选择 local-lvm 或其他存储
- 容器 ID:默认或自定义(如 100)
- 主机名:如
homeassistant - CPU 核心数:建议 2 核
- 内存大小:建议 2048MB
- 网络配置:默认 DHCP 或静态 IP
- 是否安装 HACS:推荐安装(Home Assistant 社区商店)
- 是否安装文件管理器:推荐安装(方便管理配置文件)
安装进度
脚本会自动完成:
- 下载 Debian 基础镜像
- 创建 LXC 容器
- 安装 Docker 和 Docker Compose
- 部署 Home Assistant Container
- 安装可选组件(HACS、文件管理器等)
整个过程约 5-10 分钟。
方法二:手动创建容器
如果你希望完全控制安装过程,可以手动创建。
创建 LXC 容器
- 下载 Debian 模板:
pveam download local debian-12-standard_12.2-1_amd64.tar.zst- 创建容器(命令行方式):
pct create 100 local:vztmpl/debian-12-standard_12.2-1_amd64.tar.zst \
--hostname homeassistant \
--memory 2048 \
--cores 2 \
--rootfs local-lvm:8 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--unprivileged 1 \
--features nesting=1,keyctl=1或者通过 Web UI 创建:
- 点击「创建 CT」
- 选择 Debian 12 模板
- 设置 2 核 CPU、2GB 内存
- 网络选择 DHCP 或静态 IP
- 关键:在「选项」中启用
nesting和keyctl
启动并进入容器
# 启动容器
pct start 100
# 进入容器 Shell
pct enter 100安装 Docker
在容器内执行:
# 更新系统
apt update && apt upgrade -y
# 安装必要工具
apt install -y curl wget
# 安装 Docker
curl -fsSL https://get.docker.com | sh
# 启动 Docker 服务
systemctl enable --now docker部署 Home Assistant
创建目录和配置:
# 创建配置目录
mkdir -p /opt/homeassistant/config
# 创建 docker-compose.yml
cat > /opt/homeassistant/docker-compose.yml << 'EOF'
version: '3'
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
volumes:
- ./config:/config
environment:
- TZ=Asia/Shanghai
restart: unless-stopped
privileged: true
network_mode: host
EOF
# 启动服务
cd /opt/homeassistant
docker compose up -d验证安装
查看容器状态:
docker ps看到 homeassistant 容器运行中即成功。
配置与优化
访问 Web 界面
安装完成后,通过浏览器访问:
http://容器IP:8123首次访问会进入初始化向导,设置用户名和密码。
安装 HACS
如果安装时未选择 HACS,可以手动安装:
# 进入容器
pct enter 100
# 下载并安装 HACS
wget -O - https://get.hacs.xyz | bash -然后在 Home Assistant 中:
- 进入「设置」→「设备与服务」
- 点击「添加集成」
- 搜索「HACS」并添加
配置 USB 设备直通
如果需要接入 Zigbee 棒、蓝牙适配器等:
- 查看设备信息(在 PVE Shell 中):
ls -l /dev/serial/by-id/- 编辑容器配置:
nano /etc/pve/lxc/100.conf- 添加设备直通:
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file或者使用更简单的自动挂载:
lxc.autodev: 1
lxc.cgroup2.devices.allow: a
lxc.cgroup2.devices.deny: c 10:1 rwm- 重启容器:
pct reboot 100配置静态 IP
编辑容器配置文件:
nano /etc/pve/lxc/100.conf修改网络配置:
net0: name=eth0,bridge=vmbr0,ip=192.168.1.100/24,gw=192.168.1.1或者在容器内修改:
nano /etc/network/interfacesauto eth0
iface eth0 inet static
address 192.168.1.100/24
gateway 192.168.1.1
dns-nameservers 192.168.1.1常见坑点与解决方案
1. 容器无法启动 Docker
现象:Docker 服务启动失败,提示权限错误。
原因:LXC 容器默认是 unprivileged 模式,需要启用特定功能。
解决方案:编辑容器配置,添加:
features: nesting=1,keyctl=12. Home Assistant 无法访问宿主机网络
现象:无法发现局域网设备,集成无法连接。
原因:容器网络隔离或防火墙问题。
解决方案:
- 使用
network_mode: host(已在 docker-compose.yml 中配置) - 或者在 PVE 防火墙中放行相关端口
3. USB 设备权限不足
现象:Zigbee 棒等设备无法识别。
原因:容器缺少设备访问权限。
解决方案:
# 方法1:添加到 dialout 组(容器内)
usermod -aG dialout root
# 方法2:使用设备直通(见上文配置)4. HACS 下载失败
现象:HACS 仓库无法下载。
原因:网络问题(GitHub 访问不稳定)。
解决方案:
- 配置代理或使用镜像
- 手动下载 HACS release 并解压到
/config/custom_components/hacs
5. 内存占用过高
现象:容器内存占用超过预期。
原因:Home Assistant 数据库过大或集成内存泄漏。
解决方案:
# 在 configuration.yaml 中配置记录器
recorder:
purge_keep_days: 5
exclude:
entity_globs:
- sensor.*备份与恢复
备份容器
在 PVE Shell 中:
# 备份容器
vzdump 100 --compress zstd --mode stop --storage local --filename homeassistant-backup或通过 Web UI:「选中容器」→「备份」→「立即备份」
恢复容器
# 恢复容器
pct restore 101 /var/lib/vz/dump/homeassistant-backup.tar.zst --storage local-lvm仅备份配置
如果只备份 Home Assistant 配置:
# 在容器内执行
cd /opt/homeassistant
tar -czf /tmp/ha-config-backup.tar.gz config/
# 复制到 PVE 宿主机
pct pull 100 /tmp/ha-config-backup.tar.gz /root/ha-config-backup.tar.gz性能对比
| 指标 | LXC 容器 | HAOS 虚拟机 |
|---|---|---|
| 内存占用 | ~300MB | ~1GB+ |
| 启动时间 | 5-10s | 30-60s |
| 磁盘占用 | ~2GB | ~8GB |
| CPU 占用 | 低 | 中等 |
| 备份大小 | 小 | 大 |
总结
在 PVE 上使用 LXC 容器部署 Home Assistant 是轻量化、高效率的方案:
- 资源占用低,适合硬件性能有限的场景
- 配置灵活,可以自定义安装组件
- 备份恢复简单,维护成本低
- USB 设备直通比虚拟机更方便
核心要点回顾:
- 使用 tteck 脚本可以一键完成安装
- 记得启用
nesting和keyctl功能 - 使用
network_mode: host解决网络发现问题 - 配置 USB 直通时注意设备权限
- 定期备份配置文件
下一步建议:
- 安装 HACS 扩展功能
- 配置 MQTT 服务器连接
- 接入 Zigbee/蓝牙设备
- 配置自动化场景
参考资源
版本记录:v1.0 | 更新于 2026-08-27 | 适用于 Proxmox VE 8.x
