Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. USB in Docker via neuer Container über Compose u.a. andere

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

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

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
129 Beiträge 8 Kommentatoren 16.4k Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C Chrisham

    @chrisham , @OliverIO
    Und parallel dazu muss ich mich gleich noch mit dem nächsten schritt beschäftigen: für einige dieser Container (grafana, asaterisk) muss ich im innern configurations-files neu erstellen bzw. abändern.
    Nun möchte ich dies in zukunft beim update ja auch nicht immer wieder händisch machen müssen, sondern wenn schon, dann auch gleich über das portainer docker compose verfahren mit erledigen.
    was ist dazu das vorgehen? Kann man der container erstellung gleich ein script mitgeben, das diese config-file Anpassung mitmacht?

    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von
    #92

    @chrisham

    ja,
    dafür gibt es in dockler den mechanismus der volumes.
    davon gibt es 2 typen

    • named volumes = volumes die einen namen haben und die docker in einem internen dateibereich aufbaut. wenn die bezeichnung nicht geändert wird, so steht dieser dateibereich auch nach der regeneration dem container wieder zur verfügung
    • bind mount volumes = das sind gemappte pfade von einzelnen dateien oder ganzen verzeichnisse, die auf dein eigenes dateisystem zeigt. dort kannst du dann in diesem verzeichnis dateien bearbeiten, die dann im container "eingeblendet" werden. auch diese stehen nach einer regeneration dem container wieder zur verfügung.

    der container entwickler definiert selbst im dockerfile entsprechende mounts, wenn er der meinung ist, das da volatile daten enthalten sind, die nach einer regeneration erhalten bleiben müssen

    in deiner docker management oberfläche müsste es auch eine ansicht aller vorhandenen named volumes geben. bei manchen müsste "verwaist" oder "nicht verwendet" dran stehen, weil der zugehörige container nicht mehr existiert. dort kann man die auch löschen.

        volumes:
          - /volume1/docker/iobroker-Chrisham:/opt/iobroker
          - /volume1/docker/userscripts:/opt/userscripts
          - /volume1/docker/Backup:/opt/backup/
    

    das was du hier siehst nennt sich bind-volumes. bei der ersten zeile sieht man,
    das der pfad IM container /opt/iobroker sich aus dem verzeichnis /volume1/docker/iobroker-Chrisham bildet. d.h. alles was den iobroker ausmacht ist eigentlich auf deiner festplatte der synology. jede Anderung, die du dort machst, wird auch sofort IM container wirksam. manchmal muss man dienste neu starten, das die Applikation das neu einliest. aber da gibt es keinen unterschied, als wenn die applikation nativ installiert wurde

    ich würde die ganzen konfigurationsdateien bzw. verzeichnisse in denen sich die konfigruationen befinden per solche bind mount volumes definieren und dies dann auch regelmäßig in ein backup einbeziehen. leider hilft dir der iobroker backup da nicht. das musst du selber organisieren.

    Hier kannst du mal schauen. da sind Programme benannt mit denen man das durchführen kann. Leistungsfähig ist bspw rsync
    Du musst dich dann noch mit einer backup strategie auseinandersetzen. d.h. wie oft ein backup gemacht wird und wie lange das aufgehoben wird.
    Ich verwende 7xdaily,4xWeekly,12xMothly
    d.h. ich mache jeden Tag ein Backup und hebe das 7 Tage lang auf. Nach einer Woche werden die letzten 6 gelöscht, das Sonntagsbackup wird dann zum weekly. Auch da hebe ich die 4 Wochen lang auf. Das letzte wird dann zum monthly und die 3/4 Wochen davor werden gelöscht. von den Monthly hebe ich immer die letzten 12 auf. Einmal Monatlich wird jeweils das älteste der monthlys gelöscht.
    alle meine dockervolumes habe ich in einem verzeichnis. darunter dann eine ebene je service und daruntern je container ein separates verzeichnis und wieder darunter dann für jedes einzelne mount ein verzeichnis.
    das wird dann täglich kopiert und in ein verzeichnis unter weekly gespeichert, das weekly_<datum> heißt
    weiterhin wird jeden tag geprüft, ob verzeichnisse umbenannt/verschoben werden müssen gemäß den obigen regeln.

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    C 1 Antwort Letzte Antwort
    0
    • OliverIOO OliverIO

      @chrisham

      ja,
      dafür gibt es in dockler den mechanismus der volumes.
      davon gibt es 2 typen

      • named volumes = volumes die einen namen haben und die docker in einem internen dateibereich aufbaut. wenn die bezeichnung nicht geändert wird, so steht dieser dateibereich auch nach der regeneration dem container wieder zur verfügung
      • bind mount volumes = das sind gemappte pfade von einzelnen dateien oder ganzen verzeichnisse, die auf dein eigenes dateisystem zeigt. dort kannst du dann in diesem verzeichnis dateien bearbeiten, die dann im container "eingeblendet" werden. auch diese stehen nach einer regeneration dem container wieder zur verfügung.

      der container entwickler definiert selbst im dockerfile entsprechende mounts, wenn er der meinung ist, das da volatile daten enthalten sind, die nach einer regeneration erhalten bleiben müssen

      in deiner docker management oberfläche müsste es auch eine ansicht aller vorhandenen named volumes geben. bei manchen müsste "verwaist" oder "nicht verwendet" dran stehen, weil der zugehörige container nicht mehr existiert. dort kann man die auch löschen.

          volumes:
            - /volume1/docker/iobroker-Chrisham:/opt/iobroker
            - /volume1/docker/userscripts:/opt/userscripts
            - /volume1/docker/Backup:/opt/backup/
      

      das was du hier siehst nennt sich bind-volumes. bei der ersten zeile sieht man,
      das der pfad IM container /opt/iobroker sich aus dem verzeichnis /volume1/docker/iobroker-Chrisham bildet. d.h. alles was den iobroker ausmacht ist eigentlich auf deiner festplatte der synology. jede Anderung, die du dort machst, wird auch sofort IM container wirksam. manchmal muss man dienste neu starten, das die Applikation das neu einliest. aber da gibt es keinen unterschied, als wenn die applikation nativ installiert wurde

      ich würde die ganzen konfigurationsdateien bzw. verzeichnisse in denen sich die konfigruationen befinden per solche bind mount volumes definieren und dies dann auch regelmäßig in ein backup einbeziehen. leider hilft dir der iobroker backup da nicht. das musst du selber organisieren.

      Hier kannst du mal schauen. da sind Programme benannt mit denen man das durchführen kann. Leistungsfähig ist bspw rsync
      Du musst dich dann noch mit einer backup strategie auseinandersetzen. d.h. wie oft ein backup gemacht wird und wie lange das aufgehoben wird.
      Ich verwende 7xdaily,4xWeekly,12xMothly
      d.h. ich mache jeden Tag ein Backup und hebe das 7 Tage lang auf. Nach einer Woche werden die letzten 6 gelöscht, das Sonntagsbackup wird dann zum weekly. Auch da hebe ich die 4 Wochen lang auf. Das letzte wird dann zum monthly und die 3/4 Wochen davor werden gelöscht. von den Monthly hebe ich immer die letzten 12 auf. Einmal Monatlich wird jeweils das älteste der monthlys gelöscht.
      alle meine dockervolumes habe ich in einem verzeichnis. darunter dann eine ebene je service und daruntern je container ein separates verzeichnis und wieder darunter dann für jedes einzelne mount ein verzeichnis.
      das wird dann täglich kopiert und in ein verzeichnis unter weekly gespeichert, das weekly_<datum> heißt
      weiterhin wird jeden tag geprüft, ob verzeichnisse umbenannt/verschoben werden müssen gemäß den obigen regeln.

      C Offline
      C Offline
      Chrisham
      schrieb am zuletzt editiert von
      #93

      @oliverio Vielen Dank für die Info.

      1.) Backup: ja, das habe ich schon konfiguriert:

      • ich habe meine kompletten Arbeitesdaten nicht mehr auf der lokalen Festplatte, sondern alles auf dem NAS, für dieses NAS habe das Hyperbackup (Synology-App) über das ich mit anderem Nutzer (räumlich getrennt, d.h. anderes Haus, andere Stadt) nächtlich eine Kreuz-Sicherung mache. Und auch mit gestuftem Aufbewahrungsplan:
        • tägliche Sicherung über 1 Woche aufbewahren
        • wöchentliche Sicherung über 2 Monate aufbewahren
        • monatliche Sicherung über 1 Jahr aufbewahren
        • jährliche Sicherung über 5 Jahre aufbewahren
          D.h. da bin ich eigentlich safe.

      2.) und in dieses Backup sind genau auch die gemounteten Volumes der Docker-Container einbezogen

      3.) Konfigurationsdateien: meine Frage bezog sich jedoch auf weitere Konfig-Dateien, die ich jetzt nicht unbedingt nach außen mappen möchte, z.B.
      3.a) der o.g. Asterisk-Container: da müssen Datein reinkopiert werden an diese Stellen:
      /etc/asterisk/extensions
      /etc/asterisk/manager.co
      /etc/asterisk/sip.conf
      /etc/asterisk/rtp.conf

      3.b) beim Grafana-Container:
      Da muss eine bestehende config-Datei angepasst werden unter:

      usr/share/grafana/conf/

      Oder würdest du sagen, dass ich die Verzeichnisse /etc und /usr auch komplett nach "draußen" mounte?

      OliverIOO 1 Antwort Letzte Antwort
      0
      • C Chrisham

        @oliverio Vielen Dank für die Info.

        1.) Backup: ja, das habe ich schon konfiguriert:

        • ich habe meine kompletten Arbeitesdaten nicht mehr auf der lokalen Festplatte, sondern alles auf dem NAS, für dieses NAS habe das Hyperbackup (Synology-App) über das ich mit anderem Nutzer (räumlich getrennt, d.h. anderes Haus, andere Stadt) nächtlich eine Kreuz-Sicherung mache. Und auch mit gestuftem Aufbewahrungsplan:
          • tägliche Sicherung über 1 Woche aufbewahren
          • wöchentliche Sicherung über 2 Monate aufbewahren
          • monatliche Sicherung über 1 Jahr aufbewahren
          • jährliche Sicherung über 5 Jahre aufbewahren
            D.h. da bin ich eigentlich safe.

        2.) und in dieses Backup sind genau auch die gemounteten Volumes der Docker-Container einbezogen

        3.) Konfigurationsdateien: meine Frage bezog sich jedoch auf weitere Konfig-Dateien, die ich jetzt nicht unbedingt nach außen mappen möchte, z.B.
        3.a) der o.g. Asterisk-Container: da müssen Datein reinkopiert werden an diese Stellen:
        /etc/asterisk/extensions
        /etc/asterisk/manager.co
        /etc/asterisk/sip.conf
        /etc/asterisk/rtp.conf

        3.b) beim Grafana-Container:
        Da muss eine bestehende config-Datei angepasst werden unter:

        usr/share/grafana/conf/

        Oder würdest du sagen, dass ich die Verzeichnisse /etc und /usr auch komplett nach "draußen" mounte?

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von OliverIO
        #94

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

        Konfigurationsdateien: meine Frage bezog sich jedoch auf weitere Konfig-Dateien, die ich jetzt nicht unbedingt nach außen mappen möchte, z.B.

        warum nicht?
        genau so funktioniert docker
        entweder named volumes definieren. dann liegt es irgendwo in den tiefen von docker, da ist schlecht ranzukommen für eine sicherung das eignet sich für dateien, die gut sind zur Laufzeit, wo es aber kein Problem ist, wenn die weg sind (bspw caches oder vorberechnete Daten, die aber jederzeit neu berechnet werden können. das hat dann ein Laufzeitgewinn und beschleunigt das redeployment eines container bspw nach releasewechsel

        oder per bindmount in ein selbst definiertes verzeichnis legen.

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

        Oder würdest du sagen, dass ich die Verzeichnisse /etc und /usr auch komplett nach "draußen" mounte?

        nein, das ist zuviel. genau die verzeichnisse oder einzelne dateien auswählen bei denen du selbst etwas konfigurierst und dann jeweils als separate zeile in die docker-config eintragen
        also eigentlich genau die auflistung die da oben schon gemacht hast.
        nur das du die erst definierst, dann den container neu generierst, dann liegen die dateien genau in den mount-verzeichnis auf deiner festplatte. dort kannst du sie dann ändern und den container neu starten. fertig

        sobald du an config-dateien was änderst und du den kompletten container neu generieren wills, sind die weg, weil ja bei jedem mal neu generieren die anwendung komplett neu isntalliert wird

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        C 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

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

          Konfigurationsdateien: meine Frage bezog sich jedoch auf weitere Konfig-Dateien, die ich jetzt nicht unbedingt nach außen mappen möchte, z.B.

          warum nicht?
          genau so funktioniert docker
          entweder named volumes definieren. dann liegt es irgendwo in den tiefen von docker, da ist schlecht ranzukommen für eine sicherung das eignet sich für dateien, die gut sind zur Laufzeit, wo es aber kein Problem ist, wenn die weg sind (bspw caches oder vorberechnete Daten, die aber jederzeit neu berechnet werden können. das hat dann ein Laufzeitgewinn und beschleunigt das redeployment eines container bspw nach releasewechsel

          oder per bindmount in ein selbst definiertes verzeichnis legen.

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

          Oder würdest du sagen, dass ich die Verzeichnisse /etc und /usr auch komplett nach "draußen" mounte?

          nein, das ist zuviel. genau die verzeichnisse oder einzelne dateien auswählen bei denen du selbst etwas konfigurierst und dann jeweils als separate zeile in die docker-config eintragen
          also eigentlich genau die auflistung die da oben schon gemacht hast.
          nur das du die erst definierst, dann den container neu generierst, dann liegen die dateien genau in den mount-verzeichnis auf deiner festplatte. dort kannst du sie dann ändern und den container neu starten. fertig

          sobald du an config-dateien was änderst und du den kompletten container neu generieren wills, sind die weg, weil ja bei jedem mal neu generieren die anwendung komplett neu isntalliert wird

          C Offline
          C Offline
          Chrisham
          schrieb am zuletzt editiert von
          #95

          @oliverio ok, natürlich wieder ne Frage: wie geht das genau, nur ein einzelnes File zu mappen, google recherche hat das ergeben:

            grafana:
              network_mode: "host"
              restart: always
              image: grafana/grafana:latest
              container_name: grafana-7
              ports: 
                - "3000:3000"
              volumes:
                - /volume1/docker/grafana:/var/lib/grafana
                - /volume1/docker/grafana:/var/lib/grafana/plugins
                - type: volume
                  source: /volume1/docker/grafana/views/index.html
                  target: /usr/share/grafana/public/views/index.html/usr/share/grafana/public/views/index.html
                  
          

          Allerdings mit Fehlermeldung:
          2023-10-30_22h39_07.png

          OliverIOO 1 Antwort Letzte Antwort
          0
          • C Chrisham

            @oliverio ok, natürlich wieder ne Frage: wie geht das genau, nur ein einzelnes File zu mappen, google recherche hat das ergeben:

              grafana:
                network_mode: "host"
                restart: always
                image: grafana/grafana:latest
                container_name: grafana-7
                ports: 
                  - "3000:3000"
                volumes:
                  - /volume1/docker/grafana:/var/lib/grafana
                  - /volume1/docker/grafana:/var/lib/grafana/plugins
                  - type: volume
                    source: /volume1/docker/grafana/views/index.html
                    target: /usr/share/grafana/public/views/index.html/usr/share/grafana/public/views/index.html
                    
            

            Allerdings mit Fehlermeldung:
            2023-10-30_22h39_07.png

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von OliverIO
            #96

            @chrisham

            https://stackoverflow.com/questions/42248198/how-to-mount-a-single-file-in-a-volume

            eigentlich genau wie verzeichnisse im schema
            <lokaler dateipfad>:<container dateipfad

            du hast jetzt versucht die langversion zu nehmen, das musst aber nicht.
            aber wenn dann wäre es wie folgt

                volumes:
                  - type: bind
                    source: /volume1/docker/grafana/views/index.html
                    target: /usr/share/grafana/public/views/index.html
            

            aber eigentlich reicht auch das

            volumes:
                  - /volume1/docker/grafana:/var/lib/grafana
                  - /volume1/docker/grafana:/var/lib/grafana/plugins
                  - /volume1/docker/grafana/views/index.html:/usr/share/grafana/public/views/index.html
            
            

            sehe gerade, bei target hast du es 2 mal hintereinander und type wäre bind

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            C 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @chrisham

              https://stackoverflow.com/questions/42248198/how-to-mount-a-single-file-in-a-volume

              eigentlich genau wie verzeichnisse im schema
              <lokaler dateipfad>:<container dateipfad

              du hast jetzt versucht die langversion zu nehmen, das musst aber nicht.
              aber wenn dann wäre es wie folgt

                  volumes:
                    - type: bind
                      source: /volume1/docker/grafana/views/index.html
                      target: /usr/share/grafana/public/views/index.html
              

              aber eigentlich reicht auch das

              volumes:
                    - /volume1/docker/grafana:/var/lib/grafana
                    - /volume1/docker/grafana:/var/lib/grafana/plugins
                    - /volume1/docker/grafana/views/index.html:/usr/share/grafana/public/views/index.html
              
              

              sehe gerade, bei target hast du es 2 mal hintereinander und type wäre bind

              C Offline
              C Offline
              Chrisham
              schrieb am zuletzt editiert von
              #97

              @oliverio perfekt. Grafana läuft schon mal mit komplett persistenter config. die komfortable update-fähigkeit meiner docker-welt ist in greifbare nähe gerückt... da wird man noch zum full-stack programmer wenn man da mal komplett durch ist...

              OliverIOO 1 Antwort Letzte Antwort
              0
              • C Chrisham

                @oliverio perfekt. Grafana läuft schon mal mit komplett persistenter config. die komfortable update-fähigkeit meiner docker-welt ist in greifbare nähe gerückt... da wird man noch zum full-stack programmer wenn man da mal komplett durch ist...

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von OliverIO
                #98

                @chrisham

                fast
                wenn man docker dann mal einigermaßen durchdrungen hat, mag man auf einem host gar keine applikationen mehr anders installieren.
                stell dir vor morgen kommt ein betriebssystem update und du hast wirklich alle deine anwendungen in docker container virtualisiert.
                dann hast du da keine individuell nachinstallierten pakete mehr, keine manuellen cron einträge
                oder gar irgendwelche systemd/init start prozeduren, die du mal eingerichtet hast, dich aber nicht mehr daran erinnern kannst.
                dann wird der os upgrade wie ein klax, weil du ja nur noch docker wieder installieren musst, deine sicherung zurückspielen und dann alle container neu generierst und zack läuft

                oder man installiert mal kurz einen test iobroker mit der nächsten alpha/beta version ohne gefahr seine produktion zu serstören inklusive den vorteil das dann rückstandsfrei wieder entfernen zu können

                mittlerweile gibt es auch container mit grafischer benutzeroberfläche, da verbindest du dich dann per browser, da läuft dann irgendein rdp oder vnc. hier ein beispie für ubuntu
                https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                C 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @chrisham

                  fast
                  wenn man docker dann mal einigermaßen durchdrungen hat, mag man auf einem host gar keine applikationen mehr anders installieren.
                  stell dir vor morgen kommt ein betriebssystem update und du hast wirklich alle deine anwendungen in docker container virtualisiert.
                  dann hast du da keine individuell nachinstallierten pakete mehr, keine manuellen cron einträge
                  oder gar irgendwelche systemd/init start prozeduren, die du mal eingerichtet hast, dich aber nicht mehr daran erinnern kannst.
                  dann wird der os upgrade wie ein klax, weil du ja nur noch docker wieder installieren musst, deine sicherung zurückspielen und dann alle container neu generierst und zack läuft

                  oder man installiert mal kurz einen test iobroker mit der nächsten alpha/beta version ohne gefahr seine produktion zu serstören inklusive den vorteil das dann rückstandsfrei wieder entfernen zu können

                  mittlerweile gibt es auch container mit grafischer benutzeroberfläche, da verbindest du dich dann per browser, da läuft dann irgendein rdp oder vnc. hier ein beispie für ubuntu
                  https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc

                  C Offline
                  C Offline
                  Chrisham
                  schrieb am zuletzt editiert von
                  #99

                  @oliverio und zack, asterisk container auch config persistent ausverlagert. (Leider gehen tel-anrufe noch nicht, weil hier wohl die installation der anderen linux-pakete in diesem andrius image gar nicht installiert werden, die option über

                     environment:
                        - PACKAGES=ffmpeg lame sox libsox-fmt-mp3
                  

                  scheint wohl dieser container gar nicht zu unterstützen, wie krieg ich denn da jetzt die linux-pakete rein, das ist wohl die qudratur des kreises: auf den asterisk-container bin ich gewechsel, da in iobroker das linux-paket nicht installiert werden kann, jetzt aber kann ich dort die anderen pakete nicht mehr installieren....)

                  Ansonsten, ja klar die Docker-Technik hat wirklich was, also alles was ich jetzt so auf meiner Synology betreibe läuft mittlerweile in containern, das host-system von synology ist ja kein reines linux mehr, die haben das ziemlich verbogen, auch kein apt paket-manager,...

                  Auf meinem Hauptrechner bin ich halt immer noch auf windows unterwegs, in der windows-welt ist die docker-technik noch nicht angekommen, man könnte ja da parallel noch eine vm oder wsl2 draufmachen und dort dann mit dockern arbeiten....

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • C Chrisham

                    @oliverio und zack, asterisk container auch config persistent ausverlagert. (Leider gehen tel-anrufe noch nicht, weil hier wohl die installation der anderen linux-pakete in diesem andrius image gar nicht installiert werden, die option über

                       environment:
                          - PACKAGES=ffmpeg lame sox libsox-fmt-mp3
                    

                    scheint wohl dieser container gar nicht zu unterstützen, wie krieg ich denn da jetzt die linux-pakete rein, das ist wohl die qudratur des kreises: auf den asterisk-container bin ich gewechsel, da in iobroker das linux-paket nicht installiert werden kann, jetzt aber kann ich dort die anderen pakete nicht mehr installieren....)

                    Ansonsten, ja klar die Docker-Technik hat wirklich was, also alles was ich jetzt so auf meiner Synology betreibe läuft mittlerweile in containern, das host-system von synology ist ja kein reines linux mehr, die haben das ziemlich verbogen, auch kein apt paket-manager,...

                    Auf meinem Hauptrechner bin ich halt immer noch auf windows unterwegs, in der windows-welt ist die docker-technik noch nicht angekommen, man könnte ja da parallel noch eine vm oder wsl2 draufmachen und dort dann mit dockern arbeiten....

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #100

                    @chrisham

                    ok, auch das geht, allerdings wird es nun ein wenig komplexer.
                    bisher hast du das image nach einer vorlage von andrius generieren lassen.
                    gemäß der beschreibung bei dockerhub schreibt er

                    What's missing
                    Only base Asterisk packages installed. If you want to add sounds, it's recommended to mount them as volume or data container, however you may install additional packages with apk command:

                    asterisk-alsa - ALSA channel;
                    asterisk-cdr-mysql - MySQL CDR;
                    asterisk-chan-dongle - chan_dongle, to manage calls and SMS through Huawei USB dongle;
                    asterisk-curl - curl integration with Asterisk;
                    asterisk-dahdi - DAHDI channel (ISDN BRI/PRI, FXO and FXS cards integration);
                    asterisk-fax - support faxing
                    asterisk-mobile - Use Bluetooth mobile phones as FXO devices;
                    asterisk-odbc - ODBC support;
                    asterisk-pgsql - PostgreSQL support;
                    asterisk-sounds-en - sounds
                    asterisk-sounds-moh - music on hold;
                    asterisk-speex - Speex codec;
                    asterisk-srtp - SRTP encryption;
                    asterisk-tds - MS SQL support.

                    das heißt nun, das wir auf basis sein dockerfiles dieses ein wenig erweitern müssen um die anderen pakete noch installiert zu bekommen.

                    nutzt du jetzt portainer oder synology für die dockerverwaltung?

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    C OliverIOO 2 Antworten Letzte Antwort
                    0
                    • OliverIOO OliverIO

                      @chrisham

                      ok, auch das geht, allerdings wird es nun ein wenig komplexer.
                      bisher hast du das image nach einer vorlage von andrius generieren lassen.
                      gemäß der beschreibung bei dockerhub schreibt er

                      What's missing
                      Only base Asterisk packages installed. If you want to add sounds, it's recommended to mount them as volume or data container, however you may install additional packages with apk command:

                      asterisk-alsa - ALSA channel;
                      asterisk-cdr-mysql - MySQL CDR;
                      asterisk-chan-dongle - chan_dongle, to manage calls and SMS through Huawei USB dongle;
                      asterisk-curl - curl integration with Asterisk;
                      asterisk-dahdi - DAHDI channel (ISDN BRI/PRI, FXO and FXS cards integration);
                      asterisk-fax - support faxing
                      asterisk-mobile - Use Bluetooth mobile phones as FXO devices;
                      asterisk-odbc - ODBC support;
                      asterisk-pgsql - PostgreSQL support;
                      asterisk-sounds-en - sounds
                      asterisk-sounds-moh - music on hold;
                      asterisk-speex - Speex codec;
                      asterisk-srtp - SRTP encryption;
                      asterisk-tds - MS SQL support.

                      das heißt nun, das wir auf basis sein dockerfiles dieses ein wenig erweitern müssen um die anderen pakete noch installiert zu bekommen.

                      nutzt du jetzt portainer oder synology für die dockerverwaltung?

                      C Offline
                      C Offline
                      Chrisham
                      schrieb am zuletzt editiert von
                      #101

                      @oliverio said in USB in Docker via neuer Container über Compose u.a. andere:

                      nutzt du jetzt portainer oder synology für die dockerverwaltung?

                      Bis vor kurzem nutzte ich DSM-Gui von Synology, aber seit ihr mir hier das docker-compose verfahren nahelegt habt, bin ich auf portainer umgestiegen (das unterstützt m.W. Synology gar nicht), also ja: portainer.

                      1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @chrisham

                        ok, auch das geht, allerdings wird es nun ein wenig komplexer.
                        bisher hast du das image nach einer vorlage von andrius generieren lassen.
                        gemäß der beschreibung bei dockerhub schreibt er

                        What's missing
                        Only base Asterisk packages installed. If you want to add sounds, it's recommended to mount them as volume or data container, however you may install additional packages with apk command:

                        asterisk-alsa - ALSA channel;
                        asterisk-cdr-mysql - MySQL CDR;
                        asterisk-chan-dongle - chan_dongle, to manage calls and SMS through Huawei USB dongle;
                        asterisk-curl - curl integration with Asterisk;
                        asterisk-dahdi - DAHDI channel (ISDN BRI/PRI, FXO and FXS cards integration);
                        asterisk-fax - support faxing
                        asterisk-mobile - Use Bluetooth mobile phones as FXO devices;
                        asterisk-odbc - ODBC support;
                        asterisk-pgsql - PostgreSQL support;
                        asterisk-sounds-en - sounds
                        asterisk-sounds-moh - music on hold;
                        asterisk-speex - Speex codec;
                        asterisk-srtp - SRTP encryption;
                        asterisk-tds - MS SQL support.

                        das heißt nun, das wir auf basis sein dockerfiles dieses ein wenig erweitern müssen um die anderen pakete noch installiert zu bekommen.

                        nutzt du jetzt portainer oder synology für die dockerverwaltung?

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        schrieb am zuletzt editiert von OliverIO
                        #102

                        @oliverio

                        ok, hier bin ich nicht ganz so firm.
                        aber lese dir mal die beschreibung durch.
                        https://docs.portainer.io/user/docker/images/build

                        in einem dockerfile stehen die anweisungen drin, wie ein image genau erstellt wird.
                        im folgenden verzeichnis gibt es 2 relevante dateien dockerfile und docker-entrypoint
                        https://github.com/andrius/asterisk/tree/master/alpine

                        ziel ist es, das dockerfile aus diesem verzeichnis zu kopieren und so zu erweitern, das deine weiteren pakete noch installiert werden.
                        leider hat der ersteller so etwas nicht vorgesehen, wie es bei iobroker mit der packages environment variable ist.
                        daher muss man das selbst eintragen. dürfte aber nicht wirklich so komplex sein.

                        die datei docker-entrypoint ist eigentlich nur eine shell-datei, die ausgeführt wird, sobald die erstellung des images fertig ist, dort werden dann noch ein paar weitere schritte durchgeführt.

                        # vim:set ft=dockerfile:
                        FROM <%= docker_baseimage %>
                        
                        LABEL maintainer="Andrius Kairiukstis <k@andrius.mobi>"
                        
                        ENV LANG=C.UTF-8
                        ENV LC_ALL C.UTF-8
                        
                        RUN set -e \
                        && apk add --update --quiet \
                                 asterisk \
                                 asterisk-sample-config >/dev/null \
                        && asterisk -U asterisk &>/dev/null \
                        && sleep 5s \
                        && [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \
                             || rm -rf /usr/lib/asterisk/modules/*pj* \
                        && pkill -9 ast \
                        && sleep 1s \
                        && truncate -s 0 \
                             /var/log/asterisk/messages \
                             /var/log/asterisk/queue_log || : \
                        && mkdir -p /var/spool/asterisk/fax \
                        && chown -R asterisk: /var/spool/asterisk \
                        && rm -rf /var/run/asterisk/* \
                                  /var/cache/apk/* \
                                  /tmp/* \
                                  /var/tmp/*
                        
                        EXPOSE 5060/udp 5060/tcp
                        VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk
                        
                        ADD docker-entrypoint.sh /docker-entrypoint.sh
                        
                        ENTRYPOINT ["/docker-entrypoint.sh"]
                        

                        interessant sind hier die befehle in zeile 10-12
                        apk add ist der alpine befehl um pakete zu installieren
                        wenn du das -Zeichen siehst, dann bedeutet das, das es zu einem Befehl gehört aber in der nächsten zeile weitergeht. Der Befehl endet immer mit &&, was nix anders als eine Verknüpfung ist. Zeile 9-27 ist eigentlich alles eine Anweisung, die auf einmal losgeschickt wird und dann vom Betriebssystem der Reihe nach abgearbeitet wird.

                        Also Zeile 10-12 muss jetzt so erweitert werden, das deine weiteren Pakete da noch ergänzt werden. Am besten je Zeile eines. Die Ergänzung müsste dann so aussehen

                        ffmpeg /
                        lame /
                        sox /
                        libsox-fmt-mp3
                        

                        Die Environment variable PACKAGES kannst aus der docker-asterix wieder herausnehmen. Die wird eh nicht beachtet.

                        in diesem dockerfile musst du noch

                        FROM <%= docker_baseimage %>
                        gegen
                        FROM alpine:latest
                        ersetzen, da der Ersteller diese Datei verwendet um ganz viele images zu erzeugen und es nochmal in einem script verarbeitet wird.

                        Meine Adapter und Widgets
                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                        Links im Profil

                        C 1 Antwort Letzte Antwort
                        0
                        • OliverIOO OliverIO

                          @oliverio

                          ok, hier bin ich nicht ganz so firm.
                          aber lese dir mal die beschreibung durch.
                          https://docs.portainer.io/user/docker/images/build

                          in einem dockerfile stehen die anweisungen drin, wie ein image genau erstellt wird.
                          im folgenden verzeichnis gibt es 2 relevante dateien dockerfile und docker-entrypoint
                          https://github.com/andrius/asterisk/tree/master/alpine

                          ziel ist es, das dockerfile aus diesem verzeichnis zu kopieren und so zu erweitern, das deine weiteren pakete noch installiert werden.
                          leider hat der ersteller so etwas nicht vorgesehen, wie es bei iobroker mit der packages environment variable ist.
                          daher muss man das selbst eintragen. dürfte aber nicht wirklich so komplex sein.

                          die datei docker-entrypoint ist eigentlich nur eine shell-datei, die ausgeführt wird, sobald die erstellung des images fertig ist, dort werden dann noch ein paar weitere schritte durchgeführt.

                          # vim:set ft=dockerfile:
                          FROM <%= docker_baseimage %>
                          
                          LABEL maintainer="Andrius Kairiukstis <k@andrius.mobi>"
                          
                          ENV LANG=C.UTF-8
                          ENV LC_ALL C.UTF-8
                          
                          RUN set -e \
                          && apk add --update --quiet \
                                   asterisk \
                                   asterisk-sample-config >/dev/null \
                          && asterisk -U asterisk &>/dev/null \
                          && sleep 5s \
                          && [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && : \
                               || rm -rf /usr/lib/asterisk/modules/*pj* \
                          && pkill -9 ast \
                          && sleep 1s \
                          && truncate -s 0 \
                               /var/log/asterisk/messages \
                               /var/log/asterisk/queue_log || : \
                          && mkdir -p /var/spool/asterisk/fax \
                          && chown -R asterisk: /var/spool/asterisk \
                          && rm -rf /var/run/asterisk/* \
                                    /var/cache/apk/* \
                                    /tmp/* \
                                    /var/tmp/*
                          
                          EXPOSE 5060/udp 5060/tcp
                          VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk
                          
                          ADD docker-entrypoint.sh /docker-entrypoint.sh
                          
                          ENTRYPOINT ["/docker-entrypoint.sh"]
                          

                          interessant sind hier die befehle in zeile 10-12
                          apk add ist der alpine befehl um pakete zu installieren
                          wenn du das -Zeichen siehst, dann bedeutet das, das es zu einem Befehl gehört aber in der nächsten zeile weitergeht. Der Befehl endet immer mit &&, was nix anders als eine Verknüpfung ist. Zeile 9-27 ist eigentlich alles eine Anweisung, die auf einmal losgeschickt wird und dann vom Betriebssystem der Reihe nach abgearbeitet wird.

                          Also Zeile 10-12 muss jetzt so erweitert werden, das deine weiteren Pakete da noch ergänzt werden. Am besten je Zeile eines. Die Ergänzung müsste dann so aussehen

                          ffmpeg /
                          lame /
                          sox /
                          libsox-fmt-mp3
                          

                          Die Environment variable PACKAGES kannst aus der docker-asterix wieder herausnehmen. Die wird eh nicht beachtet.

                          in diesem dockerfile musst du noch

                          FROM <%= docker_baseimage %>
                          gegen
                          FROM alpine:latest
                          ersetzen, da der Ersteller diese Datei verwendet um ganz viele images zu erzeugen und es nochmal in einem script verarbeitet wird.

                          C Offline
                          C Offline
                          Chrisham
                          schrieb am zuletzt editiert von
                          #103

                          @oliverio Ok, danke. Also, mal wieder "nur" ein Teilerfolg, 2 Probleme:

                          1.) Das Paket "libsox-fmt-mp3" konnte er nicht finden beim image erstellen, als ich das rauslöschte, hat es funktioniert, also container wurde erstellt. Ich habe auch das file "docker-entrypoint" mit in die container-erstellung geladen

                          2.) als ich dann (mit dem neuen Image) den neuen stack mit docker-compose bauen wollte, kam diese Fehlermeldung:
                          2023-11-01_00h20_45.png
                          Probleme scheint gerade das docker-entrypoint file zu machen. Lt. deiner Beschreibung wird das bei image Erstellung ausgeführt und nicht später bei Container-erstellung.

                          Ok, muss morgen dann weiter schauen...

                          OliverIOO 3 Antworten Letzte Antwort
                          0
                          • C Chrisham

                            @oliverio Ok, danke. Also, mal wieder "nur" ein Teilerfolg, 2 Probleme:

                            1.) Das Paket "libsox-fmt-mp3" konnte er nicht finden beim image erstellen, als ich das rauslöschte, hat es funktioniert, also container wurde erstellt. Ich habe auch das file "docker-entrypoint" mit in die container-erstellung geladen

                            2.) als ich dann (mit dem neuen Image) den neuen stack mit docker-compose bauen wollte, kam diese Fehlermeldung:
                            2023-11-01_00h20_45.png
                            Probleme scheint gerade das docker-entrypoint file zu machen. Lt. deiner Beschreibung wird das bei image Erstellung ausgeführt und nicht später bei Container-erstellung.

                            Ok, muss morgen dann weiter schauen...

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            schrieb am zuletzt editiert von
                            #104

                            @chrisham
                            Das Script wird ja mit im filesystem des containers mit integriert und dann gestartet.
                            Evtl müsste man dem den User und der Gruppe Root zuordnen
                            Aber ich kann tagsüber mal nochmal schauen

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            1 Antwort Letzte Antwort
                            0
                            • C Chrisham

                              @oliverio Ok, danke. Also, mal wieder "nur" ein Teilerfolg, 2 Probleme:

                              1.) Das Paket "libsox-fmt-mp3" konnte er nicht finden beim image erstellen, als ich das rauslöschte, hat es funktioniert, also container wurde erstellt. Ich habe auch das file "docker-entrypoint" mit in die container-erstellung geladen

                              2.) als ich dann (mit dem neuen Image) den neuen stack mit docker-compose bauen wollte, kam diese Fehlermeldung:
                              2023-11-01_00h20_45.png
                              Probleme scheint gerade das docker-entrypoint file zu machen. Lt. deiner Beschreibung wird das bei image Erstellung ausgeführt und nicht später bei Container-erstellung.

                              Ok, muss morgen dann weiter schauen...

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              schrieb am zuletzt editiert von OliverIO
                              #105

                              @chrisham
                              Die Datei wird ja in das Dateisystem des Containers integriert. Evtl muss man dem den User und Gruppe Root zuordnen.

                              Das Paket in dem die Datei enthalten ist heißt sox
                              https://pkgs.alpinelinux.org/contents?branch=edge&name=sox&arch=armhf&repo=community

                              Sox hast du ja drin, dann war das früher schon falsch

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              1 Antwort Letzte Antwort
                              0
                              • C Chrisham

                                @oliverio Ok, danke. Also, mal wieder "nur" ein Teilerfolg, 2 Probleme:

                                1.) Das Paket "libsox-fmt-mp3" konnte er nicht finden beim image erstellen, als ich das rauslöschte, hat es funktioniert, also container wurde erstellt. Ich habe auch das file "docker-entrypoint" mit in die container-erstellung geladen

                                2.) als ich dann (mit dem neuen Image) den neuen stack mit docker-compose bauen wollte, kam diese Fehlermeldung:
                                2023-11-01_00h20_45.png
                                Probleme scheint gerade das docker-entrypoint file zu machen. Lt. deiner Beschreibung wird das bei image Erstellung ausgeführt und nicht später bei Container-erstellung.

                                Ok, muss morgen dann weiter schauen...

                                OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                schrieb am zuletzt editiert von OliverIO
                                #106

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

                                Probleme scheint gerade das docker-entrypoint file zu machen

                                es scheint wohl daran zu liegen, das der datei das execution flag fehlt.
                                ich habe gesehen, das im portainer nur dateien vom client rechner (also windows) hochgeladen werden können. da ist wahrscheinlich das flag nicht gesetzt. daher muss man es dann im dockerfile setzen
                                die zeile kommt zwischen der ADD und der ENTRYPOINT Zeile
                                Falls da auch was nicht funktioniert, mach noch ein / vor den Dateinamen

                                RUN chmod +x docker-entrypoint.sh
                                

                                Meine Adapter und Widgets
                                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                Links im Profil

                                C 1 Antwort Letzte Antwort
                                0
                                • OliverIOO OliverIO

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

                                  Probleme scheint gerade das docker-entrypoint file zu machen

                                  es scheint wohl daran zu liegen, das der datei das execution flag fehlt.
                                  ich habe gesehen, das im portainer nur dateien vom client rechner (also windows) hochgeladen werden können. da ist wahrscheinlich das flag nicht gesetzt. daher muss man es dann im dockerfile setzen
                                  die zeile kommt zwischen der ADD und der ENTRYPOINT Zeile
                                  Falls da auch was nicht funktioniert, mach noch ein / vor den Dateinamen

                                  RUN chmod +x docker-entrypoint.sh
                                  
                                  C Offline
                                  C Offline
                                  Chrisham
                                  schrieb am zuletzt editiert von
                                  #107

                                  @oliverio ok, perfekt, das image wurde erfolgreich gebaut und auch der neu docker-stack basierend auf diesem image.
                                  Die Telefonfunktion vom asterisk läuft allerdings immer noch nicht, immer noch die gleichen Fehler.
                                  Was mich allerdings wundert: in dem docker-file von andrius steht jetzt wieder port 5060 drin:

                                  EXPOSE 5060/udp 5060/tcp
                                  

                                  Was allerdings seltsam ist, denn ich habe im Asterisk-IOBroker-Adapter ja 5038 drin und der Adapter verbindet auch.
                                  Dennoch versuche ich es nochmals alles konsistent mit dem gleichen Port zu machen, um diese Fehlerquelle auf jeden Fall ausschließen zu können.

                                  C OliverIOO 2 Antworten Letzte Antwort
                                  0
                                  • C Chrisham

                                    @oliverio ok, perfekt, das image wurde erfolgreich gebaut und auch der neu docker-stack basierend auf diesem image.
                                    Die Telefonfunktion vom asterisk läuft allerdings immer noch nicht, immer noch die gleichen Fehler.
                                    Was mich allerdings wundert: in dem docker-file von andrius steht jetzt wieder port 5060 drin:

                                    EXPOSE 5060/udp 5060/tcp
                                    

                                    Was allerdings seltsam ist, denn ich habe im Asterisk-IOBroker-Adapter ja 5038 drin und der Adapter verbindet auch.
                                    Dennoch versuche ich es nochmals alles konsistent mit dem gleichen Port zu machen, um diese Fehlerquelle auf jeden Fall ausschließen zu können.

                                    C Offline
                                    C Offline
                                    Chrisham
                                    schrieb am zuletzt editiert von
                                    #108

                                    @chrisham btw, das war das log-file vom image-build:

                                                  
                                    Step 1/10 : FROM alpine:latest
                                    
                                    
                                    
                                     ---> 8ca4688f4f35
                                    
                                    Step 2/10 : LABEL maintainer="Andrius Kairiukstis <k@andrius.mobi>"
                                    
                                    
                                    
                                     ---> Using cache
                                    
                                     ---> 80d70b682d6f
                                    
                                    Step 3/10 : ENV LANG=C.UTF-8
                                    
                                    
                                    
                                     ---> Using cache
                                    
                                     ---> c2ab84f9a8a9
                                    
                                    Step 4/10 : ENV LC_ALL C.UTF-8
                                    
                                    
                                    
                                     ---> Using cache
                                    
                                     ---> 05efc4fd9d07
                                    
                                    Step 5/10 : RUN set -e && apk add --update --quiet          asterisk          asterisk-sample-config >/dev/null          ffmpeg          lame          sox && asterisk -U asterisk &>/dev/null && sleep 5s && [ "$(asterisk -rx "core show channeltypes" | grep PJSIP)" != "" ] && :      || rm -rf /usr/lib/asterisk/modules/*pj* && pkill -9 ast && sleep 1s && truncate -s 0      /var/log/asterisk/messages      /var/log/asterisk/queue_log || : && mkdir -p /var/spool/asterisk/fax && chown -R asterisk: /var/spool/asterisk && rm -rf /var/run/asterisk/*           /var/cache/apk/*           /tmp/*           /var/tmp/*
                                    
                                    
                                    
                                     ---> Using cache
                                    
                                     ---> c1549981d129
                                    
                                    Step 6/10 : EXPOSE 5060/udp 5060/tcp
                                    
                                    
                                    
                                     ---> Using cache
                                    
                                     ---> d9a50fc83bdc
                                    
                                    Step 7/10 : VOLUME /var/lib/asterisk/sounds /var/lib/asterisk/keys /var/lib/asterisk/phoneprov /var/spool/asterisk /var/log/asterisk
                                    
                                    
                                    
                                     ---> Using cache
                                    
                                     ---> 21c0dffb3708
                                    
                                    Step 8/10 : ADD docker-entrypoint.sh /docker-entrypoint.sh
                                    
                                    
                                    
                                     ---> Using cache
                                    
                                     ---> f57c57d310c7
                                    
                                    Step 9/10 : RUN chmod +x docker-entrypoint.sh
                                    
                                    
                                    
                                     ---> Running in 33be21150960
                                    
                                    Removing intermediate container 33be21150960
                                    
                                     ---> 5b4dc32de023
                                    
                                    Step 10/10 : ENTRYPOINT ["/docker-entrypoint.sh"]
                                    
                                    
                                    
                                     ---> Running in 99c1d96acab9
                                    
                                    Removing intermediate container 99c1d96acab9
                                    
                                     ---> addfc0678e66
                                    
                                    Successfully built addfc0678e66
                                    
                                    Successfully tagged chris-asterisk:latest
                                    
                                    1 Antwort Letzte Antwort
                                    0
                                    • C Chrisham

                                      @oliverio ok, perfekt, das image wurde erfolgreich gebaut und auch der neu docker-stack basierend auf diesem image.
                                      Die Telefonfunktion vom asterisk läuft allerdings immer noch nicht, immer noch die gleichen Fehler.
                                      Was mich allerdings wundert: in dem docker-file von andrius steht jetzt wieder port 5060 drin:

                                      EXPOSE 5060/udp 5060/tcp
                                      

                                      Was allerdings seltsam ist, denn ich habe im Asterisk-IOBroker-Adapter ja 5038 drin und der Adapter verbindet auch.
                                      Dennoch versuche ich es nochmals alles konsistent mit dem gleichen Port zu machen, um diese Fehlerquelle auf jeden Fall ausschließen zu können.

                                      OliverIOO Offline
                                      OliverIOO Offline
                                      OliverIO
                                      schrieb am zuletzt editiert von OliverIO
                                      #109

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

                                      Was mich allerdings wundert: in dem docker-file von andrius steht jetzt wieder port 5060 drin:

                                      das hatte ich dir oben schon mal versucht zu sagen. aber du warst anderweitig überzeugt.
                                      ich weiß auch nicht welcher port da für was da ist. es kann durchaus sein, das es mehrere ports sind, die nach außen durchgereicht werden müssen.
                                      https://forum.iobroker.net/topic/69281/usb-in-docker-via-neuer-container-über-compose-u-a-andere/85?_=1698757422545

                                      im normalen bridge modus müssen alle ports deklariert werden
                                      im host mode sind eh alle offen.

                                      Meine Adapter und Widgets
                                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                      Links im Profil

                                      C 1 Antwort Letzte Antwort
                                      0
                                      • OliverIOO OliverIO

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

                                        Was mich allerdings wundert: in dem docker-file von andrius steht jetzt wieder port 5060 drin:

                                        das hatte ich dir oben schon mal versucht zu sagen. aber du warst anderweitig überzeugt.
                                        ich weiß auch nicht welcher port da für was da ist. es kann durchaus sein, das es mehrere ports sind, die nach außen durchgereicht werden müssen.
                                        https://forum.iobroker.net/topic/69281/usb-in-docker-via-neuer-container-über-compose-u-a-andere/85?_=1698757422545

                                        im normalen bridge modus müssen alle ports deklariert werden
                                        im host mode sind eh alle offen.

                                        C Offline
                                        C Offline
                                        Chrisham
                                        schrieb am zuletzt editiert von
                                        #110

                                        @oliverio jetzt habe ich beide Varianten durchgespielt:
                                        a) überall 5060 eingetragen
                                        b) überall 5038 eingetragen

                                        überall heißt:

                                        • im docker-file von andrius (wie original)
                                        • im docker-compose-file
                                        • in config des IOBroker Asterisk-Adapters
                                        • im manager.conf file des asterisk containers

                                        Ergebnis:

                                        • bei a) Adapter kann gar nicht zu asterisk container verbinden
                                        • bei b) Verbindung zu asterisk-container funktioniert, aber telefon-funktion geht nicht

                                        also bei 5038 geht noch etwas mehr als bei 5060.

                                        Da wirds jetzt natürlich knifflig, muss wohl doch mal den andrius kontaktieren...

                                        C 1 Antwort Letzte Antwort
                                        0
                                        • C Chrisham

                                          @oliverio jetzt habe ich beide Varianten durchgespielt:
                                          a) überall 5060 eingetragen
                                          b) überall 5038 eingetragen

                                          überall heißt:

                                          • im docker-file von andrius (wie original)
                                          • im docker-compose-file
                                          • in config des IOBroker Asterisk-Adapters
                                          • im manager.conf file des asterisk containers

                                          Ergebnis:

                                          • bei a) Adapter kann gar nicht zu asterisk container verbinden
                                          • bei b) Verbindung zu asterisk-container funktioniert, aber telefon-funktion geht nicht

                                          also bei 5038 geht noch etwas mehr als bei 5060.

                                          Da wirds jetzt natürlich knifflig, muss wohl doch mal den andrius kontaktieren...

                                          C Offline
                                          C Offline
                                          Chrisham
                                          schrieb am zuletzt editiert von
                                          #111

                                          @chrisham @chrisham @chrisham , @OliverIO @Marc-Berg ,:
                                          Mal ein Zwischenstatus, dieser Thread und ihr habt mich ja schon länger be- und geleitet:

                                          1.) Docker-Setup Allgemein: ich habe nun wirklich einen reifen Stand meines wiederherstellbaren Docker-Konglomerats erreicht, d.h. ich kann grundsätzlich das Setup jederzeit reproduzierbar wiederherstellen oder updaten mittels "Stack-" Mechanismus von Portainer. Es laufen alle Applikationen wieder wie zuvor (beim "handgestrickten" Setup), bis auf eine kleine Ausnahme, siehe Punkt 2.)

                                          2.) Der Asterisk-Adapter im IOBroker kann immer noch nicht die Telefonanrufe über die Asterisk-Lib (jetzt auch verpackt in eigenen Docker-Container, d.h. modifizierter basierend auf andrius/asterisk:latest) noch nicht absetzen, s.o. Aber ich werde dazu jetzt einen eigenen Thread aufmachen, das passt jetzt nicht wirklich mehr hier her.

                                          3.) USB-Verbindung: das war ja der eigentliche Ausgangsunkt dieses Threads. Prinzipiell müsste die USB-Verbindung hergestellt sein, allerdings scheint das Device (Smartmeter-Connector) noch nicht richtig zu senden. Da warte ich noch auf den Freischaltcode vom lokalen Energieversorger. Bis jetzt gibt es diese Fehlermeldung:
                                          2023-11-07 18_57_42-logs - iobroker-9 - Brave.png

                                          D.h. ich werde noch No. 3.) im Rahmen dieses Threads (hoffentlich) zum Abschluss bringen und dann diesen Thread schließen.

                                          Vielen Dank euch allen, die ihr mich hier durchgeführt habt, ich habe sehr viel gelernt und bin in meinem Smarthome-System einen großen Schritt weiter gekommen.

                                          OliverIOO C 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          860

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe