Suite à notre article sur la présentation de la plateforme IoT Thingsboard, nous allons maintenant voir comment installer Thingsboard CE sur un serveur via Docker
Thingsboard CE via Docker
Voici les instructions pour l'installation de Thingsboard via Docker. Si cette méthode vous intéresse, mais que vous n'avez pas encore de serveur Docker, vous pouvez vous référer à notre tuto : Tuto d'installation de Docker
Attention, cette méthode passe par l'extension Docker Compose. Si vous ne l'avez pas installé, vous pouvez suivre ces instructions.
Différents types d'images Docker pour Thingsboard
Selon la base de données utilisée, il existe trois types d'images Docker à instance unique ThingsBoard :
-
Thingsboard/tb-postgres - instance unique de ThingsBoard avec la base de données PostgreSQL.
Option recommandée pour les petits serveurs avec au moins 1 Go de RAM et une charge minimale (quelques messages par seconde). 2 à 4 Go sont recommandés.
-
Thingsboard/tb-cassandra - instance unique de ThingsBoard avec la base de données Cassandra.
L'option la plus performante et recommandée, mais nécessite au moins 4 Go de RAM. 8 Go est recommandé.
-
Thingsboard/tb - instance unique de ThingsBoard avec base de données HSQLDB intégrée.
Remarque : Non recommandé pour toute évaluation ou utilisation en production et est utilisé uniquement à des fins de développement et de tests automatiques.
Choisissez le service de file d'attente ThingsBoard
ThingsBoard est capable d'utiliser divers systèmes de file d'attente pour stocker les messages et la communication entre les services ThingsBoard.
Il y a plusieurs services de file d'attentes, que vous pouvez consulter ici
Dans ce tuto, nous utiliserons le service de file d'attente Kafka avec une base de données Postgres
Fichier YML Docker Compose
Afin de créer les containers Docker dans un Stack pour faire fonctionner Thingsboard, il faut éditer un fichier docker-compose.yml dans lequel nous indiquerons les caractéristiques d'installation.
Pour créer ce fichier, utilisez votre éditeur linux préféré, Vim ou Nano par exemple
nano docker-compose.yml
Dans l'éditeur, vous pouvez coller le code ci-dessous, en l'adaptant à vos besoins :
https://pastecode.io/s/ckuy6wnr
Options à modifier en fonction de vos besoins (facultatif, Thingsboard fonctionnera avec les options par défaut si les ports mentionnés sont disponibles sur votre infrastructure) :
8080:9090 - connecte le port local 8080 au port HTTP interne exposé 9090
1883:1883 - connectez le port local 1883 au port MQTT interne exposé 1883
7070:7070 - connectez le port local 7070 au port RPC Edge interne exposé 7070
5683-5688:5683-5688/udp - connectez les ports UDP locaux 5683-5688 aux ports internes COAP et LwM2M exposés
~/.mytb-data:/data - monte le répertoire de l'hôte ~/.mytb-data dans le répertoire de données ThingsBoard DataBase
~/.mytb-logs:/var/log/thingsboard - monte le répertoire de l'hôte ~/.mytb-logs dans le répertoire des journaux ThingsBoard
mytb - nom local convivial de cette machine
reboot : Always - démarre automatiquement ThingsBoard en cas de redémarrage du système et redémarre en cas d'échec.
image : Thingsboard/tb-postgres - image docker, peut également être Thingsboard/tb-cassandra ou Thingsboard/tb
Enregistrez le fichier .yml et il sera temps de créer les dossiers mentionnés dans le fichier (il faut donc adapter les commandes ci-dessous si vous avez indiqué des chemins personnalisés dans le fichier).
Créer les répertoires Thingsboard
mkdir -p ~/.mytb-data && sudo chown -R 799:799 ~/.mytb-data
mkdir -p ~/.mytb-logs && sudo chown -R 799:799 ~/.mytb-logs
REMARQUE : Remplacez les répertoires ~/.mytb-data et ~/.mytb-logs par les répertoires que vous prévoyez d'utiliser dans docker-compose.yml.
Une fois cela fait, il est temps de déployer le stack.
Lancer Thingsboard
Voici les commandes pour lancer Thingsboard.
docker-compose pull
docker-compose up
Après avoir exécuté cette commande, vous pouvez ouvrir http://{your-host-ip}:8080 dans votre navigateur (par ex. http://localhost:8080). Vous devriez voir la page de connexion de ThingsBoard. Utilisez les identifiants par défaut suivants :
Administrateur système : sysadmin@thingsboard.org / sysadmin
Administrateur de locataire : tenant@thingsboard.org / tenant
Utilisateur client : customer@thingsboard.org / customer
Vous pouvez toujours modifier les mots de passe de chaque compte dans la page de profil du compte.
Détacher, redémarrer et stopper
Vous pouvez vous détacher du terminal de session avec Ctrl-p Ctrl-q - le conteneur continuera à fonctionner en arrière-plan.
En cas de problème, vous pouvez examiner les journaux de service à la recherche d'erreurs. Par exemple, pour voir les journaux des nœuds ThingsBoard, exécutez la commande suivante :
docker-compose logs -f mytb
Pour démarrer :
docker-compose stop
Pour stopper le container :
docker-compose start
Mise à jour et plus
Pour mettre à jour le container et pour mener d'autres actions, vous pouvez vous référer aux instructions officielles.
Il vous faut une machine pour créer un serveur ?
Nous fournissons des mini pc durcis qui peuvent, grâce à leurs caractéristiques, convenir à ce genre d’utilisation.
Consulter les produits cités sur notre shop en cliquant ci-dessous :
Notre équipe avant-vente est disponible pour répondre à vos questions et vous guider à travers vos projets.
Vous pouvez nous contacter directement, nous pouvons définir avec vous une solution et des équipements sur mesure grâce à notre réseau de partenaires.
Formulaire de contact
sales@sparwan.com
02 51 99 13 03