Блог

Установка Hass.io, NAS и Plex на Intel Nuc

Способов установки 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

Плюс запуска портейнера именно через ХА - он потом работает через внешний доступ к ХА

Это понятно. Но минус в том, что он будет зависеть от супервайзера HA. Падение HA может в теории за собой остальное потянуть.
Тут конечно дело вкуса.

Обновление образов:

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?


Вернуться назад
Вернуться назад