Debian 12 使用 Linuxdeploy 安装 Home Assistant 完整命令
侧边栏壁纸
  • 累计撰写 27 篇文章
  • 累计收到 1 条评论

Debian 12 使用 Linuxdeploy 安装 Home Assistant 完整命令

xiayikechun
2026-02-22 / 0 评论 / 2 阅读 / 正在检测是否收录...
# 创建密钥目录并下载 GPG 密钥
mkdir -p /etc/apt/keyrings
wget -O /etc/apt/keyrings/deb-pascalroeleven.gpg https://pascalroeleven.nl/deb-pascalroeleven.gpg
# 配置 APT 软件源
cat <<EOF | sudo tee /etc/apt/sources.list.d/pascalroeleven.sources
Types: deb
URIs: http://deb.pascalroeleven.nl/python3.13
Suites: bookworm-backports
Components: main
Signed-By: /etc/apt/keyrings/deb-pascalroeleven.gpg
EOF
# 更新源并安装 Python3.13
sudo apt update
sudo apt install python3.13 python3.13-venv python3.13-dev -y
# 安装编译依赖库
sudo apt install -y autoconf libssl-dev libxml2-dev libxslt1-dev libjpeg-dev libffi-dev libudev-dev zlib1g-dev pkg-config build-essential ffmpeg
# 创建 Home Assistant 专用系统用户
sudo useradd -r -s /usr/sbin/nologin -m -U -d /opt/homeassistant homeassistant
# 设置目录权限
sudo chown -R homeassistant:homeassistant /opt/homeassistant

# 切换至 homeassistant 用户
sudo -u homeassistant -s /bin/bash

# 进入安装目录
cd /opt/homeassistant
# 创建 Python 虚拟环境
python3.13 -m venv venv

# 激活虚拟环境
source venv/bin/activate
# 升级 pip 等基础工具(清华源)
pip install --upgrade pip wheel setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple

# 安装 Home Assistant
pip install homeassistant -i https://pypi.tuna.tsinghua.edu.cn/simple

# 安装指定版本前端
pip install home-assistant-frontend==20260128.6 \
  -i https://pypi.tuna.tsinghua.edu.cn/simple \
  --trusted-host pypi.tuna.tsinghua.edu.cn

# 开机自启脚本
#!/bin/sh
### BEGIN INIT INFO
# Provides:          homeassistant
# Required-Start:    $network $local_fs $syslog
# Required-Stop:     $network $local_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Home Assistant Daemon
### END INIT INFO

# ========================= 修正后的路径 =========================
# 与你 `useradd -d /opt/homeassistant` 保持一致
USER="homeassistant"
# 虚拟环境目录(你创建 venv 的位置)
VENV="/opt/homeassistant"
# 配置目录(HA 会自动在用户家目录生成,即 /opt/homeassistant/.homeassistant)
CONFIG="${VENV}/.homeassistant"
# HASS 可执行文件路径
HASS="${VENV}/venv/bin/hass"
# PID 文件位置
PIDFILE="/var/run/homeassistant.pid"

export PATH="${VENV}/venv/bin:$PATH"

start() {
  echo "Starting Home Assistant..."
  # 修复:确保 PID 目录存在,防止启动失败
  mkdir -p /var/run/homeassistant || true
  chown ${USER}:${USER} /var/run/homeassistant || true

  start-stop-daemon --start --background \
    --chuid ${USER}:${USER} \
    --chdir ${VENV} \
    --make-pidfile --pidfile ${PIDFILE} \
    --exec ${HASS} -- -c ${CONFIG}
}

stop() {
  echo "Stopping Home Assistant..."
  start-stop-daemon --stop --pidfile ${PIDFILE} 2>/dev/null
  rm -f ${PIDFILE}
}

status() {
  if [ -f "${PIDFILE}" ] && pgrep -F "${PIDFILE}" >/dev/null 2>&1; then
    echo "Home Assistant is running"
  else
    echo "Home Assistant is stopped"
  fi
}

case "$1" in
  start)   start ;;
  stop)    stop ;;
  restart) stop; sleep 2; start ;;
  status)  status ;;
  *) echo "Usage: $0 {start|stop|restart|status}" ;;
esac
exit 0
# 2. 编辑新脚本(粘贴上面的内容)
nano /etc/init.d/homeassistant

# 3. 赋予执行权限
chmod +x /etc/init.d/homeassistant

# 4. 重新启动服务
/etc/init.d/homeassistant restart

# 5. 查看状态
/etc/init.d/homeassistant status

参考链接: debian12专用python

0

评论 (0)

取消