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.
    • C
      Chrisham @Homoran last edited by

      @homoran done. danke.

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

        @marc-berg Ok, das Duplicate habe ich jetzt gemacht über Portainer, ich kann dabei zwar die Konfiguraiton ändern (z.B. neue ENV-Variablen hinzufügen), aber nach dem Deploy wird diese Änderung nicht übernommen, die Konfiguration ist wie beim ursprünglichen Container, ist das das richtige Verhalten, d.h. bei Änderung der KOnfig muss ich neuen Container vom Image anlegen und nicht über Duplicate....?

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

          @chrisham Ist wohl ein Problem auf Synology: https://github.com/portainer/portainer/issues/4356

          sebastianarena created this issue in portainer/portainer

          closed Duplicate / Edit environment variables on Synology Docker #4356

          Marc Berg Glasfaser 2 Replies Last reply Reply Quote 0
          • Marc Berg
            Marc Berg Most Active @Chrisham last edited by

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

            Ist wohl ein Problem auf Synology

            Ja, habe ich doch oben schon geschrieben. So wie es aussieht, musst du die Änderungen an den Environment Variablen auf der DSM eintragen. Wie genau, kann ich nicht sagen, habe die Hardware nicht. Hier wird es noch weiter diskutiert:

            https://github.com/portainer/portainer/issues/2423

            Die Änderungen an den Device-Mappings etc. sollten aber über Portainer gehen.

            chreggy created this issue in portainer/portainer

            closed Cannot create/modify/save ENV variables on Synology environment. #2423

            1 Reply Last reply Reply Quote 0
            • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            501
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            129
                                            9905
                                            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