dans , ,

Installation complète et sécurisée de Jeedom sur docker

2- Installation de jeedom sur docker

Après installation et paramétrage de mariadb/adminer sur docker nous sommes prêt à installer Jeedom et paramétrer.

Avant d’appliquer la commande de lancement du docker, connectez vos clés z-wave, rfxcom, zigbee, etc… sur votre matériel.

Nous allons dès à présent rechercher le matériel en se connectant à nouveau à notre système en ssh en tant qu’utilisateur root:

ssh -p 22 192.168.***.*** -l root

Identification des périphériques USB:

Vous pouvez sauter cette étape si vous n’avez rien de connecté au port usb. il est toujours possible de modifier le container ultérieurement pour installer des périphériques.

Nous allons rechercher l’identifiant unique du périphérique, car beaucoup plus stable qu’une association simple par périphérique du type /dev/ttyUSB1, ainsi pour trouver les périphériques nous allons taper la commande:

$ ls -l /dev/serial/by-id

Ce qui va retourner dans notre cas les valeurs suivantes:

lrwxrwxrwx 1 root root 13 nov.  27 16:36 usb-0658_0200-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 nov.  27 16:36 usb-Cartelectronic_Interface_USB_1_TIC_DA33DTBE-if00-port0 -> ../../ttyUSB1
lrwxrwxrwx 1 root root 13 nov.  27 16:36 usb-RFXCOM_RFXtrx433_A1XSV19D-if00-port0 -> ../../ttyUSB2
lrwxrwxrwx 1 root root 13 déc.   3 13:28 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B00194309AD-if00 -> ../../ttyACM1

on peut voir ci-dessus la liste de no périphériques usb:

  1. usb-0658_0200-if00 -> ../../ttyACM0 correspond à notre clé z-wave z-stick aeontech gen5, valeur à intégrer dans la création de l’image docker:
    --device=/dev/serial/by-id/usb-0658_0200-if00:/dev/ttyACM0
  2. usb-Cartelectronic_Interface_USB_1_TIC_DA33DTBE-if00-port0 -> ../../ttyUSB1 correspond au module de suivi de consommation éléctrique Cartelectronic, valeur à intégrer dans la création de l’image docker:
    --device=/dev/serial/by-id/usb-Cartelectronic_Interface_USB_1_TIC_DA33DTBE-if00-port0:/dev/ttyUSB1
  3. usb-RFXCOM_RFXtrx433_A1XSV19D-if00-port0 -> ../../ttyUSB2 correspond à notre clé rfxcom fréquence 433mhz, valeur à intégrer dans la création de l’image docker:
    --device=/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1XSV19D-if00-port0:/dev/ttyUSB2
  4. Texas_Instruments_TI_CC2531_USB_CDC___0X00124B00194309AD-if00 -> ../../ttyACM1 correspond à notre clé zigbee avec antenne CC2531. ( nous ne l’intégrerons pas à la création du container docker, car celle-ci fonctionne avec zigbe2mqtt qui actuellement n’est pas soutenu comme plugin dans jeedom.

Création du container Jeedom en mode « host »

Le mode bridge est déconseillé car non présent sur le réseau hôte certains module. Comme celui de lunarok xiaomi ne fonctionneront pas et vous ne pourrez pas installer les modules zigbee de xiaomi par exemple.

Depuis peut le tag latest de l’image jeedom est régulièrement mis à jour, mais pour l’instant nous rencontrons encore des soucis d’installations, donc on utilisera le tag master qui reste pour l’instant l’image la plus stable pour réussir son installation.

sudo mkdir -p /sharedfolders/Appdata/Jeedom/html

Maintenant que nous avons identifié nos périphériques nous pouvons lancer la commande d’installation de l’image. Toujours sur notre système d’exploitation connecté en ssh en tant que root:

docker run -d --net host --name jeedom \
-v /.../Jeedom/html:/var/www/html \ # dans omv ce seras de préférence your_jeedom_path remplacé par /sharedfolders/Appdata/
-e ROOT_PASSWORD=PASSWORD \ # à remplacer par votre mot de passe root
-e APACHE_PORT=9080 \ 
-e SSH_PORT=9022 \ 
-e MODE_HOST=1 \ 
--cap-add=SYS_ADMIN \ # ajout des accès bluetooth (module blea par exemple ) 
--device=/dev/net/tun \
--device=/dev/serial/by-id/usb-Cartelectronic_Interface_USB_1_TIC_DA33DTBE-if00-port0:/dev/ttyUSB1 \ 
--device=/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1XSV19D-if00-port0:/dev/ttyUSB2 \
--device=/dev/serial/by-id/usb-0658_0200-if00:/dev/ttyACM0 \ 
--restart always jeedom/jeedom:master

Remplacez: PASSWORD par un mot de passe root pour jeedom,
l’ajout des accès bluetooth est à mettre en place, si vous avez une carte bluetooth, intégré à la carte mère dans votre NAS afin de pouvoir utiliser les modules BLEA.

Installation du bluetooth embarqué

Prenons le cas d’une carte bluetooth Realtek. Ensuite installons le firmware sur debian si ce n’est pas fait.

$ sudo apt-get install firmware-realtek
$ cd /lib/firmware/rtlwifi
$ wget https://github.com/wkennington/linux-firmware/raw/master/rtlwifi/rtl8822befw.bin
$ sudo reboot
$ hcitool dev
Devices:
	hci0	D0:C5:D3:33:7C:52 # Notre carte bluetooth est bien reconnu
$ ls -l /sys/class/bluetooth # on cherche le composant bluetooth
hci0 -> ../../devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0 \ adresse unique de notre carte

De plus pour faire remonter le bluetooth dans le plugin BLEA de jeedom. Il faut installer sur votre Container le bluetooth.

$ ls -l /sys/class/bluetooth \ on regarde si la carte est reconnu
total 0
lrwxrwxrwx 1 root root 0 Dec 20 14:59 hci0 -> ../../devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14:1.0/bluetooth/hci0 # réponse ok
$ hctitool dev
Devices:
	hci0	D0:C5:D3:33:7C:52 \ bluetooth ok
$ apt install -y bluetooth bluez

Finalement le bluetooth remontera dans notre jeedom sans créer d’extra arg pour la création du container contrairement au port usb.

docker run -d --net host --name jeedom \
-v /your_jeedom_path:/Jeedom/html:/var/www/html \
-e ROOT_PASSWORD=PASSWORD \
-e APACHE_PORT=9080 \ 
-e SSH_PORT=9022 \ 
-e MODE_HOST=1 \ 
--restart always jeedom/jeedom:master

Rapport

Enthusiast

Écrit par Nicolas

Community ModeratorVerified UserStory MakerYears Of Membership

Commentaires

Laisser un commentaire
  1. Bonjour,

    Je suis en pleine installation, pas spécialement au top avec OMV et docker, j’en suis à l’installation de adminer qui à priori se passe bien et est opérationnel
    state > running par contre quand je teste d’un navigateur avec http://192.168.***.***/8080 je n’ai pas d’accès et je ne peux rien faire
    « Software Failure. Press left mouse button to continue. The requested page was not found. » un clic de souris ne donne accès à rien de plus.

    Bref comment vérifier/rendre opérationnel tout ça? Merci
    cordialement

    • Ok, as-tu aussi installé mariadb comme stipule le tuto, adminer n’est qu’une interface graphique qui permet de se connecter à la base de donnée, aussi que compte-tu installer sur cette base de donnée, pour pouvoir t’aider il faudrait être plus précis dans ce que tu voudrais mettre en place ?

  2. Bonsoir

    Sur un Synology DS718+ Jeedom V4 tourne bien sur une VMM avec 3 clés Zwave, Conbee et Rfxcom
    Pour libérer des ressources et par curiosité je voulais installer jeedom sur docker (que je découvre).
    Je bute dans la partie « Identification des périphériques USB »
    La commande ls -l /dev/serial/by-id me donne ls: cannot access /dev/serial/by-id: No such file or directory en réponse.

    Auriez-vous une idée du problème et comment le résoudre ?
    Merci d’avance pour votre aide !

Un ping

  1. Pingback:

Laisser un commentaire

Chargement…

0
Watchtower pour automatiser la mise à jour des images docker

Automatiser la mise à jour des images Docker grâce à watchtower