Home Assistant — это open-source платформа для автоматизации умного дома, которая объединяет более 2000 устройств и сервисов в единую систему управления. Самостоятельный хостинг даёт полный контроль над данными и сценариями. В этой статье — пошаговая инструкция по развёртыванию Home Assistant на VPS с Ubuntu/Debian.
Что такое Home Assistant
Home Assistant — это платформа для централизованного управления умным домом. Она работает локально, обрабатывает данные на вашем сервере и поддерживает интеграцию с устройствами через Wi-Fi, Zigbee, Z-Wave, MQTT и HTTP API. Основные функции:
- автоматизация по времени, датчикам, событиям;
- голосовое управление через Google Assistant, Alexa, Yandex Alice;
- создание дашбордов для управления устройствами;
- поддержка кастомных компонентов и аддонов через HACS (Home Assistant Community Store).
Система написана на Python, использует SQLite или MariaDB для хранения данных и запускается как веб-приложение на порту 8123.
Зачем self-hosted
Развёртывание Home Assistant на собственном VPS даёт преимущества перед облачными сервисами:
- Приватность. Все данные остаются на вашем сервере. Никаких облаков вендоров с сомнительной политикой конфиденциальности.
- Контроль. Вы сами управляете обновлениями, резервным копированием, добавляете кастомные интеграции.
- Экономия. Бесплатное ядро Home Assistant не требует подписки. VPS стоит от 800 ₽/мес или $21/год — дешевле, чем платные облачные решения.
- Производительность. Нет лимитов на количество устройств и автоматизаций. Сервер можно масштабировать добавлением ресурсов.
Минимальные требования
Для стабильной работы Home Assistant в режиме Core (без Supervisor) достаточно:
- CPU: 1 ядро (ARM или x86)
- RAM: 512 МБ (рекомендуется 1 ГБ для Comanion App и аддонов)
- Диск: 5 ГБ (10 ГБ с учётом БД и истории)
- ОС: Ubuntu 20.04/22.04 LTS или Debian 11/12
- Доступ: SSH-доступ к серверу с правами root
Какой VPS выбрать
Для запуска подойдёт любой VPS с Linux. Рекомендуем:
- Timeweb Cloud — российское облако, NVMe, от 800 ₽/мес
- RackNerd — от $21.99/год, зарубежная локация
Установка на Ubuntu/Debian
Мы будем устанавливать Home Assistant Core — минимальную версию без Supervisor, которая не требует Docker. Это оптимальный вариант для VPS с 512 МБ RAM.
1. Обновление системы и установка зависимостей
```bash sudo apt update && sudo apt upgrade -y sudo apt install -y python3 python3-dev python3-venv python3-pip \ build-essential libffi-dev libssl-dev libjpeg-dev zlib1g-dev \ libsqlite3-dev libreadline-dev libbz2-dev libncurses5-dev \ libgdbm-dev libnss3-dev libffi-dev liblzma-dev ```
2. Создание пользователя для Home Assistant
Для безопасности создадим отдельного системного пользователя:
```bash sudo useradd -r -m -s /bin/bash homeassistant ```
3. Клонирование репозитория Home Assistant Core
```bash sudo mkdir -p /opt/homeassistant sudo chown homeassistant:homeassistant /opt/homeassistant sudo -u homeassistant git clone https://github.com/home-assistant/core.git /opt/homeassistant/core ```
4. Создание виртуального окружения Python
```bash sudo -u homeassistant python3 -m venv /opt/homeassistant/venv ```
5. Установка зависимостей
```bash sudo -u homeassistant /opt/homeassistant/venv/bin/pip install --upgrade pip sudo -u homeassistant /opt/homeassistant/venv/bin/pip install -r /opt/homeassistant/core/requirements.txt sudo -u homeassistant /opt/homeassistant/venv/bin/pip install wheel sudo -u homeassistant /opt/homeassistant/venv/bin/pip install homeassistant ```
6. Настройка конфигурации и каталога данных
```bash sudo mkdir -p /opt/homeassistant/config sudo chown homeassistant:homeassistant /opt/homeassistant/config sudo -u homeassistant mkdir -p /opt/homeassistant/config/custom_components ```
7. Создание systemd-сервиса для автозапуска
Создайте файл `/etc/systemd/system/home-assistant.service`:
```bash sudo nano /etc/systemd/system/home-assistant.service ```
Вставьте содержимое:
```ini [Unit] Description=Home Assistant After=network.target
[Service] Type=simple User=homeassistant ExecStart=/opt/homeassistant/venv/bin/hass -c /opt/homeassistant/config Restart=always RestartSec=5
[Install] WantedBy=multi-user.target ```
8. Запуск и проверка
```bash sudo systemctl daemon-reload sudo systemctl enable home-assistant sudo systemctl start home-assistant sudo systemctl status home-assistant ```
Проверьте логи на ошибки:
```bash journalctl -u home-assistant -f ```
После успешного запуска откройте в браузере: `http:// :8123`
9. Настройка брандмауэра
```bash sudo ufw allow 8123/tcp comment 'Home Assistant' sudo ufw allow OpenSSH sudo ufw enable ```
10. Настройка HTTPS (опционально, но рекомендовано)
Установите Nginx и Certbot:
```bash sudo apt install -y nginx certbot python3-certbot-nginx ```
Настройте Nginx как reverse proxy (пример конфигурации в `/etc/nginx/sites-available/homeassistant`):
```nginx server { listen 80; server_name ha.example.com;
location / { proxy_pass http://127.0.0.1:8123; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ```
```bash sudo ln -s /etc/nginx/sites-available/homeassistant /etc/nginx/sites-enabled/ sudo certbot --nginx -d ha.example.com sudo systemctl restart nginx ```
Что получите в итоге
После установки вы получите:
- Работающий Home Assistant на порту 8123 с веб-интерфейсом для управления устройствами.
- Автоматический запуск при перезагрузке VPS — systemd-сервис настроен и активен.
- Безопасное окружение — отдельный пользователь `homeassistant` и брандмауэр, разрешающий только нужные порты.
- Базу на будущее — возможность установки HACS, интеграции с Zigbee-адаптером (через USB over IP или Zigbee2MQTT), добавления кастомных компонентов.
Частые вопросы
1. Как обновлять Home Assistant? Остановите сервис, выполните от имени пользователя `homeassistant`: ```bash sudo systemctl stop home-assistant sudo -u homeassistant /opt/homeassistant/venv/bin/pip install --upgrade homeassistant sudo systemctl start home-assistant ``` Для автоматизации используйте скрипт в cron.
2. Можно ли установить Supervisor без Docker? Supervisor (Home Assistant OS) требует Docker. На VPS с 512 МБ RAM это не рекомендуется — будет нехватка памяти. Вместо этого используйте Core-версию и добавляйте аддоны вручную через Docker Compose.
3. Как сделать резервное копирование конфигурации? Проще всего — архивировать каталог `/opt/homeassistant/config`: ```bash sudo tar -czf homeassistant-backup-$(date +%Y%m%d).tar.gz /opt/homeassistant/config ``` Храните резервные копии на отдельном хранилище или в облаке. Можно добавить задачу в cron для ежедневного бекапа.
---
Готово. Теперь вы знаете, как развернуть Home Assistant на VPS с Ubuntu/Debian. Система готова к подключению первых устройств и созданию автоматизаций.