Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

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

    Hi

    Zitat von DaLugi Beitrag anzeigen
    SSH auf den Container klappt ja so nicht.
    Was genau klappt da nicht?
    Kind regards,
    Yves

    Kommentar


      Anfänger bittet um Hilfe!
      Habe über Portainer GUI den Container zum laufen gebracht. In der Log Datei steht nun:
      HOSTIP not set, using edomi default settings.
      KNXGATEWAY not set, using edomi default settings.
      KNXACTIVE not set, using edomi default settings.
      WEBSOCKETPORT not set, using edomi default settings.
      Disabling heartbeat log output every second ... configure /usr/local/edomi/edomi.ini
      im nächsten Schritt hab ich dann über die Container-Konsole die Datei edomi.ini entsprechend angepasst und den Container neu gestartet.
      In der Log-Datei ist die Meldung aber identisch geblieben, obwohl die edomi.ini Datei angepasst bleibt.
      mit der eingestellten <IP>:80/admin müsste ich doch Edomi aufrufen können?
      oder hätte ich bei der Konfiguration den Port auf 81 setzen sollen?

      Kommentar


        Na was genau hast Du denn konfiguriert? Du weisst schon, Glaskugel, Wartung,...
        Kind regards,
        Yves

        Kommentar


          Zitat von starwarsfan Beitrag anzeigen
          Na was genau hast Du denn konfiguriert? Du weisst schon, Glaskugel, Wartung,...
          Sorry, da hast du Recht!
          Hab heute morgen den Container neu aufgesetzt, jetzt läufts. Ist auch unter der Adresse
          Code:
          http://192.168.188.210/admin/?login=admin&pass=admin
          erreichbar.

          Hab meine Vorgehensweise in Portainer als Hilfestellung in einer PDF zusammengefasst:
          https://drive.google.com/file/d/1BDp...ew?usp=sharing

          Frage zu der edomi.ini:
          IP-Adresse ebenfalls auf "192.168.188.210" einstellen?
          IP-Adresse: Visualisierung (Websocket) kann leer bleiben?
          IP-Adresse:KNX-Socket auf "auto" stehen lassen?

          Kommentar


            Hi

            Zitat von Gentleman Beitrag anzeigen
            Hab meine Vorgehensweise in Portainer als Hilfestellung in einer PDF zusammengefasst:
            Wenn ich mir das pdf so anschaue, dann hast Du die Doku zum Container nicht wirklich gelesen!? Du solltest Dir den Abschnitt zu den Mounts resp. Volumes sowie zum Restart-Verhalten nochmal anschauen. Und was ist mit KNX? Betreibst Du Edomi ohne Busanbindung?
            Kind regards,
            Yves

            Kommentar



              Zitat von starwarsfan Beitrag anzeigen
              dann hast Du die Doku zum Container nicht wirklich gelesen!?
              gelesen: schon, verstanden: nicht wirklich. wie gesagt: Anfänger
              also müsste ich ein Volume erzeugen? und dann beim erzeugen vom Container so weiter vorgehen?

              12-01-_2022_17-41-35.jpg

              Kommentar


                Hallo Michael

                [/QUOTE]
                Zitat von Gentleman Beitrag anzeigen
                gelesen: schon, verstanden: nicht wirklich. wie gesagt: Anfänger
                Ok, das kommt in den besten Familien vor.


                Zitat von Gentleman Beitrag anzeigen
                also müsste ich ein Volume erzeugen? und dann beim erzeugen vom Container so weiter vorgehen?
                Du solltest drei Volumes anlegen und diese dann auf die entsprechenden Mountpoints im Container mounten. Dann bleiben die Daten erhalten, auch wenn Du einen neuen Container anlegst, da Du dort diese Volumes wieder verwenden kannst. Für's reine herumspielen am Anfang kannst Du das aber auch erstmal komplett weglassen, dann sind die Daten erst dann weg, wenn Du den Container löschst. Stoppen/Starten ist aber kein Problem.

                Und das Restart-Verhalten ist wichtig, damit das Herunterfahren/Updaten/etc. aus Edomi heraus funktioniert. Das muss zwingend auf On-Failure gesetzt werden, da das sonst nicht funktionieren wird.
                Kind regards,
                Yves

                Kommentar


                  Zitat von starwarsfan Beitrag anzeigen
                  Du solltest drei Volumes anlegen und diese dann auf die entsprechenden Mountpoints im Container mounten. Dann bleiben die Daten erhalten, auch wenn Du einen neuen Container anlegst, da Du dort diese Volumes wieder verwenden kannst. Für's reine herumspielen am Anfang kannst Du das aber auch erstmal komplett weglassen, dann sind die Daten erst dann weg, wenn Du den Container löschst. Stoppen/Starten ist aber kein Problem.

                  Und das Restart-Verhalten ist wichtig, damit das Herunterfahren/Updaten/etc. aus Edomi heraus funktioniert. Das muss zwingend auf On-Failure gesetzt werden, da das sonst nicht funktionieren wird.
                  Vielen Dank für die Unterstützung!
                  du meinst also so?
                  12-01-_2022_19-24-11.jpg

                  und unter "Restart policy" dann "On failure" auswählen.

                  Kommentar


                    Hallo Yves,
                    ich glaub, jetzt hab ich es hinbekommen. An dieser Stelle noch mal vielen Dank für die Tipps!
                    hab die PDF endsprechend angepasst und hoch geladen (falls jemand über ähnliche Probleme stolpert)

                    HTML-Code:
                    https://drive.google.com/file/d/10dQClUc2g9o07wX1ncCpqB_im6SzepiU/view?usp=sharing

                    Kommentar



                      givemeone

                      Hallo Joe,

                      ich bin gerade dabei mein Edomi auch via Docker und jwilder-nginx verfügbar zu machen. Habe auch eine Custom-Config im jwilder/nginx erstellt. Mir kommt nur eine kleine Verständnissfrage auf. Sehe ich das richtig, dass du den Nginx mit deiner Config auf dem Edomi-Docker installiert hast oder warum die localhost-IPs unter den Locations? Und welche IP soll 1.2.3.4 sein?
                      Vielleicht kannst du kurz in Stichpunkten wiedergeben, wie du vorgegangen bist. Habe auch schon den Thread durchgelesen, aber nichts gefunden diesbezüglich oder ich habe es überlesen, bei der Masse an Informationen in diesem Thread.
                      Versuche schon länger den Websockets Herr zuwerden. Mit Traefik habe ich es schon mal hinbekommen, aber leider ist diese config verschwunden.

                      Vielen Dank schon mal für deine Hilfe im Vorraus 🙂

                      Grüße
                      Gregor



                      Zitat von givemeone Beitrag anzeigen

                      Code:
                      upstream edomi_websocket {
                      server 172.19.0.2:443;
                      }
                      server {
                      server_tokens off;
                      listen 1.2.3.4:443 http2;
                      server_name xx.domain.net;
                      
                      ssl on;
                      ssl_certificate /etc/letsencrypt/live/xxxx/fullchain.pem;
                      ssl_certificate_key /etc/letsencrypt/live/cccc/privkey.pem;
                      
                      location = / {
                      proxy_pass http://edomi_websocket;
                      proxy_http_version 1.1;
                      proxy_set_header Upgrade $http_upgrade;
                      proxy_set_header Connection $connection_upgrade;
                      }
                      location /admin {
                      proxy_pass http://127.0.0.1/admin/;
                      }
                      # Edomi Weiterleitung
                      location /visu/ {
                      proxy_pass http://127.0.0.1/visu/;
                      }
                      location /shared/ {
                      proxy_pass http://127.0.0.1/shared/;
                      }
                      location /data/ {
                      proxy_pass http://127.0.0.1/data/;
                      }
                      location /remote/ {
                      proxy_pass http://127.0.0.1/remote/;
                      }
                      }
                      gaert
                      starwarsfan
                      givemeone
                      Vielen Dank für diese grossartige Arbeit. 👍😀

                      Kommentar


                        Hallo miteinander,

                        die kommende Version des Docker-Container wird direkt einen nginx enthalten. Damit braucht es nur noch den http-Port für den Zugriff auf Backend und Visu. Wie und ob das auch mit https bis in den Container hinein geht, steht noch nicht fest. Da bin ich noch dran...

                        Sollte dann vor dem Container noch ein Reverse-Proxy sein, braucht dieser ggf. einen speziellen Eintrag, um den Websocket korrekt zu handhaben.
                        Kind regards,
                        Yves

                        Kommentar


                          Hallo starwarsfan,
                          heisst du exposed nur noch Port 80 ohne Websocket-Port 8080?
                          Viele der ReverseProxies terminieren ja die SSL-Verbindung und gehen dann auf den ursprünglichen Port der Anwendungen ohne SSL. So sollte es ja kein Problem darstellen, wenn der Proxy auf Port 80 oder dergleichen zugreift. Hast du schon ein ReleaseDate für die neue Version?

                          Kommentar


                            Hi

                            Zitat von RuffG Beitrag anzeigen
                            Hallo starwarsfan,
                            heisst du exposed nur noch Port 80 ohne Websocket-Port 8080?
                            Jein, so einfach ist es nicht. Auf Port 80 lauscht der Edomi-eigene httpd resp. Apache. Ich möchte aber Edomi so wenig wie möglich anfassen, so dass der vorgeschaltete Nginx auf Port 88 lauscht. Dieser Port wird somit exposed.


                            Zitat von RuffG Beitrag anzeigen
                            Viele der ReverseProxies terminieren ja die SSL-Verbindung und gehen dann auf den ursprünglichen Port der Anwendungen ohne SSL. So sollte es ja kein Problem darstellen, wenn der Proxy auf Port 80 oder dergleichen zugreift.
                            So ist der Plan, ja. Damit muss der Container lediglich mit dem Mapping 80:88 gestartet werden und die Sache läuft. Der springende Punkt ist aber nicht die SSL-Termination sondern das Websocket-Handling im Reverse-Proxy an und für sich und deswegen braucht es da eine spezielle Konfiguration.


                            ​​​​​​​
                            Zitat von RuffG Beitrag anzeigen
                            Hast du schon ein ReleaseDate für die neue Version?
                            Nein, habe ich nicht. Das liegt aber daran, dass a) der Umbau etwas heftiger ausfallen wird und ich das erst noch auf Herz und Nieren prüfen möchte und b) es schon schön wäre, wenn das mit https bis in den Container hinein funktionieren würde. Aber vielleicht hebe ich mir das auch für eine spätere Version auf...
                            Kind regards,
                            Yves

                            Kommentar


                              Ich nutze Deine Container-Edomi Version und möchte Dir einfach mal Danke für Deine Arbeit und die investierte Zeit sagen. 👍

                              Kommentar


                                Zitat von starwarsfan Beitrag anzeigen
                                die kommende Version des Docker-Container wird direkt einen nginx enthalten. Damit braucht es nur noch den http-Port für den Zugriff auf Backend und Visu.
                                Das sind großartige Nachrichten, herzlichen Dank! Sollte ich irgendwie helfen können .... ;-), gerne!

                                Zitat von starwarsfan Beitrag anzeigen
                                Wie und ob das auch mit https bis in den Container hinein geht, steht noch nicht fest. Da bin ich noch dran...
                                In meinem Setuo ist am NGINX nixhts zu ändern. http und https gehen paralell.

                                Zitat von starwarsfan Beitrag anzeigen
                                Jein, so einfach ist es nicht. Auf Port 80 lauscht der Edomi-eigene
                                Darum habe ich für manches innerhalb vom Docker 127.0.0.1 genommen! dort war Port 80 frei!

                                Zitat von RuffG Beitrag anzeigen
                                Hallo Joe,
                                Ich habe im Nginx eben 127.0.0.1 genommen, da dies frei war und nicht vom Edomi-Apache belegt wurde.
                                Damit konnte ich das problemlos, ohne größere Änderungen nach aussen freigeben.
                                Das Problem ist nämlich, dass die Einstellung für den Websocket port auch für die generierung der Aufruf-URL genutzt wird.
                                Darum muss dieser zwangsläufig auf 443 konfiguriert werden.
                                Es sei denn, jemand findet einen besseren Weg


                                sG Joe

                                Kommentar

                                Lädt...
                                X