bruno78 Posté(e) le 31 mars 2020 Posté(e) le 31 mars 2020 Bonjour @Didier3L, dans quel répertoire as-tu positionné le docker-compose ? Il peut être placé n'importe où, donc le mieux est de le mettre dans un répertoire séparé de celui d'installation. De mon côté, j'ai l'arborescence suivante : ./docker/ ./jeedom/ ./docker-compose.yaml (<- docker-compose pour jeedom et mariadb) ./html/ (<- mappé sur /var/www/html) ./mariadb/ ./db/ Si le docker-compose est dans le répertoire ./html, alors oui l'installation va le supprimer lorsqu'il va initialiser Jeedom. Ce qui n'est évidemment pas souhaitable. 0 Citer
Didier3L Posté(e) le 31 mars 2020 Posté(e) le 31 mars 2020 Bonjour @bruno78 Effectivement je l’avais mis dans le répertoire d’installation merci. 0 Citer
.Shad. Posté(e) le 31 mars 2020 Auteur Posté(e) le 31 mars 2020 Je profiterai de toute cette discussion qu'on a eue autour du driver macvlan pour compléter le tutoriel, merci de votre participation à tous ! 0 Citer
Didier3L Posté(e) le 1 avril 2020 Posté(e) le 1 avril 2020 (modifié) Bonjour, Je rencontre un petit problème avec la sélection d'un port USB où raccordé une antenne bluetooth. Avec le conteneur et un réseau macvlan il m'est impossible de sélectionner ce port En fouillant sur google je suis tombé sur post qui parlé de mettre le conteneur en mode HOST Ce qui m'arrange pas du tout ... Modifié le 1 avril 2020 par Didier3L 0 Citer
.Shad. Posté(e) le 1 avril 2020 Auteur Posté(e) le 1 avril 2020 Non pas besoin, il faut juste monter l'USB dans le conteneur. Quant à te dire lequel, je ne saurai pas, car jamais fait sur Syno. Mais tout ce dont tu as besoin se trouve à mon avis dans /dev/bus/usb, il faudra faire un montage de volume entre le Syno et le conteneur. Il faut identifier ce que tu as dans le conteneur jeedom dans /dev et trouver ce à quoi ça correspond, là je ne pourrai pas t'aider, plutôt sur les forums jeedom pour cette info. 0 Citer
Didier3L Posté(e) le 2 avril 2020 Posté(e) le 2 avril 2020 J'ai regardé pour le mappage des ports USB J'arrive clairement à identifier les ports USB de 3 clés USB sur les 4 /dev/ttyUSB1 = Bus 001 Device 009: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter /dev/ttyUSB0 = Bus 001 Device 006: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family] /dev/ttyACM0 = Bus 001 Device 005: ID 0658:0200 Sigma Designs, Inc. Aeotec Z-Stick Gen5 (ZW090) - UZB Par contre pour ma clé USB Bluetooth, je ne sais ou la trouver ? Bus 001 Device 010: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) 0 Citer
Didier3L Posté(e) le 6 avril 2020 Posté(e) le 6 avril 2020 Toujours à la recherche de mon problème pour mapper mon port USB avec une clé Bluetooth je suis tombé sur un sujet avec un script qui permet de donner un nom au port USB du genre ttyZwave ou TTYrfcom fix-usb-devices.sh #!/bin/bash mkdir -p /dev/serial/by-id fix_usb_devices () { RULES_FILE="/lib/udev/rules.d/59-usb-serial.rules" for tty_path in $(find /sys/bus/usb/devices/usb*/ -name tty); do tty_iface_path=`dirname $tty_path` serial_device_path=`dirname $tty_iface_path` prefix=usb if test -f "$serial_device_path/idVendor"; then bInterfaceNumber=`cat $tty_iface_path/bInterfaceNumber` else bInterfaceNumber=`cat $serial_device_path/bInterfaceNumber` # We need to go up 1 level to get information serial_device_path=`dirname $serial_device_path` manufacturer=`cat $serial_device_path/manufacturer` fi idVendor=`cat $serial_device_path/idVendor` product=`cat $serial_device_path/product` idProduct=`cat $serial_device_path/idProduct` serial=`cat $serial_device_path/serial` if [ ! -z "$manufacturer" ]; then symLink="${prefix}-${manufacturer}\_${product}\_${serial}-if${bInterfaceNumber}-port0" echo $SUBSYSTEM else symLink="${prefix}-${idVendor}\_${product}\_${serial}-if${bInterfaceNumber}" fi line="SUBSYSTEM==\"tty\", ATTRS{idVendor}==\"${idVendor}\", ATTRS{idProduct}==\"${idProduct}\", SYMLINK+=\"serial/by-id/${symLink}\"" echo $line grep -s $symLink $RULES_FILE >/dev/null || \ echo ${line} >> $RULES_FILE done udevadm control --reload udevadm control --reload-rules && udevadm trigger } fix_usb_devices 0 Citer
.Shad. Posté(e) le 8 avril 2020 Auteur Posté(e) le 8 avril 2020 Quelques liens que j'ai trouvés : https://community.home-assistant.io/t/trying-to-get-usb-bluetooth-tracker-working-with-ha-docker/65004/3 https://stackoverflow.com/questions/28868393/accessing-bluetooth-dongle-from-inside-docker Tu as essayé d'ajouter l'option : privileged: true dans ton fichier compose ? 0 Citer
Fredje_B Posté(e) le 9 avril 2020 Posté(e) le 9 avril 2020 (modifié) De mon coté, je n'arrive même pas à avoir le USB actif...j'ai installé les différents paquets mais il ne voit pas le contrôleur. Je pensais que c'était à cause de la Machine Virtuelle qui utilisait (et donc bloquait) le contrôleur USB, je l'ai dont désactivé sur la MV mais rien n'y fait. Je lance les commandes suivantes et obtient les messages suivant : service bluetooth start [ ok ] Starting bluetooth: bluetoothd. service bluetooth status [FAIL] bluetooth is not running ... failed! rfkill list Can't open RFKILL control device: No such file or directory Une idée pour me dépanner? Modifié le 9 avril 2020 par Fredje_B 0 Citer
Didier3L Posté(e) le 9 avril 2020 Posté(e) le 9 avril 2020 Le 08/04/2020 à 10:06, .Shad. a dit : Quelques liens que j'ai trouvés : https://community.home-assistant.io/t/trying-to-get-usb-bluetooth-tracker-working-with-ha-docker/65004/3 https://stackoverflow.com/questions/28868393/accessing-bluetooth-dongle-from-inside-docker Tu as essayé d'ajouter l'option : dans ton fichier compose ? Bonjour @shad Oui mon docker compose à bien privileged: true J'ai vu dans des forum avec une valeur -itd Qu'est-ce que c'est ? Il y a 5 heures, Fredje_B a dit : De mon coté, je n'arrive même pas à avoir le USB actif...j'ai installé les différents paquets mais il ne voit pas le contrôleur. Je pensais que c'était à cause de la Machine Virtuelle qui utilisait (et donc bloquait) le contrôleur USB, je l'ai dont désactivé sur la MV mais rien n'y fait. Je lance les commandes suivantes et obtient les messages suivant : service bluetooth start [ ok ] Starting bluetooth: bluetoothd. service bluetooth status [FAIL] bluetooth is not running ... failed! rfkill list Can't open RFKILL control device: No such file or directory Une idée pour me dépanner? C'est par ici que cela se passe https://community.jeedom.com/t/docker-mappage-des-ports-usb/22710 0 Citer
Didier3L Posté(e) le 12 avril 2020 Posté(e) le 12 avril 2020 (modifié) Bonjour @shad @bruno78 Dans mon Dockerfile, je voudrais ajouter des instructions comme ajouter des lignes dans le fichier /etc/apt/sources.list C'est bien comme cela ? # Ajout dans /etc/apt/sources.list RUN echo "deb-src http://deb.debian.org/debian stretch main non-free" >> /etc/apt/sources.list RUN echo "deb-src http://deb.debian.org/debian stretch-updates main non-free" >> /etc/apt/sources.list RUN echo "deb-src http://security.debian.org stretch/updates main non-free" >> /etc/apt/sources.list Modifié le 12 avril 2020 par Didier3L 0 Citer
.Shad. Posté(e) le 12 avril 2020 Auteur Posté(e) le 12 avril 2020 Jamais touché à un Dockerfile encore, par contre si tu modifies l'image, quid des mises à jour de celle-ci ? Ça effacera tes modifications. A ta place je partirais plutôt sur un script externe qui s'en chargera. Éventuellement une ligne de commande dans le fichier compose, il faudra que tu te renseignes j'ai jamais eu besoin de le faire je ne peux pas t'aiguiller mais je sais que ça existe. 0 Citer
bruno78 Posté(e) le 14 avril 2020 Posté(e) le 14 avril 2020 Bonjour @Didier3L, @.Shad., a priori il y a 2 solutions : utiliser la commande (dans un script) docker exec -it <jeddom-docker-name> <commande> . Attention ça ne marche pas à tous les coups ! j'ai déjà eu des surprises. A tester donc. Ma préférence : éditer le fichier localement sur son NAS, et faire un montage dans le docker via la directive "volume:" du docker-compose.yaml et faire le montage en read-only : volumes: - "/volume1/docker/jeedom/html:/var/www/html" - "/volume1/docker/jeedom/aptsources.list:/etc/apt/sources.list:ro" Bruno78 0 Citer
.Shad. Posté(e) le 14 avril 2020 Auteur Posté(e) le 14 avril 2020 Je ne l'ai pas proposé car pour moi c'est risqué, le jour où ils changent les repositories, on l'a dans l'os avec notre fichier monté. Et par ligne de commande certes oui, mais ça nécessite une étape supplémentaire. Il peut par exemple définir un script, avec une temporisation en entrée, et l'ajout via >> de ses repositories. Et demander l'exécution de ce fichier dans le compose via l'argument "command:" 0 Citer
bruno78 Posté(e) le 14 avril 2020 Posté(e) le 14 avril 2020 D'accord, mais je ne sais pas si les repositories changent fréquemment ? Sinon c'est quand même assez pratique Effectivement, il y a aussi l'argument "command" dans le docker-compose. Je n'y avais pas pensé 0 Citer
.Shad. Posté(e) le 14 avril 2020 Auteur Posté(e) le 14 avril 2020 il y a 1 minute, bruno78 a dit : D'accord, mais je ne sais pas si les repositories changent fréquemment ? Sinon c'est quand même assez pratique Dans les faits, non. Mais le problème c'est que c'est le dernier endroit où personnellement je penserais à aller regarder en cas de problème. Je pourrais tourner des jours à mon avis. 0 Citer
Didier3L Posté(e) le 15 avril 2020 Posté(e) le 15 avril 2020 Bonjour @bruno78 J'ai un peu de mal avec les adresse IP attribuées par macvlan j'ai créé un réseau macvlan docker network create \ -d macvlan \ --subnet=192.168.1.0/24 \ --ip-range=192.168.1.240/29 \ --gateway=192.168.1.254 \ --aux-address="host_bridge=192.168.1.241" \ -o parent=eth0 \ mymacvlan J'ai créée le routage comme suit ip link add macvlan-br0 link eth0 type macvlan mode=bridge ip addr add 192.168.1.241/32 dev macvlan-br0 # ip link set dev macvlan-br0 address 0:1:2:3:4:5 ip link set macvlan-br0 up # ip route add 192.168.1.240/29 dev macvlan-br0 Jusque la pas de problème ... ensuite j'ai créé un docker-compose avec deux conteneurs Jeedom avec une adresse 192.168.1.240 MariaDB avec une adresse 192.168.1.242 L'adrese 192.168.1.241 étant réservé pour atteindre l'hote. version: '2' networks: default: external: name: mymacvlan services: jeedom: container_name: jeedom-db-macvlan build : ./ hostname: jeedom mac_address: a0:ca:ab:cd:ef:01 networks: default: ipv4_address: 192.168.1.240 volumes: - "/volume1/docker/jeedom-db-macvlan/html/:/var/www/html" devices: - "/dev/ttyUSB0:/dev/ttyUSB0" - "/dev/ttyUSB0:/dev/ttyUSB1" - "/dev/ttyACM0:/dev/ttyACM0" restart: unless-stopped environment: - PUID=1032 - PGID=101 - TZ=Europe/Paris - MODE_HOST=0 - SSH_PORT=22 - APACHE_PORT=80 - SSH_PASSWORD=Jeedom - ROOT_PASSWORD=Jeedom - SHELL_ROOT_PASSWORD=Mjeedom96 - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin depends_on: - mariadb mariadb: container_name: mariadb image: mariadb:latest hostname: mariadb mac_address: a0:ca:ab:cd:ef:02 networks: default: ipv4_address: 192.168.1.242 environment: - MYSQL_ROOT_PASSWORD=jeedom - MYSQL_DATABASE=jeedom - MYSQL_USER=jeedom - MYSQL_PASSWORD=jeedom volumes: - "/volume1/docker/mariadb/db:/val/lib/mysql" Mais l'adresse 192.168.1.242 pour MariaDB n'est pas accessible ... un ping depuis mon PC ne donne rien As tu une idée ? peut être le nombre d'adresse ? 0 Citer
bruno78 Posté(e) le 15 avril 2020 Posté(e) le 15 avril 2020 Bonjour @Didier3L, je pense que l'erreur est d'avoir attribué la 192.168.1.140 à Jeedom. L'adresse 192.168.1.140 représente le réseau, je ne pense pas que l'on puisse l'utiliser ici. Peux-tu refaire l'essai en attribuant par exemple 192.168.1.142 à mariadb comme tu l'as fait, et 192.168.1.143 à Jeedom au lieu de .140 ? (donc modif juste dans la partie service pour Jeedom) 0 Citer
Didier3L Posté(e) le 15 avril 2020 Posté(e) le 15 avril 2020 (modifié) il y a 11 minutes, bruno78 a dit : Bonjour @Didier3L, je pense que l'erreur est d'avoir attribué la 192.168.1.140 à Jeedom. L'adresse 192.168.1.140 représente le réseau, je ne pense pas que l'on puisse l'utiliser ici. Peux-tu refaire l'essai en attribuant par exemple 192.168.1.142 à mariadb comme tu l'as fait, et 192.168.1.143 à Jeedom au lieu de .140 ? (donc modif juste dans la partie service pour Jeedom) ok Je vais mettre 192.168.242 et 192.168.243 Merci Modifié le 15 avril 2020 par Didier3L 0 Citer
bruno78 Posté(e) le 15 avril 2020 Posté(e) le 15 avril 2020 oups ! lu trop vite ! mais ma remarque reste valable. Passe Jeedom en .243 au lieu de .240 . réseau : xxx.240/29 macvlan-br0 : xxx.241/32 mariadb : xxx.242 jeedom : xxx.243 0 Citer
.Shad. Posté(e) le 15 avril 2020 Auteur Posté(e) le 15 avril 2020 Tu tapes IP calculator sur Google, tu rentres ton IP range et tu verras les IP que tu peux utiliser. 0 Citer
Didier3L Posté(e) le 18 avril 2020 Posté(e) le 18 avril 2020 Bonsoir @shad Bonsoir @bruno78 J'ai terminé mon tuto https://community.jeedom.com/t/tuto-installation-de-jeedom-sur-synology-avec-docker-en-reseau-macvlan/22039 Merci encore pour votre aide précieuse 👍👍 1 Citer
.Shad. Posté(e) le 18 avril 2020 Auteur Posté(e) le 18 avril 2020 Top, ça va sûrement en aider plus d'un 🙂 0 Citer
.Shad. Posté(e) le 14 mai 2020 Auteur Posté(e) le 14 mai 2020 (modifié) Màj du 14/05/2020 : Le tutoriel a été retravaillé, certains points ont été mis en avant, afin de faciliter la compréhension de la philosophie sous-jacente. Ajout d'informations dans la section Réseaux (avancé) suite aux discussions des pages précédentes, avec notamment l'apport de @bruno78 Modifié le 14 mai 2020 par .Shad. 0 Citer
Phenix21 Posté(e) le 22 mai 2020 Posté(e) le 22 mai 2020 (modifié) Bonsoir ! Tuto très instructif, qui m'a aidé à me lancer sur docker sur ds218+, merci du temps consacré pour le mettre en forme (et tous les autres d'ailleurs). Je m'en sers notamment pour pihole avec driver macvlan, ainsi que pour une instance hass.io en bridge je pense (puisque pas de ports doublons). Il y a une phrase que je ne comprends pas dans l'ajout "réseau" du tuto, quelqu'un pourrait-il me l'expliquer ? Citation Attention cependant, en macvlan, l'hôte ne peut plus communiquer, via son interface physique, avec le conteneur !! Ce n'est pas gênant dans le cas du contrôleur Unifi d'Ubiquity, mais beaucoup plus dans le cas de Pihole par exemple. Ca pourrait expliquer un souci que j'ai sur hass.io. Ce dispositif intègre notamment un dispositif d'extensions, qui permet de monter simplement des conteneurs complémentaires liés à l'instance principale. Je l'ai fait pour installer simplement un broker mqtt sur un port dédié (3000). A vérifier quand je rentrerai chez moi, mais c'est pas impossible que hass.io + les conteneurs extensions soient sur un réseau bridge dédié. J'en arrive à la problématique : je dois lier l'ip du broker dans hass.io, ça fonctionne quand je renseigne "localhost", mais pas quand je renseigne ip_nas:3000. Pourtant j'arrive à lier les appareils domotiques sur le broker via l'ip_nas:3000. Cela pourrait-il être lié à cette histoire de réseau ? Je sais pas si c'est lié, mais hass.io n'arrive pas à contacter mon contrôleur unifi, monté sur une ip dédiée via macvlan. Si vous avez des pistes de solution, je suis preneur, mais sinon tant pis 🙂 Merci d'avance, bonne soirée ! Modifié le 22 mai 2020 par Phenix21 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.