Besoin d'aide pour accéder à mon broker mqtt depuis Jeedom installé dans un containeur

Bonjour,
C’est un problème purement docker je crois : les 3 containers sont installés sur la même VM Debian 11 à savoir le brocker MQTT, Home-Assistant et Jeedom chacun dans son container ?
Mais comme Jeedom est configuré sur un reseau Macvlan il n’est pas sur le même réseau que les 2 autres containers donc il ne communique pas avec eux…
C’est obligatoire le réseau Macvlan ? Moi j’ai Jeedom dans Docker sans macvlan et ça fonctionne très bien, tous mes containers sont sur le même réseau (mais peut être certains plugins le demandent…)
docker network ls – pour voir la liste des réseaux disponibles ?

Voilà pour les réseaux qu’utilisent mes différents containeurs.
image

C’est ça, sauf Mosquitto, installé à l’aide de paquet.

Pas forcément. C’est juste que dans le tuto de @Didier3L , il indique ceci :
image

Je me suis dit : quitte à réinstaller autant le faire de façon durable.

En tout cas, merci pour votre aide.

ça alors! je viens de découvrir que le container avec un réseau macvlan ne peut pas atteindre son host, ni le host ne peut atteindre le container macvlan… cela doit expliquer ton problème non?

Essaye de voir si cette solution fonctionne, j’ai pas tout compris mais ça parle de faire un 2e réseau macvlan…
A mon avis tu aurais eu moins de problème si tu avais mis ton brocker aussi dans un container au lieu de l’installer directement sur l’host. Il existe des containers mqtt tout prêt que tu n’a qu’à démarrer, j’utilise mosquitto ( Docker Hub ) Quitte à avoir installé docker, autant l’utiliser :slight_smile:

1 « J'aime »

Mais carrément!!! Quelle info! Merci pour cette trouvaille!

Avec un conteneur attaché à un réseau macvlan, vous constaterez que même s’il peut contacter d’autres systèmes sur votre réseau local sans problème, le conteneur ne pourra pas se connecter à votre hôte (et votre hôte ne pourra pas se connecter à votre récipient). Il s’agit d’une limitation des interfaces macvlan : sans prise en charge spéciale d’un commutateur réseau, votre hôte est incapable d’envoyer des paquets à ses propres interfaces macvlan.

Est-ce que cela explique aussi le fait que je ne puisse pas accéder à Jeedom depuis l’extérieur ?
Un problème à la fois.

Tu as raison!
Je vais voir si j’arrive à exploiter la solution proposée, j’aviserais ensuite.

Hey!!!

Cerise sur le gâteau, mon accès depuis l’extérieur fonctionne!

Il ne me reste plus qu’à restaurer ma sauvegarde!
Merci à tout le monde

@Bad ,

Après restauration de ma Backup, tout fonctionne sauf jMQTT.
Les dépendances ne s’installent pas correctement.
Voici les log.

======================================================================
== 11/11/2022 21:00:19 == Dependencies installation for jMQTT
======================================================================
[  0% ] : Checking parameters...
== System: Linux jeedom 6.0.0-7.1-liquorix-amd64 #1 ZEN SMP PREEMPT_DYNAMIC liquorix 6.0-2.1~bullseye (2022-11-03 x86_64 GNU/Linux
== Jeedom version: 4.3.10
== jMQTT version: 2022-11-10
[  9% ] : Checking parameters : [  OK  ]
[ 10% ] : Synchronize the package index...
[ 19% ] : Synchronize the package index : [  OK  ]
[ 20% ] : Install Composer...
[ 29% ] : Install Composer : [  OK  ]
[ 30% ] : Install JsonPath-PHP library...
[ 39% ] : Install JsonPath-PHP library : [  OK  ]
[ 40% ] : Remove Composer...
[ 49% ] : Remove Composer : [  OK  ]
[ 50% ] : Install python3 venv and pip debian packages...
[ 59% ] : Install python3 venv and pip debian packages : [  OK  ]
[ 60% ] : Create a python3 Virtual Environment...
[ 69% ] : Create a python3 Virtual Environment : ERROR
[ 70% ] : Install required python3 libraries in venv...
[ 99% ] : Install required python3 libraries in venv : ERROR
[100% ] : Finished !
======================================================================
== KO == Installation Error
======================================================================
== ANALYSING ERRORS...
== NO KNOWN ERROR DETECTED
== Error in step : Create a python3 Virtual Environment
== Line 41
== Command `sudo -u www-data python3 -m venv /var/www/html/plugins/jMQTT/resources/jmqttd/venv' have an issue
== Return code is 1
== Error message :
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt-get install python3-venv
You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/var/www/html/plugins/jMQTT/resources/jmqttd/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
======================================================================
== Error in step : Install required python3 libraries in venv
== Line 44
== Command `sudo -u www-data /var/www/html/plugins/jMQTT/resources/jmqttd/venv/bin/pip3 install --no-cache-dir -r /var/www/html/plugins/jMQTT/resources/python-requirements/requirements.txt' have an issue
== Return code is 1
== Error message :
/var/www/html/plugins/jMQTT/resources/jmqttd/venv/share/python-wheels/requests-2.21.0-py2.py3-none-any.whl/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.26.5) or chardet (3.0.4) doesn't match a supported version!
Traceback (most recent call last):
File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/bin/pip3", line 6, in 
from pip._internal import main
File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/pip/_internal/__init__.py", line 40, in 
from pip._internal.cli.autocompletion import autocomplete
File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py", line 8, in 
from pip._internal.cli.main_parser import create_main_parser
File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py", line 8, in 
from pip._internal.cli import cmdoptions
File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/pip/_internal/cli/cmdoptions.py", line 22, in 
from pip._internal.utils.ui import BAR_TYPES
File "/var/www/html/plugins/jMQTT/resources/jmqttd/venv/lib/python3.7/site-packages/pip/_internal/utils/ui.py", line 15, in 
from pip._vendor.progress.helpers import HIDE_CURSOR, SHOW_CURSOR, WritelnMixin
ModuleNotFoundError: No module named 'pip._vendor.progress.helpers'
======================================================================

Si je supprime puis réinstalle le plugin, il fonctionne correctement.
(Et repartir de zéro sous-entend beaucoup trop de travail).

@mitch55, supprimer le plugin ne n’est pas nécessaire, supprime le répertoire var/www/html/plugins/jMQTT/resources/jmqttd/venv
Puis de relancer les dépendances

J’y suis presque.

Il reste ce soucis :

*Edit : je n’ai rien dit : après un redémarrage, une réinstallation des dépendances et un redémarrage du Démon : tout semble revenu à la normal! C’est parfait.

Merci @Bad

Impec, ravi qu’on ait pu t’aider

1 « J'aime »

Nickel merci :slight_smile:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.