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 @Chrisham last edited by

      @chrisham

      aber nach dem Deploy wird diese Änderung nicht übernommen,

      Kommt mir igendwie bekannt vor ..

      Versuche es mit dieser Version , wie im Thread beschrieben !

      https://forum.iobroker.net/post/919177

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

        @glasfaser Danke für den Hinweis, jetzt habe ich es gemäß
        Dazu einfach als Image portainer/portainer-ce:2.15.1 nutzen und nicht das latest
        mit Image portainer/portainer-ce:2.15.1 nutzen und nicht das latest, allerdings läuft diese portainer-version bei mir gar nicht.

        Eine Idee?

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

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

          nicht

          und wie wirkt sich das aus?
          Fehlermeldung?
          was steht im log-tab des containers?

          du hast in den kommentaren auf der smarthomejetz-erklärung gesehen, das
          bei DSM7 die Befehle etwas anders aussehen um die usb auf der synology verfügbar zu machen?
          Da ist ein Link zu einer weiteren Erklärung.

          auch würde ich die container einstellungen nicht über duplicate/edit machen, sondern alles über eine docker-compose (bei portainer=stacks) machen. da hast du alles übersichtlich in einer datei konfiguriert und kannst leicht ändern. allerdings wird bei jeder änderung der container neu generiert. daher sollten alle flüchtigen bestandteile sich entweder in der datei befinden oder in gemappten volumes. man kann auch named volumes machen, aber dann befinden sich die dateien ganz tief bei docker, da kommst du so ohne weiteres dann nicht mehr ran, falls du einen backup machen willst.
          ich habe alle gemappten volumes aller meiner docker-container in einem verzeichnis. je container ein unterverzeichnis und darin , je gemappten volume ein weiteres verzeichnis. dieser pfad wird dann in docker compose gesetzt.

          iobroker sieht dann bei mir so aus. auf basis dieses docker-compose werden 2 container generiert, ein iobroker, ein redis, die dann netzwerktechnisch zusammengeschaltet sind.
          wenn du kein macvlan nutzt, dann müssen die netzwerk einträge gegen dein bridge netzwerk getauscht werden.

          version: '3'
          
          services:
            iobrokerprod4:
              restart: always
              image: buanet/iobroker:latest
              container_name: iobrokerprod4
              hostname: iobrokerprod4
              ports:
                - "8081:8081"
              environment:
                  SETGID: 1001
                  SETUID: 1001
              volumes:
                - /home/iobroker/docker/volume/iobroker_prod4:/opt/iobroker
                - /home/iobroker/docker/volume/iobroker_prod4_nodemodules:/usr/lib/node_modules
                - /media/iobroker_backup/:/opt/iobroker/backup
              networks:
                dockerMACVLAN:
                  ipv4_address: 192.168.1.85
                iobrokerprod4:
            redis4:
              image: "redis:alpine"
              volumes:
                - /home/iobroker/docker/volume/redis_prod4:/data
              networks:
                iobrokerprod4:
              
          networks:
            dockerMACVLAN:
              external: true
            iobrokerprod4:
            
          
          
          C 1 Reply Last reply Reply Quote 0
          • C
            Chrisham @OliverIO last edited by

            @oliverio Vielen Dank.

            1.) Portainer version: portainer-ce:2.15.1
            Das ist die Fehlermeldung:

            portainer-portainer-ce-1
            date,stream,content
            2023/10/23 11:59:33,stdout,"INFO[0006] 2023/10/23 09:59:33 [INFO] [http,server] [message: starting HTTP server on port :9000]
            "
            2023/10/23 11:59:33,stdout,"INFO[0006] 2023/10/23 09:59:33 [INFO] [http,server] [message: starting HTTPS server on port :9443]
            "
            2023/10/23 11:59:33,stdout,"INFO[0006] 2023/10/23 09:59:33 [DEBUG] [internal,init] [message: start initialization monitor ]
            "
            2023/10/23 11:59:33,stdout,"INFO[0006] 2023/10/23 09:59:33 [DEBUG] [chisel, monitoring] [check_interval_seconds: 10.000000] [message: starting tunnel management process]
            "
            2023/10/23 11:59:33,stdout,"INFO[0006] [INFO] [cmd,main] Starting Portainer BuildNumber=22936 GoVersion=1.18.3 ImageTag=linux-amd64-2.15.1 NodejsVersion=14.20.0 Version=2.15.1 WebpackVersion=5.68.0 YarnVersion=1.22.19
            "
            2023/10/23 11:59:33,stdout,2023/10/23 09:59:33 server: Listening on 0.0.0.0:8000...

            2023/10/23 11:59:33,stdout,2023/10/23 09:59:33 server: Fingerprint 5c:86:b2:8e:6b:59:21:a8:7f:68:12:86:76:1a:d3:0a

            2023/10/23 11:59:33,stdout,2023/10/23 09:59:33 server: Reverse tunnelling enabled

            2023/10/23 11:59:32,stdout,INFO[0005] Opened existing store version=61

            2023/10/23 11:59:27,stdout,INFO[0000] Loading PortainerDB: portainer.db

            2023/10/23 11:59:27,stdout,INFO[0000] Proceeding without encryption key

            2023/10/23 11:59:27,stdout,INFO[0000] Encryption key file portainer not present

            2.) Docker compose: ja, das war auch mein Ansatz zwischendurch, allerdings bin ich auch da nicht weitergekommen.
            Und zwar gibt es Fehlermeldung bzgl. dem USB-Device-Eintrag (das ist ja aktuell meine Hauptmotivation einen neuen IOBroker-Container zu erstellen).

            compose-file:

            version: '3'
            services:
            iobroker:
            restart: always
            image: buanet/iobroker:latest
            container_name: iobroker-4
            hostname: iobroker-4
            ports:
            - "8081:8081"
            volumes:
            - /docker/iobroker-Chrisham:/opt/iobroker
            - /docker/userscripts:/opt/userscripts
            - /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"
            devices:
            - /dev/ttyUSB0=/dev/ttyUSB0

            Fehlermeldung:
            Error Deployment error
            failed to deploy a stack: Network mychrisham-stack-1_default Creating Network mychrisham-stack-1_default Created Container iobroker-4 Creating Container iobroker-4 Created Container iobroker-4 Starting Error response from daemon: error gathering device information while adding custom device "/dev/ttyUSB0=/dev/ttyUSB0": no such file or directory

            Dann hab ich ggf. auch das Problem, dass ich dann alle anderen verbundenen Container auch gleich über docker-compose machen muss...? Ich hab da noch influxdb und grafana. Oder geht das auch gemischt (IOBroker über Compose und grafana/influx über DSM-UI bzw. Portainer-UI)?

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

              @chrisham
              als alles erstes vorweg. wenn du das in code tags packst, ist es vieeeeel lesbarer ( der knopf </>)

              1. log file portainer
                da ist keine fehlermeldung enthalten, also müsste portainer auch unter port 8000 erreichbar sein

              grundsätzlich sieht das schon mal gut aus.
              die fehlermeldung

              Error response from daemon: error gathering device information while adding custom device "/dev/ttyUSB0=/dev/ttyUSB0": no such file or directory
              

              sagt, das das gerät mit diesem namen auf dem host nicht vorhanden ist.
              kannst du den von der synology auf das usb zugreifen? das gerät muss erst mal auf dem host verfügbar sein, bevor man versuchen kann es in einen container weiterzureichen.
              evtl ist auch die bezeichnung einfach falsch. das hängt immer auch vom gerät ab.
              was für ein gerät hast du den da?
              die fehlermeldung mit datei oder directory wirkt hier etwas seltsam bei einem gerät. aber einer der linux grundsätze ist: "alles ist eine datei" https://en.wikipedia.org/wiki/Everything_is_a_file

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

              Dann hab ich ggf. auch das Problem, dass ich dann alle anderen verbundenen Container auch gleich über docker-compose machen muss...?

              das kommt drauf an. docker separiert intern jeden einzelnen container netzwerktechnisch.
              bei bridge ist die einzige möglichkeit, das die container miteinander kommunizieren können über die gemappten ports.

              jetzt kannst du allerdings mehrere container zu einem service zusammenfassen. sieh dazu mein beispiel mit dem redis-container. diese sind dann intern netzwerktechnisch verschaltet und können sich sehen. der jeweilige servicename (sofern kein extra hostname angegeben) ist dann der hostname des containers. am beispiel redis muss ich nicht mühevoll die ip adresse herausfinden, sondern gebe in der iobroker konfiguration bzw den environments einfach nur redis4 an und schon finden die sich.

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

                @oliverio Vielen Dank.

                1. Code-Schnipsel: ja, sry, ist bekannt, war zu schludrig, das nächste mal werd ich drauf achten

                2. Portainer: ja container startet, ist allerdings über IP und entsprechenden Port nicht erreichbar, bei der aktuellen Portainer-version funktioniert es, muss ich mir nochmals anschauen

                3. ich bin gemäß https://smarthome.buanet.de/2020/02/usb-devices-im-iobroker-docker-container-nutzen/ vorgegangen.
                  Und auf meinem Host (Synology) sieht es so aus:
                  usb.png
                  Oder muss da noch ein /tty/ vorangestellt werden...?

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

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

                  Hallo,
                  ich habe schon diverse Anleitungen gelesen wie USB-Port an IOBroker durchgereicht werden soll:

                  Was ich mich die ganze Zeit Frage ... wundere bzw. nirgends erlesen kann .
                  Was für ein USB Stick und wofür !

                  So sieht meins aus :

                  bineinUser@DS:~# lsusb
                  |__usb1          1d6b:0002:0404 09  2.00  480MBit/s 0mA 1IF  (Linux 4.4.302+ xhci-hcd xHCI Host Controller 0000:00:15.0) hub
                    |__1-1         0bda:5411:0127 09  2.10  480MBit/s 0mA 1IF  (Generic 4-Port USB 2.1 Hub ffffffd6ffffffa3ffffffebffffffcb) hub
                      |__1-1.1     051d:0002:0090 00  2.00   12MBit/s 2mA 1IF  (American Power Conversion Back-UPS RS 1200G FW:877.L5 .I USB FW:L5  4B2021P32400  )
                      |__1-1.2     1a40:0101:0111 09  2.00  480MBit/s 100mA 1IF  ( ffffffd6ffffffa3ffffffebffffffc5) hub
                        |__1-1.2.3 10c4:8c07:0101 00  2.00   12MBit/s 150mA 1IF  (Alexander Reinert HB-RF-USB-2 fae17ff40dc1e811829a6a713b0549ec)
                        |__1-1.2.4 0451:16c8:0100 02  2.00   12MBit/s 50mA 2IFs (Texas Instruments CC2538 USB CDC fffffff7ffffffb3fffffff0ffffffd0)
                      |__1-1.3     0bda:5411:0127 09  2.10  480MBit/s 0mA 1IF  (Generic 4-Port USB 2.1 Hub ffffffd6ffffffa3ffffffebffffffc1) hub
                      |__1-1.4     0bda:5411:0127 09  2.10  480MBit/s 0mA 1IF  (Generic 4-Port USB 2.1 Hub ffffffd6ffffffa3ffffffebffffffc3) hub
                        |__1-1.4.1 0403:6001:0600 00  2.00   12MBit/s 90mA 1IF  (EService-Online eBus Coupler Iso 21001 A5WHQ9VE)
                        |__1-1.4.2 0403:6015:1000 00  2.00   12MBit/s 90mA 1IF  (FTDI FT230X Basic UART D30AB5U3)
                        |__1-1.4.3 2a07:0102:0201 00  2.00   12MBit/s 100mA 1IF  (KNX License Stick KNX-1C01BC41 42D7B0C00604)
                    |__1-4         f400:f400:0100 00  2.00  480MBit/s 200mA 1IF  (Synology DiskStation 65007C9F15DA5A98)
                  |__usb2          1d6b:0003:0404 09  3.00 5000MBit/s 0mA 1IF  (Linux 4.4.302+ xhci-hcd xHCI Host Controller 0000:00:15.0) hub
                    |__2-1         174c:55aa:0100 00  3.00 5000MBit/s 0mA 1IF  (Inateck ASM1153E 12345678910B)
                    |__2-2         0bda:0411:0127 09  3.20 5000MBit/s 0mA 1IF  (Generic 4-Port USB 3.1 Hub ffffffd6ffffffa3ffffffebffffffc0) hub
                      |__2-2.3     0bda:0411:0127 09  3.20 5000MBit/s 0mA 1IF  (Generic 4-Port USB 3.1 Hub ffffffd6ffffffa3ffffffebffffffc2) hub
                        |__2-2.3.4 0bda:8156:3104 00  3.20 5000MBit/s 256mA 1IF  (Realtek USB 10/100/1G/2.5G LAN 401000001)
                      |__2-2.4     0bda:0411:0127 09  3.20 5000MBit/s 0mA 1IF  (Generic 4-Port USB 3.1 Hub ffffffd6ffffffa3ffffffebffffffc4) hub
                  
                  

                  .
                  denn in deiner Ausgabe :

                  Und auf meinem Host (Synology) sieht es so aus:

                  sehe ich nichts davon , also wird er nicht erkannt !

                  Thomas Braun 1 Reply Last reply Reply Quote 0
                  • Thomas Braun
                    Thomas Braun Most Active @Glasfaser last edited by

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

                    bineinUser@DS:~

                    Ist schon wieder Karneval und es wird sich verkleidet? 😉

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

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

                      Und auf meinem Host (Synology) sieht es so aus:

                      Im Host :

                      Schau damit ..

                      bineinUser@DS:~# ls -la /dev/ttyUSB*
                      crwxrwxrwx 1 root root 188, 1 Oct 23 13:41 /dev/ttyUSB1
                      bineinUser@DS:~# ls -la /dev/ttyA*
                      crwxrwxrwx 1 root root 166, 0 Oct 23 13:41 /dev/ttyACM0
                      bineinUser@DS:~#
                      

                      USB1 ist bei mir ein Lesekopf / Smartmeter
                      ACM0 ist bei mir ein Zigbee-Stick

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

                        @glasfaser Ist bei mir auch ein Smartmeter-Device über USB. Und ich denke, der wird schon erkannt: Hier einmal mit USB angesteckt und einmal ohne:
                        2023-10-23 18_31_51-Smart-Home-Automation.png

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

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

                          devices:

                          • /dev/ttyUSB0=/dev/ttyUSB0

                          Warte mal ...
                          du hast ein = Zeichen da kommt ein Doppeltpunkt : rein

                          /dev/ttyUSB0:/dev/ttyUSB0
                          

                          EDIT :
                          ##siehe auch einen Thread dazu :

                          https://forum.iobroker.net/post/907629

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

                            @glasfaser Ok, das scheints wohl gewesen zu sein bzgl. dem Device, nun bekomme ich:

                            Error Deployment error
                            failed to deploy a stack: Network mychrisham-stack-1_default Creating Network mychrisham-stack-1_default Created Container iobroker-4 Creating Container iobroker-4 Created Container iobroker-4 Starting Error response from daemon: driver failed programming external connectivity on endpoint iobroker-4 (b296cdd0b681210f465c58b15c5a14641f21c53268c353595d8a3624d0f11b99): Error starting userland proxy: listen tcp4 0.0.0.0:8081: bind: address already in use

                            Allerdings habe ich den bisherigen IOBroker-Container gestoppt, also sollte der Port 8081 doch wieder frei sein, sry, vermutlich basics....

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

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

                              Allerdings habe ich den bisherigen IOBroker-Container gestoppt, also sollte der Port 8081 doch wieder frei sein,

                              gib ihm einen anderen Port .

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

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

                                ports:

                                • "8081:8081"

                                oder ..
                                das ist dein neuer Container ... dann so

                                ports:

                                • "8089:8081"

                                Dann mit 8089 aufrufen !

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

                                  @glasfaser ok, das gelöst, jetzt aber das:

                                  Deployment error
                                  failed to deploy a stack: Network mychrisham-stack-2-a_default Creating Network mychrisham-stack-2-a_default Created Container iobroker-4 Creating Container iobroker-4 Created Container iobroker-4 Starting Error response from daemon: Bind mount failed: '/docker/iobroker-Chrisham' does not exists

                                  das volume "/docker/iobroker-Chrisham" existiert aber, jedenfalls im File-Manager der NAS angelegt und in Container-Manager der NAS auch sichtbar... muss ich das im Portainer unter Volumes auch nochmals anlegen?

                                      volumes:
                                        - /docker/iobroker-Chrisham:/opt/iobroker
                                        - /docker/userscripts:/opt/userscripts
                                        - /docker/Backup:/opt/backup/
                                  
                                  Glasfaser OliverIO 3 Replies Last reply Reply Quote 0
                                  • Glasfaser
                                    Glasfaser @Chrisham last edited by Glasfaser

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

                                    muss ich das im Portainer unter Volumes auch nochmals anlegen?

                                    Nimm das ertmal raus volumes , das kannst du auch später per Syn Docker oberfläche zuweisen !

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

                                      @glasfaser ok, versuch ich, oder muss da noch sowas mit rein: "/volume1/@docker/volumes", also volume1...?

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

                                        @chrisham ok, ohne volumes hats jetzt geklappt, ist aber umständlich, wenn ich jetzt noch auf Synology rumkonfigurieren muss, eigentlich hätte ich jetzt dann wirklich gerne alles über docker compose gemacht...

                                        • USB geht in Syn nicht
                                        • volumes geht in portainer nicht....

                                        😞

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

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

                                          ok, das gelöst, jetzt aber das

                                          ne gelöst ist es nicht. irgendein container hat noch seinen finger auf 8081 drauf. das findest du über die container-übersicht in portainer heraus. in spalte published ports müsste irgendwo der 8081 drin stehen

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

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

                                            Nimm das ertmal raus volumes , das kannst du auch später per Syn Docker oberfläche zuweisen !

                                            Ich würde die Konfigurationen nicht mischen. das ergibt chaos.
                                            aber zum ausprobieren kannst die volumes erst einmal weglassen.
                                            dann legt docker für dich ersteinmal eigene named columes an.
                                            wenn dann das alles funktioniert, dann füge eigene mappings hinzu und lösche dieses named volumes. die findest du in portainer in der volumes auflistung mit unused (sobald du neue zuordnungen gemacht hast)

                                            1 Reply 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

                                            926
                                            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