Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. USB in Docker via neuer Container über Compose u.a. andere

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    USB in Docker via neuer Container über Compose u.a. andere

    This topic has been deleted. Only users with topic management privileges can see it.
    • Glasfaser
      Glasfaser @Guest last edited by Glasfaser

      @dp20eic sagte in USB Device für IOBroker in Docker:

      Ich denke, Du musst die "" bei - PACKAGES="ffmpeg lame sox libsox-fmt-mp3 asterisk" wegnehmen.

      richtig

      @Chrisham

      So :

      - PACKAGES=ffmpeg lame sox libsox-fmt-mp3 asterisk
      

      PACKAGES=influxdb2-cli

      EDIT:
      Packages hintereinander !

      @dp20eic sagte in USB Device für IOBroker in Docker:
      nur wenn Du weißt, was Du machst, solltest Du latest beim Image angeben, denn wenn dann die V10 kommt, dann bügelst Du die über Deine V9,

      Sehr guter Hinweis für Ihn 👍

      Marc Berg 1 Reply Last reply Reply Quote 0
      • Marc Berg
        Marc Berg Most Active @Glasfaser last edited by Marc Berg

        @glasfaser sagte in USB Device für IOBroker in Docker:

        So :

        • PACKAGES=ffmpeg lame sox libsox-fmt-mp3 asterisk
        • PACKAGES=influxdb2-cli

        Das muss alles in eine Zeile. Sonst wird nur "influxdb2-cli" installiert.

        PACKAGES=ffmpeg lame sox libsox-fmt-mp3 asterisk influxdb2-cli
        
        Glasfaser C 2 Replies Last reply Reply Quote 1
        • Glasfaser
          Glasfaser @Marc Berg last edited by

          @marc-berg

          Man sollte nicht mal eben schnell was schreiben und kopieren ... danke für den Hinweis !

          1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @Chrisham last edited by

            @chrisham sagte in USB Device für IOBroker in Docker:

            2.) 2 Adapter sind nicht mit Host verbunden: influxdb und seltsamerweise auch mein KNX-Adapter

            für einmal jedem deiner einzelnen container einen networksabschnitt hinzu
            und dann unter allem ebenfalls einen networks abschnitt ohne einrückung.
            darunter schreibst du einen netzwerknamenmit doppelpunkt (wie in meinem beispiel mit iobrokerprod4

            das erzeugt ein neues bridged netzwerk auf welches nur deine container in dieser konfiguration zugriff haben. jeder container ist mit dem servicenamen als hostname (also influxdb und grafana) erreichbar.
            daher musst du im imfluxdb adapter an der stelle wo die ip dransteht einfach nur influxdb reinschreiben.

            zu knx weiß ich nix. schau mal im log ob da drinsteht,warum er nicht startet.

            C 1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @Chrisham last edited by

              @chrisham sagte in USB Device für IOBroker in Docker:

              achso: die Lovelace-Visu ist auch nicht erreichbar, obwohl der Adapter grün ist....

              alle im container verwendeten ports, müssen auch in der docker-konfiguration mit notiert werden, sonst werden sie nicht bereitgestellt.

              evtl ist es bei knx genauso, wenn der adapter einen server bereitstellt, dann muss der port auf dem host gemappt werden.

              1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @Chrisham last edited by

                @chrisham sagte in USB Device für IOBroker in Docker:

                @chrisham logs im iobroker:
                log_2023-10-24 02_40_30-Window.png

                im adapter steht sicherlich localhost drin, da zuvor influxdb direkt mit iobroker zusammen installiert ist.
                siehe oben, einfach die netzwerkkonfiguration in der docker konfiguration vornehmen und im adapter dann influxdb anstatt localhost eintragen

                1 Reply Last reply Reply Quote 0
                • C
                  Chrisham @Glasfaser last edited by

                  @glasfaser Ok, danke. Also, nach meinem Tagwerk, gehts jetzt wieder hier weiter mit der Nachtschicht... 😉
                  Also Network für Container: tatsächlich habe ich mich da im bisherigen Setup gar nicht groß drum gekümmert, weder bzgl. spezieller Config, noch in Bezug auf das tiefere inhaltliche Verständnis, von daher habe ich auch hier noch eine Lernkurve vor mir.

                  • hier mal das bisherige Setup unter Netzwerk (DSM-UI):
                    container-network-config-old.png

                  Es gibt da also sowohl was mit "host" (iobroker), als auch mit "bridge" (portainer) und noch eine spezielle Sache für influx-grafana... (hab ich wohl aus irgendeinem Youtube tutorial so übernommen)

                  • Das neue Setup (über Portainer docker compose) ergibt an gleicher Stelle nun dieses Config:
                    container-network-config-new.png

                  Also meine Fragen:

                  • was bedeutet jeweils bridge oder host?
                  • wie mache ich es denn im neuen Setup sinnvollerweise?

                  Schon mal danke.

                  1 Reply Last reply Reply Quote 0
                  • C
                    Chrisham @Glasfaser last edited by

                    @glasfaser ok, soll ich neuen aufmachen oder umbenennen?

                    Glasfaser 1 Reply Last reply Reply Quote 0
                    • Glasfaser
                      Glasfaser @Chrisham last edited by

                      @chrisham sagte in USB Device für IOBroker in Docker:

                      oder umbenennen?

                      ist ja schon ein Threadtitel :

                      Rundum Sorglos Paket

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        Chrisham @Guest last edited by

                        @dp20eic said in USB Device für IOBroker in Docker:

                        1. nur wenn Du weißt, was Du machst, solltest Du latest beim Image angeben, denn wenn dann die V10 kommt, dann bügelst Du die über Deine V9, nur vielleicht hat sich das Env. verändert, dann fängst Du an zu suchen, bleib erst einmal innerhalb eines Releases.

                        Mein Wissen erweitert sich täglich :), aber ok, werde ich nochmals überlegen...

                        1. ich sehe, gerade nicht, das Du im ioBroker Container das nötige influxDB-cli mit installierst, brauchst Du aber!
                        InfluxDB
                        
                        The following is valid for all supported cpu architectures.
                        You need to run ioBroker Image Version v8.1.0 or greater.
                        
                        To fulfill the prerequisites for running an InfluxDB backup/ restore with ioBroker.backitup adapter you need to add the following packages to your containers environment variable PACKAGES:
                        

                        ok, danke.

                        Ich denke, Du musst die "" bei - PACKAGES="ffmpeg lame sox libsox-fmt-mp3 asterisk" wegnehmen.

                        VG
                        Bernd

                        aha.

                        Vielen Dank.

                        1 Reply Last reply Reply Quote 0
                        • C
                          Chrisham @OliverIO last edited by

                          @oliverio vielen Dank, also so korrekt (schon bei allen services den gleichen netzwerknamen (iobroker-4)?

                          version: '3'
                          services:
                            iobroker:
                              restart: always
                              image: buanet/iobroker:latest
                              container_name: iobroker-4
                              hostname: iobroker-4
                              ports:
                                - "8081:8081"
                              volumes:
                                - /volume1/docker/iobroker-Chrisham:/opt/iobroker
                                - /volume1/docker/userscripts:/opt/userscripts
                                - /volume1/docker/Backup:/opt/backup/
                              environment:
                                - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                                - DEBIAN_FRONTEND=teletype
                                - LANG=de_DE.UTF-8
                                - LANGUAGE=de_DE:de
                                - LC_ALL=de_DE.UTF-8
                                - SETGID=1000
                                - SETUID=1000
                                - TZ=Europe/Berlin
                                - USBDEVICES=/dev/ttyUSB0
                                - PACKAGES=ffmpeg lame sox libsox-fmt-mp3 asterisk influxdb2-cli
                              devices:
                                - /dev/ttyUSB0:/dev/ttyUSB0
                              networks:
                                iobroker-4:
                            influxdb:
                              restart: always
                              image: influxdb:latest
                              container_name: influxdb-4
                              ports:
                                - "8086:8086"
                              volumes:
                                - /volume1/docker/influxdb/config:/etc/influxdb2
                                - /volume1/docker/influxdb/data:/var/lib/influxdb2
                              environment:
                                - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                                - GOSU_VER=1.12
                                - INFLUXDB_VERSION=2.7.1
                                - INFLUX_CLI_VERSION=2.7.3
                                - INFLUX_CONFIGS_PATH=/etc/influxdb2/influx-configs
                                - INFLUXD_INIT_PORT=8086
                                - INFLUXD_INIT_PING_ATTEMPTS=600
                                - DOCKER_INFLUXDB_INIT_CLI_CONFIG_NAME=default
                                - DOCKER_INFLUXDB_INIT_MODE=setup
                                - DOCKER_INFLUXDB_INIT_USERNAME=iobroker
                                - DOCKER_INFLUXDB_INIT_PASSWORD=*1Xs(QD5gY0!B&XHe1_x
                                - DOCKER_INFLUXDB_INIT_ORG=smarthome
                                - DOCKER_INFLUXDB_INIT_BUCKET=iobroker
                              networks:
                                iobroker-4:  
                            grafana:
                              restart: always
                              image: grafana/grafana:latest
                              container_name: grafana-4
                              ports: 
                                - "3000:3000"
                              volumes:
                                - /volume1/docker/grafana:/var/lib/grafana
                                - /volume1/docker/grafana:/var/lib/grafana/plugins
                              environment:
                                - PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                                - GF_PATHS_CONFIG=/etc/grafana/grafana.ini
                                - GF_PATHS_DATA=/usr/share/grafana
                                - GF_PATHS_HOME=/usr/share/grafana
                                - GF_PATHS_LOGS=/var/log/grafana
                                - GF_PATHS_PLUGINS=/var/lib/grafana/plugins
                                - GF_PATHS_PROVISIONING=/etc/grafana/provisioning
                                - GF_AUTH_access enabled=true
                                - GF_AUTH_org_name=CH_Smart
                              networks:
                                iobroker-4:
                          networks:
                            dockerMACVLAN:
                              external: true
                            iobroker-4:
                          

                          bei influxdb hatte ich im compose-file nichts mit IP drin, das war nur im DSM-Config, d.h. dann einfach nur den eintrag mit networks...?

                          Container laufen schon, baut aber noch im Hintergrund, bin gespannt...
                          Auf DSM-Ebene habe ich beobachtet, dass sich nun der iobroker-name geändert hat (erklärbar...?):
                          2023-10-24 23_31_25-DS920-Plus - Synology NAS - Brave.png

                          C OliverIO 2 Replies Last reply Reply Quote 0
                          • C
                            Chrisham @Glasfaser last edited by

                            @glasfaser gut so?

                            1 Reply Last reply Reply Quote 0
                            • C
                              Chrisham @Chrisham last edited by

                              @chrisham Gibt Probleme, Grafana container will nicht so recht:

                              
                              2023/10/24 23:27:56,stdout,"You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later
                              "
                              2023/10/24 23:27:56,stdout,GF_PATHS_DATA='/usr/share/grafana' is not writable.
                              

                              Das sind exakt die Env-Var/Pfade, die ich bisher beim DSM-Docker-config angegeben habe:
                              2023-10-25 00_04_02-DS920-Plus - Synology NAS - Brave.png

                              Hat sich doch also nichts geändert und das sind doch Pfade innerhalb des Containers.

                              In der Ref (https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/#migrate-to-v51-or-later) steht noch was drin, dass der Container mit User gestartet werden soll, der ents. Rechte hat:

                              Use bind mounts
                              If you plan to use directories on your host for the database or configuration when running Grafana in Docker, you must start the container with a user that has the permission to access and write to the directory you map.

                              Die werden ja durch Portainer gestartet....
                              In der o.g. Referenz stehen bei dem docker-compose Bsp. gar keine Env-Variablen/Pfade drin, soll ich die auch mal rausnehmen...?

                              Der Weg ist doch etwas beschwerlicher als gedacht, dabei wollte ich doch nur mein USB-Smart-Meter anschließen... 😠

                              C OliverIO 3 Replies Last reply Reply Quote 0
                              • C
                                Chrisham @Chrisham last edited by

                                @chrisham Es stimmen andere Dinge noch nicht:

                                • der "komische" iobroker-Container (heißt aber nur so in DSM) scheint kaputt zu sein, allerdings in Portainer sieht alles ok aus:

                                • Portainer:
                                  2023-10-25 00_23_48-Portainer _ local - Brave.png

                                • DSM:
                                  2023-10-25 00_22_52-DS920-Plus - Synology NAS - Brave.png
                                  --> Kann da auch kein Terminal öffnen.

                                Hmm, bin mal gespannt ob dieses Vorhaben irgendwann noch konvergiert....😧

                                1 Reply Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO @Chrisham last edited by OliverIO

                                  @chrisham sagte in USB in Docker via neuer Container über Compose u.a. andere:
                                  diese beiden Zeilen bitte löschen.

                                  das hat mit macvlan zu tun. das hast du nicht

                                  dockerMACVLAN:
                                    external: true
                                  

                                  dann würde ich den bindestrich im netzwerknamen weglassen iobroker-4:
                                  kann funktionieren, weiß ich nicht. bei solchen namen halte ich mich immer an die regel a-z0-9

                                  ansonsten passt das.
                                  du kannst es ja dann selber mal probieren, in dem du die console bspw im iobroker container öffnest (nicht die console auf deinem host system) und dann

                                  ping grafana
                                  

                                  machen. da müsste dann eine ip adresse kommen, aber keine aus deinem normalen lan-adressbereich.. das ist dann die ip unter der grafana innerhalb dieser service definition erreichbar ist. aber wie gesagt. normalerweise musst du dich bei docker nicht um konkrete ip adressen kümmern. das macht docker für dich. du sprichst die services nur über den servicenamen=hostname an

                                  C 1 Reply Last reply Reply Quote 0
                                  • C
                                    Chrisham @OliverIO last edited by

                                    @oliverio ok, danke. baut gerade neuen stack mit:

                                    version: '3'
                                    services:
                                      iobroker:
                                        restart: always
                                        image: buanet/iobroker:latest
                                        container_name: iobroker-6
                                        hostname: iobroker-6
                                        ports:
                                          - "8081:8081"
                                        volumes:
                                          - /volume1/docker/iobroker-Chrisham:/opt/iobroker
                                          - /volume1/docker/userscripts:/opt/userscripts
                                          - /volume1/docker/Backup:/opt/backup/
                                        environment:
                                          - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                                          - DEBIAN_FRONTEND=teletype
                                          - LANG=de_DE.UTF-8
                                          - LANGUAGE=de_DE:de
                                          - LC_ALL=de_DE.UTF-8
                                          - SETGID=1000
                                          - SETUID=1000
                                          - TZ=Europe/Berlin
                                          - USBDEVICES=/dev/ttyUSB0
                                          - PACKAGES=ffmpeg lame sox libsox-fmt-mp3 asterisk influxdb2-cli
                                        devices:
                                          - /dev/ttyUSB0:/dev/ttyUSB0
                                        networks:
                                          iobroker6:
                                      influxdb:
                                        restart: always
                                        image: influxdb:latest
                                        container_name: influxdb-6
                                        ports:
                                          - "8086:8086"
                                        volumes:
                                          - /volume1/docker/influxdb/config:/etc/influxdb2
                                          - /volume1/docker/influxdb/data:/var/lib/influxdb2
                                        environment:
                                          - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                                          - GOSU_VER=1.12
                                          - INFLUXDB_VERSION=2.7.1
                                          - INFLUX_CLI_VERSION=2.7.3
                                          - INFLUX_CONFIGS_PATH=/etc/influxdb2/influx-configs
                                          - INFLUXD_INIT_PORT=8086
                                          - INFLUXD_INIT_PING_ATTEMPTS=600
                                          - DOCKER_INFLUXDB_INIT_CLI_CONFIG_NAME=default
                                          - DOCKER_INFLUXDB_INIT_MODE=setup
                                          - DOCKER_INFLUXDB_INIT_USERNAME=iobroker
                                          - DOCKER_INFLUXDB_INIT_PASSWORD=*1Xs(QD5gY0!B&XHe1_x
                                          - DOCKER_INFLUXDB_INIT_ORG=smarthome
                                          - DOCKER_INFLUXDB_INIT_BUCKET=iobroker
                                        networks:
                                          iobroker6:  
                                      grafana:
                                        restart: always
                                        image: grafana/grafana:latest
                                        container_name: grafana-6
                                        ports: 
                                          - "3000:3000"
                                        volumes:
                                          - /volume1/docker/grafana:/var/lib/grafana
                                          - /volume1/docker/grafana:/var/lib/grafana/plugins
                                        networks:
                                          iobroker6:
                                    networks:
                                      iobroker6:
                                    

                                    Für heute noch diesen Versuch, sonst gehts morgen weiter....

                                    1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO @Chrisham last edited by

                                      @chrisham sagte in USB in Docker via neuer Container über Compose u.a. andere:

                                      Gibt Probleme, Grafana container will nicht so recht

                                      das ist der richtige abschnitt
                                      https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/#use-bind-mounts-1

                                      das ist eine berechtigungsgeschichte. viele container laufen intern mit root.
                                      das ändert sich aber, so das auch innen, wie es sein sollte mit dedizierten usern gearbeitet wird. diese benötigen allerdings schreibrechte auf dem gastlaufwerk. diese information muss man dem container mitgeben.
                                      füge im grafana abschnitt noch hinzu

                                      user: '0'
                                      

                                      und probiere ob es dann geht.
                                      alternativ
                                      das hier, da weiß ich aber nicht ob shell substitution unter portainer funktioniert.

                                      user: $(id -u)
                                      
                                      C 1 Reply Last reply Reply Quote 0
                                      • C
                                        Chrisham @OliverIO last edited by

                                        @oliverio ok, danke. mach ich morgen dann.
                                        Letzter Versuch mit o.g. Änderungen war leider nicht erfolgreich:

                                        • influx connected noch nicht
                                          (auch asterisk install scheint noch nicht zu funktionieren, jedenfalls kann adapter nicht verbinden, oder wird der linux-proc nur nicht automatisch gestartet...? wobei ich die pakete über container-terminal an der üblichen stelle (/etc/init.d) auch nicht gefunden habe....

                                        2023-10-25 01_10_33-logs - iobroker-6 - Brave.png

                                        Nunja, war heute halt nicht so erfolgreich, muss noch paar h schlafen, morgen gehts weiter, dennoch vielen dank für den stetigen support!

                                        OliverIO 1 Reply Last reply Reply Quote 0
                                        • OliverIO
                                          OliverIO @Chrisham last edited by OliverIO

                                          @chrisham sagte in USB in Docker via neuer Container über Compose u.a. andere:

                                          In der o.g. Referenz stehen bei dem docker-compose Bsp. gar keine Env-Variablen/Pfade drin, soll ich die auch mal rausnehmen...?

                                          in der container konfiguration immer so sparsam mit angaben umgehen wie möglich.
                                          normalerweise hat ein container meist default werte, so das ein container einfach mal läuft.
                                          daher nur die angaben hinzufügen, die gemäß doku unbedingt gefordert sind. alles andere kann man erst mal weglassen. erst wenn du merkst, das du da was anderes haben wills, dann kannst du ergänzen.

                                          hier der abschnitt zu den ganzen pfad angaben.
                                          https://grafana.com/docs/grafana/latest/setup-grafana/configure-docker/#default-paths
                                          wenn du da nix änderst, dann musst du da auch nix angeben,
                                          ich mach mir bspw bei jedem container gedanken, was will ich da sichern und wo stehen diese daten. dann schaue ich, wie ich die da herausbekommen.

                                          zum besseren verständnis von docker und dem dateisystem. docker nutzt ein layer dateisystem. jeder darüberliegende layer überdeckt die einzelnen dateien und verzeichnisse des darunterliegenden layers. normalerweise kommt ganz unten der layer mit dem betriebssystem. dann wird darauf die applikation gelegt.
                                          jetzt kommst du und legst darüber nochmal ein named volume oder ein verzeichnis/datei aus deinem dateisystem.
                                          dadurch kannst du bspw einzelne dateien oder ganze verzeichnisse nach aussen legen und die dann wegsichern.
                                          alle daten, die während der laufzeit im container erzeugt werden und nicht in einem volume liegen, sind nach der regeneration des containers wieder weg.
                                          wenn du etwas sichern willst, dann ist sicherlich /var/lib/grafana (data) interessant
                                          wenn du plugins installierst evtl auch den pfad zu den plugins, bin aber in grafana sicht so firm und weiß nicht was in den einzelnen verzeichnissen wirklich etwas abgelegt wird.

                                          1 Reply Last reply Reply Quote 0
                                          • OliverIO
                                            OliverIO @Chrisham last edited by OliverIO

                                            @chrisham sagte in USB in Docker via neuer Container über Compose u.a. andere:

                                            influx connected noch nicht

                                            warum steht im protokoll dann immer noch 127.0.0.1?
                                            das ist localhost, also wenn eine applikation zu einer anderen auf der gleichen maschine kontakt aufnehmen will.
                                            influxdb hast du in einem eigenen container. das ist wie ein weiterer rechner mit eigener ip. also musst du dem iobroker-.influx-adapter in der configuration bei ip influxdb eintragen. das ist gemäß deiner konfiguration der servicename und damit auch gleich der hostname unter der der container erreichbar ist.

                                            C 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            435
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            129
                                            9896
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo