Petite introduction: je tente la création d’un container docker Jeedom sur un Jetson Nano, afin de bénéficier de sa capacité de calcul et éventuellement de pouvoir y ajouter d’autres fonctions de type IA.
J’utilise pour cela le container docker L4T (l’OS de référence pour les Jetson), et dans le container j’ai effectué les modifications nécessaires pour assurer l’installation à partir du script d’installation install.sh
Je démarre manuellement ensuite Apache (/etc/init.d/apache2 start) et MySQL, puisque le container n’est pas démarré par sysctl
Je peux par la suite accéder à Jeedom, installer des plugins, malheureusement Jeedom reste en mode « non lancé », ie « Jeedom est en cours de démarrage »
Le statut de santé reporte le même problème (CRON est OK par contre)
J’ai cherché les pistes classiques déjà répertoriées par ailleurs, ie:
echo « www-data ALL=(ALL) NOPASSWD: ALL » | (EDITOR=« tee -a » visudo)
echo « www-data ALL=NOPASSWD:/sbin/reboot » | (EDITOR=« tee -a » visudo) && echo « www-data ALL=NOPASSWD:/sbin/poweroff » | (EDITOR=« tee -a » visudo)
bonjour
un pot très très geek m’a prêter son joujou pour savoir si on pouvait faire quelque chose coté domotique
lui est docteur en detection d’image et moi simple mortel mais amoureux de la domotique.
j’ai tenté d’installer jeedom comme un brute et bien entendu ça n’a pas marché, du moins pas du premier coup.
J’ai lu les lignes d’erreur et la première installation a commencé à planter vers php
j’ai essayé d’installé manuellement php 7.0 et relancé l’installation. Ensuite j’ai buter violement sur MySQL sans jamais résoudre le problème.
j’ai donc re-flashé la carte SD avec l’image pour jeston nano (ubuntu 18.x) et avant de lancer l’installation de jeedom j’ai pré installé php7.0.
J’ai ensuite lancé l’installation de jeedom qui cette fois-ci s’est installée sans aucun soucis.
j’ai pu installer quelque plugin dont homebridge et weather pour l’instant… a voir par la suite pour la partie caméra mais je sens que je vais rebuter sur ffmpeg je pense.
Pour information, voici le log http.error (le seul disponible):
[Tue Dec 17 16:23:26.176370 2019] [mpm_prefork:notice] [pid 21518] AH00163: Apache/2.4.29 (Ubuntu) configured – resuming normal operations
[Tue Dec 17 16:23:26.176906 2019] [core:notice] [pid 21518] AH00094: Command line: ‹ /usr/sbin/apache2 ›
Device « eth0@if15 » does not exist.
Device « eth0@if15 » does not exist.
Device « eth0@if15 » does not exist.
Device « eth0@if15 » does not exist.
Device « eth0@if15 » does not exist.
Device « eth0@if15 » does not exist.
Device « eth0@if15 » does not exist.
Device « eth0@if15 » does not exist.
dmesg: read kernel buffer failed: Operation not permitted
dmesg: read kernel buffer failed: Operation not permitted
dmesg: read kernel buffer failed: Operation not permitted
Device « eth0@if15 » does not exist.
Device « eth0@if15 » does not exist.
System has not been booted with systemd as init system (PID 1). Can’t operate.
Bon j’ai résolu mon problème, un peu brutalement cependant…
Comme le container n’utilise pas systemd pour démarrer les services, j’ai effectué un cd /etc/init.d et j’ai démarré manuellement tous les services présents (enfin ceux qui avaient du sens):
donc a priori apache2 cron fail2ban mysql procps rsync apache-htcacheclean apport avahi-daemon dbus haveged
A priori je penche pour apache-htcacheclean, car j’ai relancé le container, et j’ai donc du relancer manuellement apache2 et MySQL, et la cette fois Jeedom a démarré sans que j’ai besoin de relancer les autres services
J’aurai du controller manuellement après chaque lancement de service, mais bon
Maintenant je vais m’atteler à faire communiquer le container avec l’exterieur.
[EDIT] c’était le service rsync qui causait problème (j’ai retesté avec un container tout frais)
J’ai donc maintenant une image container Jeedom sur Jetson, qui necessite juste à priori de démarrer à apache2, MySQL et rsync dans /etc/init.d
J’ai créé le containeur en faisant un « passthrough » des périphériques USB RFXCom et ZWave, et bingo mon Jeedom peut maintenant communiquer avec l’exterieur.
C’est beau la techhnique…
Il faut juste que je trouve comment redémarrer les services idoines automatiquement dans le containeur, en cas de redémarrage.