Способов установки Home Assistant существует довольно много. Я всегда выбираю версию Supervisor (hass.io), поэтому способов остаётся всего два:
Home Assistant Operating System - целая операционная система, посвященная только ХА и его аддонам
Home Assistant Supervised - ХА и его аддоны поверх операционной системы на ваш выбор
Версия Home Assistant с аддонами позволит легко и быстро запустить помимо ХА:
- веб-сервер Caddy или Nginx/DuckDNS для безопасного внешнего доступа в ХА
аддон File editor для редактирования конфигов ХА через веб
Node-RED для удобной настройки автоматизаций вашего ХА
Portainer для управления контейнерами Docker через веб
SSH Tunnel - ещё один мой аддон для внешнего доступа в ХА для серого IP-адреса через арендованный сервер
и много других полезных аддонов
У моего Intel Nuc были следующие задачи:
- сервер умного дома
- файловый сервер (NAS)
медиа-центр
сервер для разработки
Поэтому я выбрал второй вариант установки поверх операционной системы Debian. Так же довольно популярной считается Ubuntu, но в последнее время она помечается как неподдерживаемая в интерфейсе Supervisor.
Инструкцию по установке можно найти в комьюнити Home Assistant - ссылка.
Кратко она звучит так: скачиваем последний образ Debian, записываем его на флешку, устанавливаем Debian, устанавливаем Docker скриптом с официального сайта, устанавливаем Home Assistant Supervised скриптом c GitHub, пользуемся.
Одно замечание - я предпочитаю ставить hassio в домашнюю директорию пользователя. Так потом удобнее его найти. Ещё при установке опционально можно указать платформу. Не знаю, важно ли это, но у себя указал intel-nuc.
curl -sL https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh | bash -s -- -m intel-nuc -d /home/alexey/hassio
Остальной полезный софт я предпочитаю запускать через Docker Compose.
Установить его можно скриптом с официального сайта - ссылка.
После установки необходимо в домашней директории пользователя создать файл: docker-compose.yml
В примере ставится:
- Plex для медиа-файлов, адрес http://192.168.1.123:32400/
- FileRun для веб-доступа к файлам, адрес http://192.168.1.123:81/
- Samba для обычного доступа к файлам, адреса: \\192.168.1.123 или smb://192.168.1.123
- Transmission как торренто-качалка, адрес http://192.168.1.123:9091/
- ElkarBackup для бекапов, адрес http://192.168.1.123:82/
- Adminer для веб-доступа к базе-данных, адрес http://192.168.1.123:83/
Только внимательно проверьте и замените все пути в разделах volumes. У меня в примерах активно используется домашняя директория пользователя (~) и папка /mnt, куда обычно подключают дополнительные диски на сервере.
version: '3' services: plex: image: plexinc/pms-docker network_mode: host # 32400 privileged: true # for transcoding restart: always environment: - TZ=Europe/Moscow volumes: - ~/docker/plex/config:/config - ~:/home - /mnt:/mnt db: image: mariadb:10.1 restart: always environment: MYSQL_ROOT_PASSWORD: pass MYSQL_USER: filerun MYSQL_PASSWORD: filerun MYSQL_DATABASE: filerun volumes: - ~/docker/mysql:/var/lib/mysql filerun: image: afian/filerun restart: always ports: - 81:80 volumes: - ~:/user-files/home - /mnt:/user-files/mnt samba: image: dperson/samba network_mode: host restart: always environment: - TZ=Europe/Moscow # name;path;browsable;readonly;guest - SHARE=home;/home;yes;no;true - SHARE2=mnt;/mnt;yes;no;true - NMBD=1 - SMB=1 - USERID=1000 - GROUPID=1000 volumes: - ~:/home - /mnt:/mnt torrent: image: linuxserver/transmission network_mode: host # 9091, 51413, 51413/udp restart: always environment: - TZ=Europe/Moscow - PUID=1000 - PGID=1000 volumes: - ~/docker/torrent/config:/config - ~/docker/torrent/watch:/watch - /mnt/hd1000/Torrent:/downloads backups: image: elkarbackup/elkarbackup:latest restart: always ports: - 82:80 environment: SYMFONY__DATABASE__PASSWORD: "pass" volumes: - /home:/home - /mnt:/mnt adminer: image: adminer restart: always ports: - 83:8080
Далее необходимо выполнить команду docker-compose up -d. Весь необходимый софт скачается, запустится и пропишется в автозапуск.
PS. В самом Hassio удобно установить аддон Portainer и в его настройках (Settings) отключить все Hidden containers. Там вы будете видеть все ваши Docker контейнеры Hassio и дополнительные контейнеры из Docker Compose.
Как вариант, portainer можно также отдельно запускать, чтобы не зависел от HA:
version: '3.1'
services:
portainer:
container_name: portainer
image: portainer/portainer-ce
command: -H unix:///var/run/docker.sock
restart: always
ports:
- 9000:9000
- 8000:8000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /docker/portainer:/data
Плюс запуска портейнера именно через ХА - он потом работает через внешний доступ к ХА
Тут конечно дело вкуса.
Обновление образов:
1) docker-compose down
2) docker-compose pull
3) docker-compose up -d
при установке аддона RTSP2WebRTC в HA , через добавление в Supervisor репозитория - "AlexxIT addons repository", появляется ошибка:
Failed to install addon
The command '/bin/ash -o pipefail -c apk add --no-cache unzip go jq' returned a non-zero code: 2
с чем может быть связано ?
Спасибо за статью!Теперь встал вопрос логичный вопрос как добавить USB HDD для торентов и записей с камер аддоном motionEye?
И можно ли настроить удалённый вход в ХА через dataplicity?