Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #61
    Das Websocket-Problem konnte ich leider noch nicht lösen...
    das bedeuted, dass man das Image auf einer Syno nicht verwenden kann?
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    Kommentar


      #62
      Hi

      Zitat von EPIX Beitrag anzeigen
      das bedeuted, dass man das Image auf einer Syno nicht verwenden kann?
      So ist das wohl, leider.

      Ich bin da echt mit meinem Latein am Ende. gaert sagt, dass es an Docker liegt, eine simple Websocket-Demo in einem Docker-Container funktioniert jedoch ohne Probleme, siehe diesen Thread. Für meine Begriffe muss Edomi resp. die Websocket-Implementierung darin noch irgendetwas anders machen, so dass die Verbindung nicht zustande kommt. Ich brauche da wohl mal jemanden, der sich wirklich damit auskennt, wie Docker die Netzwerk-Verbindungen handhabt...
      Kind regards,
      Yves

      Kommentar


        #63
        wenn die Erklärung stimmt, wonach Syno den Port 80 für interne Zwecke fix okkupiert, dann liegt IMHO darin das Problem....
        Die Frage ist, ob man das Themo mittels Virtualisierung hinbekommt - oder ob da die gleichen Beschränkungen gelten. DSM bietet ja mittlerweile (zumindest in der Beta) die Möglichkeit der Virtualisierung - sonst müsste man eine 2. Hardware vorhalten um eine Spielwiese zu haben

        Danke jedenfalls für deine Bemühungen!!!
        EPIX
        ...und möge der Saft mit euch sein...
        Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

        Kommentar


          #64
          N'abend

          Zitat von EPIX Beitrag anzeigen
          wenn die Erklärung stimmt, wonach Syno den Port 80 für interne Zwecke fix okkupiert, dann liegt IMHO darin das Problem....
          Ähm, nein, damit hat das überhaupt nichts zu tun. Der springende Punkt ist, dass sich Edomi im Docker-Container nicht so betreiben lässt, wie man jede andere Applikation in einem Container betreibt und man somit einen Workaround machen muss, um es überhaupt via Docker verwenden zu können. Und genau dieser Workaround funktioniert aber auf dem Synology-NAS nicht.

          Siehe Details im anderen Thread...


          Zitat von EPIX Beitrag anzeigen
          Danke jedenfalls für deine Bemühungen!!!
          Joa, ich bleibe dran...
          Kind regards,
          Yves

          Kommentar


            #65
            Hallo Epix,
            bei mir läuft es auf der Syno in einer VM (beta) versuch es einfach.
            Hab dafür die Iso des CentOS und Anleitung von der Edomi Seite Genomen.

            Gruß
            Waldemar

            Kommentar


              #66
              werde ich machen...
              Aktuell bin ich eher auf den Verona Marathon am Sonntag fokussiert - dann habe ich mehr Zeit (und weniger Bewegungsdrang )
              EPIX
              ...und möge der Saft mit euch sein...
              Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

              Kommentar


                #67

                Hallo Leute,
                ich bin verzweifelt und weiß nicht weiter. Hoffe ihr könnt mir helfen.

                Denke mein Problem ist nicht exakt das was ihr hier ausdiskutiert aber geht schätzungsweise in ähnliche Richtung.

                Folgendes, hab einen Windows-Server mit Rolly Hype-V und darin eine VM mit Edomi am laufen.
                Läuft soweit Top.

                Bin nun dabei mein Edomi auf die Synology zu migrieren und versuche dabei es mit Docker zu realisieren.


                Edomi als Docker läuft bei mir im 172.18.0.x Netz und lässt sich auch erreichen und die Weboberfläche normal verwenden..
                Mein KNX-Gateway liegt im 192er Netz, wie auch die Synology selbst auch.
                Jetzt das Problem. Habe alle Logiken eins zu eins übertragen, aber im Docker-Edomi werden diese nicht abgearbeitet.
                Obwohl sichtlich die Guppenadressen ankommen.

                Und wenn ich beide Live-Logs nebeneinander stelle, merke ich das im Hyper-V alles normal läuft,
                im Docker-Edomi hingegen ist jeder zweite Eintrag ein Error der mir nichts weiter sagt.
                Hat schon jemand das selbe Phänomen gehabt?

                Ich hoffe jemand hat mir nen Tip.
                Vielen Dank vorab

                Gruß
                Wladi
                Angehängte Dateien
                Zuletzt geändert von wlatsch; 15.11.2017, 22:43.

                Kommentar


                  #68
                  Hallo,

                  da ich auch Edomi mit Docker auf Syno laufen lassen möchte, habe ich die letzten zwei Tage damit gekämpft. Mein momentanes Verständnis des Problems ist wie folgt:

                  Setup
                  Edomi läuft mit IP 172.17.0.2
                  Syno läuft mit 192.168.1.7
                  Container gestartet mit:
                  Code:
                   
                   docker run --name edomi -p 48080:8080 -p 42900:80 -p 42901:443 -p 22222:22 -p 50000:50000/udp -p 50001:50001/udp -e KNXGATEWAY=192.168.1.4 -e KNXACTIVE=true -e HOSTIP=192.168.1.7 -d pfischi/edomi:latest
                  Problem 1: Edomi versucht auf Port 8080 auf 192.168.1.7 zu hören-> schlägt fehl da nicht Container IP, deswegen die Fehlermeldung von Edomi:
                  Code:
                  Socket failed to open at port 8080: Cannot assign requested address
                  Code:
                  [root@59283d985003 log]# netstat -an
                  Active Internet connections (servers and established)
                  Proto Recv-Q Send-Q Local Address               Foreign Address             State
                  tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN
                  tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN
                  tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
                  tcp        0      0 172.17.0.2:22               172.17.0.1:45795            ESTABLISHED
                  tcp        0      0 :::80                       :::*                        LISTEN
                  tcp        0      0 :::22                       :::*                        LISTEN
                  tcp        0      0 :::443                      :::*                        LISTEN
                  udp        0      0 0.0.0.0:50000               0.0.0.0:*
                  udp        0      0 0.0.0.0:50001               0.0.0.0:*
                  Problem 2: Der Visu Client möchte sich per WS mit Edomi verbinden und zwar auf 192.168.1.7:8080 -> schlägt fehl, da (a) Port 8080 auf der Syno belegt ist und eigentlich Port 48080 benutzt werden sollte, aber selbst dann würde es nicht gehen, da ja im Container nichts auf Port 8080 hört. Fehlermeldung im Browser:
                  Code:
                  Ajax-Response fehlerhaft! Error-Msg: socket is not defined / URL: apps/app0.php?cmd=initVisu&appid=0&visuid=1&pageid=0&sid=236A05F8D2FA8AD4295C90B841D&vid=1.54 / Response:         document.getElementById("windowContainer").style.display="none";
                  ...
                                  visu_startPageId="1";
                                  visu_socket=new class_websocket();
                                  visu_socket.open(((window.location.protocol=='https:')?'wss':'ws'),window.location.host,8080);
                  Lösung?

                  Sollte ich das soweit richtig verstanden haben, dann wäre es doch eine Lösung zwei unterschiedliche Config-Parameter in Edomi zu haben:

                  1) Wo soll der WS Server hören:
                  WS-SERVER-IP=172.17.0.2
                  WS-SERVER-PORT=8080

                  2) Wie kann der VISU Client auf WS zugreifen:
                  WS-PROXY-IP=192.168.1.7
                  WS-PROXY-PORT=48080

                  Was meint ihr? Nahe dran oder zurück ans Zeichenbrett??

                  LG,
                  Harald

                  Kommentar


                    #69
                    da müsste sich wohl der Schöpfer dazu äußern
                    EPIX
                    ...und möge der Saft mit euch sein...
                    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                    Kommentar


                      #70
                      Zitat von tsero Beitrag anzeigen
                      Sollte ich das soweit richtig verstanden haben, dann wäre es doch eine Lösung zwei unterschiedliche Config-Parameter in Edomi zu haben:

                      1) Wo soll der WS Server hören:
                      WS-SERVER-IP=172.17.0.2
                      WS-SERVER-PORT=8080

                      2) Wie kann der VISU Client auf WS zugreifen:
                      WS-PROXY-IP=192.168.1.7
                      WS-PROXY-PORT=48080
                      Den Websocket Port kannst du doch in der Basis Konfiguration von EDOMI einstellen.
                      Würde es nicht funktionieren, wenn du den auf 48080 stellst und dann den Port 48080 an deinen Container wie oben weiterreichst?

                      Kommentar


                        #71
                        Denn Port kann ich ändern, aber es bringt nichts. Wenn meine Theorie stimmt, dann versucht Edomi einen Prozess zu starten, der auf Port 48080 hört, aber auf der IP 192.168.1.7 und das ist die Syno-IP und nicht die Container-IP. Und das schlägt natürlich wieder fehl:
                        Code:
                        2017-11-20 17:06:28     446540  906     ERROR   Socket failed to open at port 48080: Cannot assign requested address
                        bzw.
                        Code:
                        [root@28e5cd0177f1 log]# netstat -an
                        Active Internet connections (servers and established)
                        Proto Recv-Q Send-Q Local Address               Foreign Address             State
                        tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN
                        tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN
                        tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
                        tcp        0    208 172.17.0.2:22               172.17.0.1:59298            ESTABLISHED
                        tcp        0      0 :::80                       :::*                        LISTEN
                        tcp        0      0 :::22                       :::*                        LISTEN
                        tcp        0      0 :::443                      :::*                        LISTEN
                        udp        0      0 0.0.0.0:50000               0.0.0.0:*
                        udp        0      0 0.0.0.0:50001               0.0.0.0:*

                        Kommentar


                          #72
                          BTW, mittlerweile läuft Edomi auch in einer VM und da sehe ich (mit den default settings), dass etwas auf Port 8080 hört:
                          Code:
                          [root@localhost log]# netstat -an  | grep -v TIME_WAIT
                          Active Internet connections (servers and established)
                          Proto Recv-Q Send-Q Local Address               Foreign Address             State
                          tcp        0      0 192.168.1.23:8080           0.0.0.0:*                   LISTEN
                          tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN
                          tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
                          tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN
                          tcp        0     64 192.168.1.23:22             192.168.1.84:59983          ESTABLISHED
                          tcp        0      0 192.168.1.23:8080           192.168.1.84:50978          ESTABLISHED
                          tcp        0      0 :::80                       :::*                        LISTEN
                          tcp        0      0 :::22                       :::*                        LISTEN
                          udp        0      0 192.168.1.23:123            0.0.0.0:*
                          udp        0      0 127.0.0.1:123               0.0.0.0:*
                          udp        0      0 0.0.0.0:123                 0.0.0.0:*
                          udp        0      0 0.0.0.0:68                  0.0.0.0:*
                          udp        0      0 0.0.0.0:50000               0.0.0.0:*
                          udp        0      0 0.0.0.0:50001               0.0.0.0:*
                          udp        0      0 fe80::20c:29ff:fec2:538b:123 :::*
                          udp        0      0 ::1:123                     :::*
                          udp        0      0 :::123                      :::*

                          Kommentar


                            #73
                            Ja das ist der Default WS Port von EDOMI.

                            Kommentar


                              #74
                              gerade probiert: edomi auf der VMM auf einer Synology läuft tadellos... *froi*
                              Zuletzt geändert von EPIX; 11.12.2017, 22:21.
                              EPIX
                              ...und möge der Saft mit euch sein...
                              Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                              Kommentar


                                #75
                                Du kannst in der VM doch ein virt. optisches Laufwerk anlegen, welches du dann genauso wie den Stick mounten kannst

                                Kommentar

                                Lädt...
                                X