Ankündigung
Einklappen
Keine Ankündigung bisher.
Edomi im Docker-Container - revised
Einklappen
X
-
Anfänger bittet um Hilfe!
Habe über Portainer GUI den Container zum laufen gebracht. In der Log Datei steht nun:
im nächsten Schritt hab ich dann über die Container-Konsole die Datei edomi.ini entsprechend angepasst und den Container neu gestartet.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
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
-
Sorry, da hast du Recht!Zitat von starwarsfan Beitrag anzeigenNa was genau hast Du denn konfiguriert? Du weisst schon, Glaskugel, Wartung,...
Hab heute morgen den Container neu aufgesetzt, jetzt läufts. Ist auch unter der Adresseerreichbar.Code:http://192.168.188.210/admin/?login=admin&pass=admin
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
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?Zitat von Gentleman Beitrag anzeigenHab meine Vorgehensweise in Portainer als Hilfestellung in einer PDF zusammengefasst:Kind regards,
Yves
Kommentar
-
gelesen: schon, verstanden: nicht wirklich. wie gesagt: AnfängerZitat von starwarsfan Beitrag anzeigendann hast Du die Doku zum Container nicht wirklich gelesen!?
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]
Ok, das kommt in den besten Familien vor.Zitat von Gentleman Beitrag anzeigengelesen: schon, verstanden: nicht wirklich. wie gesagt: Anfänger

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.Zitat von Gentleman Beitrag anzeigenalso müsste ich ein Volume erzeugen? und dann beim erzeugen vom Container so weiter vorgehen?
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
-
Vielen Dank für die Unterstützung!Zitat von starwarsfan Beitrag anzeigenDu 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.
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
gaertZitat 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/; } }
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
- Likes 1
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
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 anzeigenHallo starwarsfan,
heisst du exposed nur noch Port 80 ohne Websocket-Port 8080?
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 anzeigenViele 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.
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...Zitat von RuffG Beitrag anzeigenHast du schon ein ReleaseDate für die neue Version?Kind regards,
Yves
- Likes 1
Kommentar
-
Das sind großartige Nachrichten, herzlichen Dank! Sollte ich irgendwie helfen können .... ;-), gerne!Zitat von starwarsfan Beitrag anzeigendie 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.
In meinem Setuo ist am NGINX nixhts zu ändern. http und https gehen paralell.Zitat von starwarsfan Beitrag anzeigenWie und ob das auch mit https bis in den Container hinein geht, steht noch nicht fest. Da bin ich noch dran...
Darum habe ich für manches innerhalb vom Docker 127.0.0.1 genommen! dort war Port 80 frei!Zitat von starwarsfan Beitrag anzeigenJein, so einfach ist es nicht. Auf Port 80 lauscht der Edomi-eigene
Ich habe im Nginx eben 127.0.0.1 genommen, da dies frei war und nicht vom Edomi-Apache belegt wurde.Zitat von RuffG Beitrag anzeigenHallo Joe,
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


Kommentar