Bentornati Amici Smart!
nel video precedente abbiamo analizzato le diverse modalità di installazione di HomeAssistant e scoperto quella che ritengo più adatta al contesto e che adotteremo nel corso di questo viaggio.
Utilizzeremo inoltre un dispositivo embedded con piena gestione del sistema operativo alla base, in modo tale da poter installare e utilizzare Docker come gestore dei vari microservizi che affronteremo. Primo tra tutti Home Assistant Core.
Ma prima di addentrarci nell'installazione e configurazione nuda e cruda di HomeAssistant mediante Docker, è importante capire brevemente cos'è Docker e quali sono i suoi vantaggi, gettando le basi per maggiore comprensione e gestione dello strumento.
Docker è un software OpenSource, da installare sul nostro un sistema operativo, che permette di creare, distribuire e gestire applicativi (comunemente denominati micro servizi) all'interno di container. I container sono ambienti isolati che contengono tutto il necessario per eseguire un determinato micro servizio, come il codice, gli eseguibili, le librerie, le dipendenze ecc.
Questo ci consente di installare un applicativo/microservizio, come Home Assistant, senza dover installare, mantenere e compilare manualmente tutti i componenti necessari al suo funzionamento, basterà solo ottenere il container di un determinato micro servizio (completo di tutto), configurarlo in base alle nostre esigenze e il gioco è fatto.
Al fine di comprendere meglio Docker e il suo funzionamento, facciamo un semplice accostamento di vita reale.
Immaginiamo di essere i proprietari di un grande lotto di terreno vuoto sul quale vogliamo edificare una struttura da adibire a centro commerciale.
Una volta edificata la struttura, che inizialmente avrà un solo ambiente vuoto, iniziamo a suddividere l'edificio in singoli ambienti da dedicare alle attività commerciali che vogliamo aprire in ognuno di essi.
Quindi, ad esempio, apriamo un bar, un negozio di abbigliamento, una gioielleria, un negozio di cosmetica, uno di elettronica e cosi via.
Ognuna di queste attività contenuta nel suo spazio dedicato, che sia in franchising o no, vive di vita propria, nel senso che ha le sue regole, il suo marketing, i suoi prodotti e, pertanto, funziona in modo autonomo e isolato dal resto delle altre attività.
Seppur ognuna di esse condivide la struttura alla base, cioè il centro commerciale con i suoi servizi comuni: ad esempio il sistema di allarme, la sicurezza, i servizi igienici, l'impianto elettrico ecc.
Supponiamo adesso che uno dei negozi in franchising riceva un aggiornamento dalla casa madre, ad esempio, da oggi all'ingresso del bar decidono di piazzare delle piante e dei palloncini rossi.
Il gestore del centro commerciale (e gestore dei singoli negozi), deve limitarsi a ricevere gli aggiornamenti (e quindi il materiale) dalla casa madre e applicarli al negozio in base alle regole di franchising.
Se invece il gestore del centro commerciale, al suo interno, ha un negozio a conduzione familiare nel quale vigono soltanto le sue regole, può decidere di modificarlo come preferisce sfruttando le sue risorse (il suo tempo).
Va da sè che Il centro commerciale diventa una macchina ben oliata, dove ogni spazio dedicato, contiene un negozio che lavora in modo autonomo e isolato dagli altri, può ricevere e vedersi applicate modifiche nel tempo e condividendo le risorse comuni della struttura
Arrivati a questo punto, il quadro generale dovrebbe apparire più chiaro, ma colleghiamo i punti in modo da comprendere meglio l'analogia:
- Il lotto di terreno rappresenta il computer nel quale vogliamo installare il sistema operativo:
- La struttura che edifichiamo sul terreno rappresenta il sistema operativo (con le sue risorse alla base)
- I singoli spazi della struttura rappresentano i container di Docker
- I negozio contenuti negli spazi dedicati rappresentano i micro servizi contenuti nei container di docker
Ognuno di questi container o spazi del centro commerciale lavora in modo autonomo e può essere aperto, aggiornato e chiuso dal gestore in base alle sue esigenze.
Pertanto, Se noi, gestori del centro commerciale, desideriamo arricchire l'offerta del centro con un la presenza di nuovi servizi/negozi o ci rendiamo conto che un determinato negozio non funziona come dovrebbe, semplicemente avviamo le procedure per aprirne uno nuovo o chiuderne uno esistente liberando quello spazio.
La stessa cosa vale per Docker. Se noi, amministratori del sistema operativo, vogliamo sfruttare dei nuovi microservizi o eliminarne di esistenti, possiamo eseguire dei comandi specifici per eliminare o aggiungere container senza compromettere il funzionamento degli altri micro servizi (se non comunicanti) o del sistema operativo stesso.
Questo fa sì che il meccanismo sia totalmente atomico, cioè i container operano in ambienti isolati, rendendo l'installazione e la gestione dei micro servizi, come Home Assistant, molto più flessibile e modulare. In questo modo se un micro servizio non dovesse più funzionare per qualche motivo, ci basterebbe conservare le sue configurazioni (vedremo più avanti come fare un backup preventivo delle configurazioni ), rimuovere il micro servizio e re-installarlo da zero per essere nuovamente operativi. Semplice!
Per iniziare ad installare micro servizi occorre. anzitutto, installare il software di Docker sul sistema operativo ospitante, ed eseguire appositi comandi per il caricamento dei container che vogliamo.
In questi tutorial, al fine di facilitare ulteriormente la gestione multi container, non useremo comandi di Docker puro, ma ci affideremo ad uno strumento molto potente, chiamato DockerCompose, che ci consentirà di installare e gestire più servizi in contemporanea mediante un singolo file di configurazione YAML, senza dover eseguire singoli comandi Docker per volta. Vedremo più avanti come usare DockerCompose e capiremo cos'è un YAML.
Bene per oggi è tutto, nel prossimo video ci soffermeremo ad analizzare le caratteristiche del RaspberryPI 4 e dei motivi che mi hanno spinto a sceglierlo come minicomputer per la domotica.
Spero che il video sia stato utile, se vi fa piacere seguitemi e attivate la campanellima per non perdere gli altri tutorial, e lasciate un like al video.