Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

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

  • Wovchik
    antwortet
    Hi Yves,
    ich habe deinen string benutzt bis auf --net=host und natürlich mit meinen IPs.
    Wenn ich das richtig verstehe wird mit --net=host der Docker das Netz des Hosts (bei mir die Synology) benutzen.
    Da aber Synology mit dem vSwitch ein eigenes Netzt für den Docker zu verfügung stellt habe ich drauf verzichtet. Edomi war ja auch vom PC aus auch zu erreichen auf ihrer IP Adresse.


    Viele Grüße
    Waldemar

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi Waldemar,

    zunächst stellt sich die Frage, wie genau Du den Container gestartet hast, also mit welchen Parametern.

    Einen Kommentar schreiben:


  • Wovchik
    antwortet
    Hallo zusamen,

    Ich bin noch neu bei dem Docker Thema und Linux auch.
    Hab jetzt viel gelesen hier wegen Edomi als Docker auf der Synology und hab trotzdem noch eine frage:

    Was genau heist startet nicht auf der Synology?
    Bei mir läuft alles bis ich die Erste Visu anlege und als live Projekt aktiviere danach start er und sagt:

    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD][2K25.10.2017 23:00:35 Prozess KNX starten[/TD]
     		[/TR]
    [/TABLE]
    [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD][2K25.10.2017 23:00:35 Prozess LOGIC starten[/TD]
     		[/TR]
    [/TABLE]
    [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD][2K25.10.2017 23:00:35 Prozess VISU starten[/TD]
     		[/TR]
    [/TABLE]
    [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD][2K25.10.2017 23:00:45 ACHTUNG: Mindestens 1 Prozess ist nicht bereit![/TD]
     		[/TR]
    [/TABLE]
    [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD][2K25.10.2017 23:00:45 Prozess MAIN beenden... (Modus 13)[/TD]
     		[/TR]
    [/TABLE]
    [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD][2K25.10.2017 23:00:45 EDOMI: Beenden...   			[TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
    [TR]
    [TD] [/TD]
     					[/TR]
    [/TABLE]
    [/TD]
     		[/TR]
    [/TABLE]
       ....
    und beendet jedesmal den Container.
    Ist das der Fehler mit dem Websocket oder habe ich noch was anderes als Problem?

    Dein Docker File hat an sich so funktioniert und sogar das update auf 1.53 hat geklappt
    der Container läuft bei mir aber im eigenem Virtuellem Netz auf der Synology über dieses netzt komme ich auch an die Admin oberfläche (routing auf der Fritzbox angelegt)

    Danke und Gruß
    Waldemar

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hallo miteinander,

    kobza:OK, danke für die Info. Aber das was Du gemacht hast, ist völlig irrelevant in diesem Kontext. Hier die Details dazu:


    Zitat von kobza Beitrag anzeigen
    Genau das habe ich bei meinem lokalem Docker gemacht, HTTP auf 81 HTTPS auf 444, funktioniert zusammen mit meiner haupt-Aapache Installation ohne Probleme.
    Zitat von kobza Beitrag anzeigen
    Ich habe das Dockerfile vom pfischi als Startpunkt genommen (weil ich schon länger damit Optionen probiert habe)
    Dort habe ich die neuste EDOMI Version und eben die Ports 81/444 reingebastelt (Dockerfile und install.sh angepasst)
    Das ist soweit ja ok. Aber schlussendlich hast Du den Container nur so geändert, als dass Edomi nicht auf den Default-Ports läuft.


    Zitat von kobza Beitrag anzeigen
    Ja, habe jetzt auf EDOMI 1.53 upgadated. Host system ist debian stretch 9.1.
    ...
    Zitat von kobza Beitrag anzeigen
    docker run ... --net=host ...
    Und genau hier findet sich der springende Punkt! Du startest den Container mit der Option --net=host und damit werden alle Ports direkt an den Container gebunden. Somit hast Du mit Port-Mapping überhaupt nichts mehr am Hut. Aber genau das ist die Frage, um die es den Synology-Usern geht, da sich der Container auf diese Art und Weise nicht so einfach auf einem Syno-System starten lässt.

    Anyway, ich bin nach wie vor am suchen, warum es nicht funktioniert, die Edomi-Visu selbst mit Reverse-Proxy im Container zu erreichen, wenn man das wie üblich mit Mapping der verwendeten Ports macht. Muss mich da wohl nochmal direkt mit gaert in Verbindung setzen, da ich mittlerweile irgendeine Spezialität der PHP-Implementierung vermute. Anders kann ich es mir im Moment jedenfalls nicht erklären...

    Einen Kommentar schreiben:


  • kobza
    antwortet
    Ja, habe jetzt auf EDOMI 1.53 upgadated. Host system ist debian stretch 9.1. (leif aber auch mit "jessie")
    Wie gesagt als Startpunkt das"pfischi" GIT genommen und die Änderungen wie oben lokal eingebaut.

    Docker build im lokalem Docker Dir:
    Code:
    docker build -t "edomi" .
    Dann start mit
    Code:
    docker run --restart=always --name edomi -d --net=host -e KNXGATEWAY=192.168.178.xx -e KNXACTIVE=true -e HOSTIP=192.168.178.xx edomi
    Zuletzt geändert von kobza; 17.10.2017, 20:04.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Sehr seltsam! Und das funktioniert mit Edomi 1.52 aufwärts? Auf welchem Hostsystem? So ziemlich genau so hatte ich es am Anfang auch aber keine Chance die Websocket-Verbindung aufzubauen.

    Hast Du bitte noch ein paar mehr Details zum "Drumherum" und den genauen Aufruf?

    Einen Kommentar schreiben:


  • kobza
    antwortet
    Klar :-) hier

    Dockerfile , hier https und mysql (im extra File) Ports geändert:
    Code:
    FROM centos:6.8
    RUN yum update -y && yum upgrade -y
    RUN yum -y install \
            nano \
            emacs \
            wget \
            unzip \
            php-devel \
            mysql \
            mysql-server \
            vsftpd \
            httpd \
            tar \
            php-gd \
            php-mysql \
            php-pear \
            php-soap \
            ntp \
            openssh-server \
            mod_ssl
    
    ENV EDOMI_TMP_PATH /tmp
    ENV EDOMI_ZIP $EDOMI_TMP_PATH/edomi.zip
    ENV EDOMI_INSTALL_PATH $EDOMI_TMP_PATH/edomi/Install/
    COPY bin/edomi_152.zip $EDOMI_ZIP
    RUN unzip -q $EDOMI_ZIP -d $EDOMI_TMP_PATH
    COPY bin/install.sh $EDOMI_INSTALL_PATH
    RUN cd $EDOMI_INSTALL_PATH && ./install.sh
    
    # change http port to 81 -> done in install.sh
    # COPY config/httpd.conf /etc/httpd/conf/
    
    # change mysql port to 3360
    COPY config/my.cnf /etc/
    
    # set root passwd
    RUN echo -e "admin\nadmin" | (passwd --stdin root)
    
    # enable ssl for edomi
    RUN sed -i -e "\$aLoadModule log_config_module modules/mod_log_config.so" /etc/httpd/conf.d/ssl.conf
    RUN sed -i -e "\$aLoadModule setenvif_module modules/mod_setenvif.so" /etc/httpd/conf.d/ssl.conf
    # change port to 444
    RUN sed -i -e "s#443#444#g" /etc/httpd/conf.d/ssl.conf
    
    # copy entrypoint script
    ENV START_SCRIPT /root/start.sh
    COPY bin/start.sh $START_SCRIPT
    RUN chmod +x $START_SCRIPT
    CMD ["/root/start.sh"]
    install.sh (hier nur Apache config), http port auf 81
    Code:
            ...
            # Apache
            cp config/welcome.conf /etc/httpd/conf.d/
            cp config/httpd.conf /etc/httpd/conf/
            sed -i -e "s#===INSTALL-HTTP-ROOT===#$MAIN_PATH/www#g" /etc/httpd/conf/httpd.conf
            # change port to 81
            sed -i -e "s#80#81#g" /etc/httpd/conf/httpd.conf
            ...
    Gruß
    Thomas

    Einen Kommentar schreiben:


  • matthiaz
    antwortet
    Und? Magste den Dockerfile Teilen?

    Einen Kommentar schreiben:


  • kobza
    antwortet
    Ich habe das Dockerfile vom pfischi als Startpunkt genommen (weil ich schon länger damit Optionen probiert habe)
    Dort habe ich die neuste EDOMI Version und eben die Ports 81/444 reingebastelt (Dockerfile und install.sh angepasst)

    Gruß
    Thomas

    Einen Kommentar schreiben:


  • EPIX
    antwortet
    @kobza: hast du eine Syno?
    welche sonstigen Porst hast du noch verbogen?

    ich habe zwar auch in dieser Richtung herumgetestet - aber erfolglos :-(

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Mit dem Container von mir oder dem von pfischi?

    Einen Kommentar schreiben:


  • kobza
    antwortet
    Genau das habe ich bei meinem lokalem Docker gemacht, HTTP auf 81 HTTPS auf 444, funktioniert zusammen mit meiner haupt-Aapache Installation ohne Probleme.

    Grüße
    Thomas

    Einen Kommentar schreiben:


  • matthiaz
    antwortet
    Wäre es vielleicht möglich, die benutzen Ports (HTTP, etc) zu als Enviroment Variable dynamisch zu gestalten? Sollte doch eine recht simple Sache sein, die httpd.conf beim Starten dynamisch zu konfigurieren. Würde auch die Problematik mit der Diskstation vermeiden.

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    So als erstes mal: docker erzeugt bedeutend weniger Overhead weil keine Hardware-Schicht dazwischen liegt...

    Einen Kommentar schreiben:


  • hx5
    antwortet
    Wo liegen den eigentlich die Vorteile zu anderen Virtualisieungen (wie z.B. Proxmox)?

    Einen Kommentar schreiben:

Lädt...
X