SCOPI DELLA GUIDA:
CONCETTI AFFRONTATI:
|
COMPONENTI SOFTWARE UTILIZZATE:
PREREQUISITI:
DISPOSITIVI FISICI UTILIZZATI:
|
GUIDA MAGGIORMENTE INDICATA PER SISTEMA OPERATIVO:![]() |
|
NOTE E DISCLAIMER
|
|
| Revisione guida: 1.0 | |

Abstract
Per qualsiasi implementazione per la propria domotica personale che preveda l’uso del protocollo Message Queue Telemetry Transport (MQTT), è necessario che sulla rete sia disponibile un broker MQTT, ovvero un “instradatore” dei messaggi generati tramite questo protocollo. In questa guida affronteremo la procedura di installazione su Linux Debian di Eclipse Mosquitto, uno dei broker opensource più diffusi.
In questa guida utilizzeremo l’approccio che prevede di adottare un pratico container Docker, il che consente di isolare i processi del server, di essere facilmente aggiornato, gestito e molto altro. Solitamente questo approccio viene seguito da chi preferisce utilizzare questo tipo di astrazione piuttosto che la via più tradizionale che ne prevede l’installazione come servizio del sistema operativo.
Il tutto, a bordo di un NAS TerraMaster precedentemente installato e configurato con sistema operativo “TOS” (quello di fabbrica, per capirci) come applicazione eseguita in modo isolato tramite Docker.
Si parte
- Assunti
- Installare Docker
- Cartella e file Docker Compose
- Attivare accesso FileBrowser
- Configurazione
- Istanziare Mosquitto
- Uso
Assunti
Questa guida è dedicata a chi abbia già un NAS o un host generico in uso dotato di sistema operativo TerraMaster Operating System (TOS). Per coloro che non abbiano ancora provveduto e si trovino ad avere un dispositivo nuovo, magari acquistato appositamente per realizzare la propria domotica oltre che da storage di rete, allora questo passo della guida va smarcato provvedendo prima alla completa configurazione della NAS e relativi pool storage.
La presente guida è testata su NAS TerraMaster basate su processori x86 – 64bit; inoltre, la configurazione specifica può variare molto da modello a modello, in base alla disponibilità di più dischi e quant’alto (e questo è, naturalmente, lasciato all’utente).
Come riferimento, abbiamo usato:
- un TerraMaster F2-424 dotato di processore N95 e 8 GB di RAM;
- due dischi 3,5” di tipo CMR, installati sulle sue baie anteriori, destinati all’uso NAS (quindi gestiti da OpenMediaVault dopo l’avvenuta installazione di quest’ultimo);
- un disco SSD NVMe di tipo TLC (per la precisione, questo), installato internamente al NAS, come disco di boot per ospitare OpenMediaVault (nonché i contenuti che ci apprestiamo a installare).
La configurazione, come detto, può variare in funzione delle proprie esigenze.
Si assume naturalmente di avere accesso all’interfaccia TOS – via web usando un browser, oppure tramite TNAS app.
Infine, si assume che l’utente abbia a disposizione una cartella, all’interno della propria NAS, sulla quale posizionare i file che utilizzerà Eclipse Mosquitto per essere eseguito, configurato e quant’altro. Tale configurazione può variare moltissimo in funzione del numero di dischi, della loro configurazione, della configurazione dei volumi e quant’altro. Non essendo tecnicamente possibile ipotizzare qualsiasi scenario, faremo riferimento ad un generica “cartella Docker” alla quale dedicare i contenuti persistenti dei container in esecuzione su Docker.
Installare Docker
Installare Docker su TOS è piuttosto semplice, esiste una procedura completamente automatica. Tale procedura è illustrata in dettaglio in questa breve guida (esterna).
Se si ha già provveduto all’installazione di Docker, va da sé che questo passaggio possa essere saltato.
Cartella e file Docker Compose
Prima cosa da fare è creare delle cartelle allo scopo di ospitare i file di Mosquitto (database e altro).
Sulla base dell’assunto immediatamente sopra andiamo, tramite File Manager di TOS, a creare una cartella dentro quella dedicata al progetti Docker (di cui sopra, appunto).
Chiamiamola “mosquitto“.
Al suo interno, creare tre distinte cartelle così chiamate:
- config
- data
- log
Fatto questo, creiamo un file sul nostro computer d’appoggio, chiamato docker-compose.yml, che utilizzeremo per istranziare il container tramite Docker Compose. Popoliamolo della seguente configurazione:
services:
mosquitto:
container_name: mosquitto
image: eclipse-mosquitto
volumes:
- /home/inDomus/Docker/mosquitto/config:/mosquitto/config
- /home/inDomus/Docker/mosquitto/data:/mosquitto/data
- /home/inDomus/Docker/mosquitto/log:/mosquitto/log
ports:
- 1883:1883
restart: always
avendo cura di personalizzare il percorso evidenziato in grassetto. Quello, infatti, dev’essere il percorso assoluto presso il quale sono posizionate le cartelle nonappena create (quelli indicati sono puramente esemplificativi).
Infine, copiare, sempre tramite interfaccia TOS (presso “File Manager”), il file docker-compose.yml appena creato presso la cartella “mosquitto” a sua volta creata poco fa.
Configurazione
A questo punto, tramite File Manager di TOS recarsi presso il folder “mosquitto_config” e creare un file chiamato mosquitto.conf.
Aprilo e copiarvi la seguente configurazione:
persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log
log_dest stdout
listener 1883
allow_anonymous true
salvare e uscire.
Istanziare Core su Docker
Una volta installato Docker e configurato il file compose, è dunque il momento di installare (o meglio, “istanziarvi sopra”) Home Assistant Core.
Recarsi alla voce di menu TOS “Docker Manager” > “Progetto” > “Nuovo progetto“.
Compilare come segue:
- Nome del progetto: mosquitto;
- Percorso del progetto: il percorso deciso poco fa;
- Origine del file di configurazione: TNAS locale (salvo esigenze diverse);
- Carica il file di configurazione: cliccare sul simbolo della cartellina e raggiungere il file docker-compose.yml creato e caricato poco fa.
A questo punto cliccare su “Verifica YAML“, la quale dovrà andare a buon fine:

Cliccare infine su “Applica“: il progetto verrà creato e, tramite esso, verrà scaricata l’immagine Docker via Internet (potrebbe volerci qualche minuto) e, infine, creato il container.

Al termine, il progetto dovrebbe risultare “in esecuzione“.
Uso
A questo punto il broker MQTT Eclipse Mosquitto sarà in esecuzione sul NAS pronto a ricevere e riconsegnale comandi e telemetrie dai componenti dotati di supporto MQTT presenti sulla rete.
Ivi incluso Home Assistant (inteso come MQTT client), al quale abbiamo dedicato una guida ad hoc.
| Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa. |

