1. 准备工作
- 登录阿里云服务器:使用 SSH 工具(如
ssh
命令)登录到你的阿里云 Linux 服务器。确保服务器已安装并能正常运行,且网络连接正常。 - 更新系统软件包:执行以下命令更新系统软件包到最新版本。
bash
sudo apt update
sudo apt upgrade -y
2. 安装依赖
Home Assistant 是基于 Python 的应用,需要安装 Python 及其相关依赖。
bash
sudo apt install -y python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 tk8.6-dev tcl8.6-dev
3. 创建 Python 虚拟环境
为了隔离 Home Assistant 的依赖,建议创建一个 Python 虚拟环境。
bash
python3 -m venv /srv/homeassistant
source /srv/homeassistant/bin/activate
4. 安装 Home Assistant
在激活的虚拟环境中,使用 pip
安装 Home Assistant。
bash
pip3 install homeassistant
5. 启动 Home Assistant
安装完成后,可以启动 Home Assistant 服务。
bash
hass
首次启动时,Home Assistant 会进行一些初始化操作,可能需要一些时间。启动成功后,你可以通过浏览器访问 http://<你的服务器 IP 地址>:8123
来访问 Home Assistant 的 Web 界面。
6. 配置 Home Assistant 作为系统服务(可选但推荐)
为了确保 Home Assistant 在服务器重启后能自动启动,可以将其配置为系统服务。
6.1 创建服务文件
bash
sudo nano /etc/systemd/system/home-assistant@homeassistant.service
6.2 编辑服务文件内容
plaintext
[Unit]
Description=Home Assistant
After=network-online.target[Service]
Type=simple
User=root
ExecStart=/srv/homeassistant/bin/hass -c "/root/.homeassistant"[Install]
WantedBy=multi-user.target
保存并退出文件。
6.3 重新加载 systemd 管理器配置
bash
sudo systemctl daemon-reload
6.4 启动并设置开机自启
bash
sudo systemctl start home-assistant@homeassistant
sudo systemctl enable home-assistant@homeassistant
7. 防火墙配置
如果服务器启用了防火墙,需要开放 Home Assistant 使用的端口(默认是 8123)。
bash
sudo ufw allow 8123
8. 验证部署
通过浏览器访问 http://<你的服务器 IP 地址>:8123
,如果能看到 Home Assistant 的初始设置界面,则说明部署成功。
注意事项
- 以上步骤假设你使用的是基于 Debian 或 Ubuntu 的 Linux 发行版。如果使用其他发行版,部分命令可能需要调整。
- 确保服务器有足够的资源(CPU、内存、磁盘空间)来运行 Home Assistant。
- 建议定期更新 Home Assistant 以获取最新的功能和安全补丁。可以在 Home Assistant 的 Web 界面中进行更新操作。
home-assistant/core
.core_files.yaml
ollecting importlib-metadata==0.23 (from homeassistant) HTTP error 502 while getting https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl#sha256=d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af (from Links for importlib-metadata) (requires-python:>=2.7,!=3.0,!=3.1,!=3.2,!=3.3) Could not install requirement importlib-metadata==0.23 from https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl#sha256=d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af (from homeassistant) because of error 502 Server Error: Bad Gateway for url: https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl Could not install requirement importlib-metadata==0.23 from https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl#sha256=d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af (from homeassistant) because of HTTP error 502 Server Error: Bad Gateway for url: https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl for URL https://mirrors.aliyun.com/pypi/packages/f6/d2/40b3fa882147719744e6aa50ac39cf7a22a913cbcba86a0371176c425a3b/importlib_metadata-0.23-py2.py3-none-any.whl#sha256=d5f18a79777f3aa179c145737780282e27b508fc8fd688cb17c7a813e8bd39af (from Links for importlib-metadata) (requires-python:>=2.7,!=3.0,!=3.1,!=3.2,!=3.3) [root@iZ2vcbr09kxsytmlhp8egbZ homeassistant]# hass -bash: hass: command not found
从你给出的错误信息来看,在安装 importlib-metadata==0.23
这个依赖时,因为阿里云镜像源返回了 502 错误(Bad Gateway),导致安装失败,并且后续尝试运行 hass
命令时系统提示找不到该命令。下面为你提供相应的解决办法:
1. 更换 PyPI 镜像源
阿里云镜像源临时出现问题,你可以暂时更换为其他镜像源,例如清华大学的镜像源。
临时更换
在使用 pip
安装依赖时,通过 -i
参数指定镜像源:
bash
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple homeassistant
永久更换
你也可以把镜像源永久配置为清华大学的镜像源,具体操作如下:
bash
mkdir ~/.pip
cat << EOF > ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
EOF
之后再重新安装 Home Assistant:
bash
pip install homeassistant
2. 检查 Python 虚拟环境
确保你处于正确的 Python 虚拟环境中,因为 hass
命令是在虚拟环境里可用的。你可以使用以下命令激活虚拟环境:
bash
source /srv/homeassistant/bin/activate
激活虚拟环境之后,再次尝试运行 hass
命令:
bash
hass
3. 手动安装依赖
如果更换镜像源之后仍然无法安装 importlib-metadata
,可以尝试手动安装这个依赖:
bash
pip install importlib-metadata==0.23
若手动安装成功,再尝试安装 Home Assistant:
bash
pip install homeassistant
4. 检查系统路径
要是 hass
命令依旧无法找到,你可以检查虚拟环境的 bin
目录是否已经添加到系统的 PATH
环境变量中。可以使用以下命令查看 PATH
变量:
bash
echo $PATH
确保 /srv/homeassistant/bin
在其中。如果不在,可以临时添加:
阿雪技术观
在科技发展浪潮中,我们不妨积极投身技术共享。不满足于做受益者,更要主动担当贡献者。无论是分享代码、撰写技术博客,还是参与开源项目维护改进,每一个微小举动都可能蕴含推动技术进步的巨大能量。东方仙盟是汇聚力量的天地,我们携手在此探索硅基生命,为科技进步添砖加瓦。
Hey folks, in this wild tech - driven world, why not dive headfirst into the whole tech - sharing scene? Don't just be the one reaping all the benefits; step up and be a contributor too. Whether you're tossing out your code snippets, hammering out some tech blogs, or getting your hands dirty with maintaining and sprucing up open - source projects, every little thing you do might just end up being a massive force that pushes tech forward. And guess what? The Eastern FairyAlliance is this awesome place where we all come together. We're gonna team up and explore the whole silicon - based life thing, and in the process, we'll be fueling the growth of technology.