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.

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐