Home Assistant w Dockerze (instalacja zaawansowana) na Raspberry

Home Assistant w Dockerze (instalacja zaawansowana) na Raspberry

A jeżeli chcemy wycisnąć coś więcej z naszego Raspberry lub zainstalować HA na innym urządzeniu? Instalacja na pełnoprawnym Linuxie w Dockerze na pewno nam w tym pomoże! 

Co to jest Docker?

Docker – otwarte oprogramowanie służące jako „platforma dla programistów i administratorów do tworzenia, wdrażania i uruchamiania aplikacji rozproszonych

Docker jest określany jako narzędzie, które pozwala umieścić program oraz jego zależności w lekkim, przenośnym, wirtualnym kontenerze, który można uruchomić na prawie każdym serwerze z systemem Linux

Źródło: Wikipedia

No dobra i?

Jeżeli chcesz wykorzystać swój sprzęt, na którym stoi Home Assistant do czegoś więcej - warto zrobić jego wirtualizację! I nie dotyczy to wyłącznie Raspberry Pi ale dowolnego innego urządzenia również! Posłuży nam do tego bardzo popularne narzędzie jakim jest Docker! No dobra ale po co?

Dzięki temu narzędziu możemy oddzielić od siebie różne oprogramowania zainstalowane na naszym urządzeniu, nie wiedzą one o swoim wzajemnym istnieniu ani nie mają dostępu do swoich zasobów. Domyślacie się już o co chodzi? W jednym Dokcerze instalujemy HA a w drugim np. domowy NAS. 

Home Assistant posiada własną dystrybucje systemu operacyjnego. Taki system  ułatwia prawidłowe i wydajne działanie HA, jednak wiążę się to z pewnymi ograniczeniami systemu. Gdy instalujemy HA w Dockerze wszystko to uruchomiamy na pełnoprawnym Linuxie i to jest największa różnica względem HassOS. 

Jak zapewne czytacie mojego bloga, to od razu skojarzyło się Wam z Emulatorem Androida na Windowsa czyli BlueStack - jest to dobrze skojarzenie, bo chodzi o coś podobnego (bez wchodzenia w szczegóły).

Instalacja podstawowa – z użyciem HassOS

Jeżeli zaczynasz przygodę z Home Assistant i tylko po to kupiłeś Raspberry Pi to ten poradnik nie jest dla Ciebie. Jeżeli zmienisz zdanie i będziesz chciał coś więcej wyciągnąć z systemu, zrobisz to bez problemu później. Wtedy wykonasz backup, skorzystasz z tego poradnika a następnie przywrócisz backup i gotowe :)  

Sprzęt

Instalację wykonam na przykładzie Raspberry Pi3 z SSD ale spokojnie możesz zrobić to RPi4. Na wstępie muszę zaznaczyć, że dysk przyszedł do mnie prosto od producenta Kingston w ramach akcji: #KingstonIsEverywhere a Raspberry Pi3b+ ze sklepu botland.com.pl - Nie potrzebujemy żadnych monitorów itp. wszystko konfigurujemy przez przeglądarkę!


Uwaga: Poniższa instalacja systemu Rasbian jest przeznaczona wyłącznie dla Raspberry Pi, jeżeli używasz terminala Wyse/HP/Fujitsu - sugeruję Ubuntu Server, wybierz swój sprzęt z tutaj: Home Assistant - instalacja oraz sprzęt - od tego zacznij.


Instalacja zaawansowana - czas na konkrety!  

Wymagane oprogramowanie

  • obraz Raspbian Buster Lite który możecie ściągnąć z oficjalnej strony (w zupełności wystarczy nam wersja Lite)
  • oprogramowanie do wgrania na dysk SSD obrazu systemu HA czyli balenaEtcher

RPI3b+ SSD_4

Instalacja Raspbian

  1. Ściągamy powyższe oprogramowanie, odpalamy balenaEtcher z podpiętym do komputera dyskiem SSD
  2. Wgrywamy (Flash) obraz Raspbian Buster Lite przez powyższy program na dysk SSD, czekamy aż instalacja zostanie zweryfikowana
  3. Zanim odepniemy dysk od komputera, wchodzimy na przed chwilą stworzony dysk (boot) i dodajemy pusty plik o nazwie SSH (bez rozszerzenia). Najprościej dodać nowy plik o nazwie SSH prawym klawiszem (np. notatnik), następnie włącz wyświetlanie rozszerzeń nazw plików i usuń .txt z jego nazwy.
  4. Aby skonfigurować WiFi dodaj co poniżej, jeżeli podłączacie internet po kablu to podłącz go bez dodawania tego pliku, potem dysk SSD do USB w Raspberry Pi 3 
    1. tworzymy na dysku plik o nazwie wpa_supplicant.conf - użyj do tego Notepad++, ponieważ musisz zmienić formatowanie końca linii z EOL na UNIX! Zrobisz to w Edycja -> Konwersja znaku końca linii -> Unix
    2. Następnie w nim dodajemy:
      country=PL
      ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
      network={
        ssid="nazwa_wifi"
        psk="hasło_wifi"
      }
      
  5. Zanim wszystko podepniemy pamiętajcie aby przed włożeniem Malinki do obudowy przykleić radiatory. O ile przy dużym radiatorze jest sporo miejsca to przy małym musimy zrobić to dokładnie aby zmieścił się spokojnie plastik obudowy. Trzeci radiator jest do wcześniejszych wersji Malinki.
  6. Podłączamy do zasilania Malinkę i czekamy, pierwsze włączenie (wraz z aktualizacjami może potrwać do kilku minut) - zielona dioda obok czerwonej będzie migać + w dioda przy dysku SSD

Instalacja Home Assistant w Dockerze

  1. Ściągamy program PuTTY i podajemy adres IP naszej Malinki a potem klikamy Open
  2. Następnie logujemy się podając, login: pi a hasło: raspberry - jak to w linuxie nie będzie widać wpisywanego hasła ani znaków, więc o błąd łatwo ;) 
  3. warto zmienić hasło sudo passwd pi - warto to taki żart, zmień je koniecznie! Hasło podajemy 2x! 
  4. sudo apt update - aktualizujemy listę repozytorium
  5. sudo apt upgrade - aktualizujemy wszystko - potwierdzamy naciskając Y

  6. sudo reboot - teraz restartujemy aby wszystko się załadowało i czekamy - ten komunikat jest normalny!
  7. sudo raspi-config - możemy zmienić nazwę hosta, ustawienia sieciowe i wiele innych rzeczy jak timezone czy wyświetlanie daty - jeżeli coś zmieniamy reboot jest konieczny! 

Stałe IP urządzenia

Pamiętaj aby wszystko poprawnie działało musimy ustawić stałe IP dla naszego urządzenia które właśnie konfigurujemy. I tutaj jeżeli nie możemy tego zrobić na routerze - możemy zrobić to właśnie w plikach po stronie urządzenia! 

Jest to bardzo proste wpisujemy sudo nano /etc/dhcpcd.conf

Będzie to wyglądać mniej więcej tak:

interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

Pierwsze to rodzaj połączenia, tutaj mamy kablowe. Następnie mamy IP naszego urządzenia a /24 zostawiamy bo to maska 255.255.255.0  Poniżej adres routera i dns, który w sieci lokalnej jest najczęściej taki sam jak routera. 

Jeżeli łączymy się przez WiFi zmieniamy tylko jedno:

interface wlan0

Następnie zapisuje i ponownie restartujemy urządzenie.

Instalacja Dockera

  1. Musimy doinstalować mnóstwo pakietów i to trochę potrwa sudo apt install -y apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq socat software-properties-common python3-pip​ jeżeli wyskakuje błąd związany z python3-pip​, to usuń tylko tę część i wywołaj komendę jeszcze raz.
  2. sudo -i Wchodzimy do konsoli root
  3. curl -fsSL get.docker.com | sh Instalujemy Dockera
  4. Dodajemy pi do grupy docker usermod -aG docker pi a następnie exit
  5. sudo reboot a na koniec nasz ulubiony restart

Instalacja Hassio w dokerze 

Wszystkie rodzaje urządzeń dostępne są na oficjalnej stronie projektu. Musimy wybrać i wpisać odpowiednie urządzenie, w tym przykładzie jest to RPi3 więc wpisałem raspberrypi3 

  1. sudo -i - wchodzimy na roota
  2. curl -sL "https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh" | bash -s -- -m raspberrypi3 i czas na instalację! 


Uwaga, ze względu na: [On hold] Deprecating Home Assistant Supervised on generic Linux

Musimy użyć starszej wersji skryptu bez błędu w kodzie, używaj tego polecania (w przypadku RPI dodaj na koniec: [spacja] -- -m raspberrypi3): 

curl -sL "https://raw.githubusercontent.com/home-assistant/supervised-installer/c674830d8ddc6af9d618755a7995af939dd73fde/installer.sh" | bash -s


Jeżeli wyskakuje Please install jq first to znaczy, że wykonaliśmy niepoprawnie punkt 1 - Instalacja Dokcera (coś nie nie zainstalowało) instalujemy: sudo apt-get install jq i robimy punkt 2 jeszcze raz.

Wszystko gotowe, po długim momencie kiedy pojawi się:

 [Info] Run Hass.io

Pierwsze uruchomienie Home Assistant

Aby się połączyć z urządzeniem wystarczy, że w przeglądarce wpiszemy adres: http://192.168.0.10:8123

RPI3b+ SSD_5

Hass.io czyli Supervisor

Dzięki tego typu instalacji mamy dostęp do Supervisor i możemy normalnie instalować addony! 

Jak widzicie system to: Raspbian GNU/Linux 10 (buster) a nie HassOS 3.11

Możliwości

No dobra ale co nam to dało? Możemy zrobić np. to z naszym sprzętem: Dysk sieciowy | Samba i wielu użytkowników | Centrum Multimedialne Plex a to wszystko na jednym urządzeniu! 

Kolejne kroki

Skoro mamy sprzęt wracamy do artykułu: Home Assistant - instalacja oraz sprzęt - od tego zacznij.  


Źródło: 

http://zaplanujswojdom.pl/instalacja-home-assistant-na-raspberry-pi-4-b/ 

https://www.facebook.com/groups/130013164361315/permalink/463350191027609/?hc_location=ufi


Chcesz wiedzieć więcej? Dołącz do naszej grupy na FB - będzie nam też miło jak polubisz nasz Fanpage!