Domotica
Come installare Homebridge in Docker su Raspberry Pi

Come installare Homebridge in Docker su Raspberry Pi

I prerequisiti fondamentali per seguire fino in fondo questa guida sono ovviamente avere a disposizione un Rasperry Pi (Zero W, 1, 2, 3, o 4) con sistema operativo Raspbian (preferibilmente la versione Lite) e con installata la pittaforma Docker (guida all’installazione a questo link).

Fatta questa premessa i passaggi da seguire sono:

Collegarsi in SSH al nostro Raspberry Pi e creare la seguente cartella:

mkdir /home/pi/docker-homebridge
cd /home/pi/docker-homebridge

Ora creiamo un nuovo file denominato docker-compose.yml utilizzando l’editor nano.

nano docker-compose.yml

e all’interno di questo andremo a riportare:

version: '2'
services:
  homebridge:
    image: oznu/homebridge:raspberry-pi
    restart: always
    network_mode: host
    volumes:
       - ./config:/docker-homebridge
    environment:
       - PGID=1000
       - PUID=1000
       - HOMEBRIDGE_CONFIG_UI=1
       - HOMEBRIDGE_CONFIG_UI_PORT=8080
       - TZ=Europe/Rome
  • La riga di restart: always indica a docker di configurare il contenitore in modo che si riavvii automaticamente se il Raspberry Pi viene riavviato o se il contenitore si chiude o si arresta in modo imprevisto.
  • La riga network_mode: host ordina a docker di condividere la rete del Raspberry Pi con il container, consentendo al dispositivo iOS di individuare l’accessorio Homebridge sulla nostra rete.
  • Nella riga ./Config:/docker-homebridge indica a Docker di condividere la configurazione della cartella locale con il container. Ciò ci consentirà di ricreare o aggiornare il contenitore docker senza perdere le impostazioni di Homekit e i plugin di Homebridge.
  • Per una spiegazione delle variabili di ambiente PGID e PUID, vedere User & Group Identifiers.
  • HOMEBRIDGE_CONFIG_UI e HOMEBRIDGE_CONFIG_UI_PORT abilitano il plug-in homebridge-config-ui-x. E’ possibile rimuovere queste due opzioni se non desidera utilizzare l’interfaccia utente.

Salvare e chiudere il file premendo la combinazione di tasti CTRL+X e INVIO per confermare le modifiche.

Avviamo il nostro nuovo container digitando:

docker-compose up -d

  • Potrebbe essere necessario del tempo per scaricare l’immagine iniziale che è di circa 125 MB compressi.
  • Docker scaricherà l’ultima versione dell’ immagine docker di oznu / homebridge.
  • Il flag -d indica a docker-compose di eseguire il contenitore come processo in background.

Probabilmente vorrai visualizzare il registro di Homebridge per verificare che tutto funzioni e per ottenere il codice di accoppiamento iOS.
Per visalizzare il log di Homebridge digita:

docker-compose logs -f

View oznu/homebridge logs

Il tuo file config.json di Homebridge, i plugin e tutti i dati di HomeKit verranno memorizzati nella directory di configurazione che abbiamo precedentemente creato.

Per gestire Homebridge apriamo un browser internet e andiamo all’indirizzo http://<ip-del-tuo-raspberry>:8080.
Ad esempio,
http://192.168.1.20:8080
Da qui possiamo installare, rimuovere e aggiornare i plugin, modificare il file config.json di Homebridge e riavviare Homebridge stesso.

Il nome utente predefinito è admin con password admin.
Ricorda che sarà necessario riavviare Homebridge per applicare le modifiche che eventualmente apporteremo al file config.json.

Homebridge UI

E’ possibile riavviare il container Homebridge dal terminale eseguendo il seguente comando:

docker-compose restart homebridge

Ora dovremmo essere in grado di individuare e aggiungere l’accessorio Homebridge nell’app Home di Apple iOS.
L’associazione dell’accessorio con il nostro dispositivo è possibile eseguirla utilizzando il codice QR visualizzato nei log o dal browser utilizzando l’interfaccia web di Homebridge (vedi sopra) oppure inserendo il codice di abbinamento impostato.

Per maggiori informazioni consiglio di dare un’occhiata ai seguenti siti web:

https://homebridge.io
https://github.com/homebridge/homebridge/wiki
https://github.com/oznu/docker-homebridge

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *