Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

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

  • starwarsfan
    antwortet
    Hi,

    Ok, danke. Jetzt noch die Frage, welches Image genau Du heruntergeladen hast?!

    Einen Kommentar schreiben:


  • ponG
    antwortet
    Screenshot 2022-03-05 054849.png
    Screenshot 2022-03-05 054908.png
    Screenshot 2022-03-05 054922.png
    Screenshot 2022-03-05 054939.png
    Screenshot 2022-03-05 055027.png
    Screenshot 2022-03-05 055043.png

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi

    Screenshots der Settings bitte!

    Einen Kommentar schreiben:


  • ponG
    antwortet
    Guten Abend zusammen,

    ich versuche ebenfalls gerade, Edomi im Docker auf einer Syno DS920+ laufen zu lassen. Soweit alles nachvollziehbar, Container fertiggemacht, Ports gemapped, Umgebungsvariablen gesetzt komplett wie beschrieben. Nach dem Start sieht das Protokoll / Terminal auch gut aus. Edomi läuft, aber in PAUSE, weil kein Live-Projekt.

    Ich habe wie viele hier den Host-Port 81 auf den Container-Port 80 gemapped, alle anderen Ports 1:1,. Was nun passiert ist, dass ich über die http://hostip:81/ die NIGNX-Testseite angezeigt bekomme. Somit passt das Portmapping ja. Wenn ich allerdings dann auf http://hostip:81/admin gehe, bekomme ich einen HTTP 503:

    Service Unavailable

    The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

    Jemand eine Idee, woran das liegen kann? Ich betreibe einen Bond der Netzwerkschnittstellen, falls das irgendwie Einfluss haben sollte...

    Einen Kommentar schreiben:


  • givemeone
    antwortet
    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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    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...

    Einen Kommentar schreiben:


  • RuffG
    antwortet
    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?

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    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.

    Einen Kommentar schreiben:


  • RuffG
    antwortet

    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. 👍😀

    Einen Kommentar schreiben:


  • Gentleman
    antwortet
    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

    Einen Kommentar schreiben:


  • Gentleman
    antwortet
    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.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    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.

    Einen Kommentar schreiben:


  • Gentleman
    antwortet

    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

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    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?

    Einen Kommentar schreiben:

Lädt...
X