Installiamo Thingsboard con Docker

Cominciamo il nostro tour alla scoperta di Thingsboard dal primo ed inevitabile step: l’installazione della piattaforma.

Sebbene sia possibile utilizzare una live demo sui loro server, il consiglio è di imparare fin da subito a mettere in piedi l’intera infrastruttura, anche perchè in produzione quasi sicuramente bisognerà gestire il tutto in piena autonomia.

Sono disponibili varie opzioni: dai pacchetti preconfigurati per i vari sistemi operativi (e distribuzioni Linux), alla compilazione dei sorgenti che consente ulteriori personalizzazioni, come ad esempio la sostituzione del logo per creare un prodotto con il proprio brand.

Tuttavia il modo più semplice per installare tutto il necessario senza “sporcare” il proprio sistema consiste nel ricorrere a Docker.

Si suppone che lo stesso sia già installato sulla propria macchina. In caso contrario, almeno per Linux Ubuntu, è possibile far riferimento a questo post oppure al sito ufficiale.

Sulla documentazione ufficiale del progetto, da cui prendiamo spunto, è riportato il comando da utilizzare con tutti i dettagli delle singole opzioni.

Lavorando in ambito Linux da console eseguiamo

$ docker run -it -p 9090:9090 -p 1883:1883 -p 5683:5683/udp -v ~/.mytb-data:/data -v ~/.mytb-logs:/var/log/thingsboard --name mytb --restart always thingsboard/tb-postgres

In particolare:

  • docker run – esegue il container
  • -it – attiva una sessione di terminale con il processo in esecuzione (vederemo in seguito come utilizzarla)
  • -p 9090:9090 – mappa la porta locale 9090 con la 9090 esposta dal container
  • -p 1883:1883 – mappa la porta locale 1883 con la 1883 esposta dal container ed utilizzata di default dal protocollo MQTT
  • -p 5683:5683 – mappa la porta locale 5683 con la 5683 esposta dal container ed utilizzata di default dal protocollo COAP
  • -v ~/.mytb-data:/data – monta la cartella dell’host ~/.mytb-data con quella utilizzata da ThingsBoard per il database
  • -v ~/.mytb-logs:/var/log/thingsboard – monta la cartella dell’host ~/.mytb-logs con quella utilizzata da ThingsBoard per i log
  • --name mytb – assegna un nome al container (molto utile per le successive operazioni di start/stop o di rimozione)
  • --restart always – imposta il riavvio automatico del container in caso di crash
  • thingsboard/tb-postgres – specifica l’immagine Docker da utilizzare. Sono previste altre ozpioni in base al database che si intende utilizzare (thingsboard/tb-cassandra o thingsboard/tb)

Naturalmente le varie opzioni possono essere personalizzate in base alle proprie esigenze.

Ad esempio le porte locali possono differire, se già utilizzate, ed anche le cartelle locali possono avere nomi e path differenti. A tal proposito si ricorda che le cartelle presenti sul proprio host sono nascoste di default, quindi occorre abilitare la relativa opzione per dare un’occhiata.

Per una rapida consultazione si riporta la lista delle porte esposte dal container

  • 9090 – accesso dashboard
  • 1883 – MQTT
  • 5683 – COAP

e delle cartelle

  • /data – database
  • /var/log/thingsboard – log di sistema

L’esecuzione del comando può richiedere alcuni minuti a seconda della velocità della connessione Internet in quanto occorre scaricare tutte le immagini Docker richieste.

Al termine basta aprire il browser all’indirizzo http://{indirizzo-host}:9090  (ad esempio http://localhost:9090) per accedere alla pagina di login.

thingsboard1

Di default sono previsti 3 utenti demo per ciascuna categoria, le cui credenziali di accesso sono di seguito riportate:

  • System Administrator: sysadmin@thingsboard.org / sysadmin
  • Tenant Administrator: tenant@thingsboard.org / tenant
  • Customer User: customer@thingsboard.org / customer

E’ sempre possibile e fortemente consigliato modificare le password per motivi di sicurezza.

thingsboard3

Grazie alla presenza della sessione di terminale possiamo osservare in tempo reale i log dell’applicazione.

thingsboard2

Per uscire dalla modalità interattiva occorre digitare la sequenza Ctrl+p Ctrl+q.

Per riattivarla

docker attach mytb

Per fermare e riavviare il container basta utilizzare i classici comandi di Docker rispettivamente

docker stop mytb

docker start mytb

Ecco che si comprende meglio la necessità di attribuire un nome significativo al container.

La prossima volta cominceremo ad esplorare la piattaforma più in dettaglio.

 

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Utilizzando il sito, accetti l'invio dei cookies da parte nostra. Maggiori informazioni

Questo sito utilizza i cookies per fornire la migliore esperienza di navigazione possibile. Continuando ad utilizzarlo senza modificare le impostazioni o cliccando su "Accetta" acconsenti al loro utilizzo.

Chiudi