Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

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

    Hi Yves,

    könntest du noch kurz den Pfad zur Logdatei angeben?
    Dann könnte ich verhindern, dass sie ins Backup läuft.

    Danke für deine Mühe!

    edit: Konnte auch mit tools keine Datei finden, die mir Probleme bereiten würde, also erst mal alles gut / kein Bedarf bei mir.
    Zuletzt geändert von MKHR; 01.01.2020, 23:58.

    Kommentar


      Guten Morgen miteinander,

      wenn ich gerade dabei bin: Ich habe eben schon wieder neue Versionen der Images gepushed. Es ist jetzt möglich, das Root-Passwort beim Start des Containers via Environment zu setzen. Dazu braucht es lediglich eine weitere Env-Var ROOT_PASS, welche mit dem gewünschten Passwort zu belegen ist. Dieses Passwort wird dann beim Start des Containers für den Root-Account gesetzt. In Portainer sähe das so aus:



      Das Default-Passwort 123456 ist nach wie vor vorhanden, könnte perspektifisch aber auch entfernt werden. Was meint ihr?
      Kind regards,
      Yves

      Kommentar


        Zum Passwort habe ich persönlich keine Meinung, begrüße aber die neue Variable.

        Wie sieht denn dein Plan bzgl. weiterer Pakete diverser LBS aus? Machst du das case-by-case basierend auf Eigenbedarf oder ist hier möglichst Breite Unterstützung geplant?
        Ich würde Bedarf an den MQTT Paketen (vor allem LBS 19001054) anmelden.

        Grüße,
        Markus

        Kommentar


          Zitat von MKHR Beitrag anzeigen
          Z
          Ich würde Bedarf an den MQTT Paketen (vor allem LBS 19001054) anmelden.

          Mach einstweilen eine Datei mit dem Namen "Dockerfile" und diesem Inhalt:
          Code:
          FROM starwarsfan/edomi-docker:amd64-latest
          
          #Install Mqtt
          RUN yum -y install epel-release php-process git gcc make \
          && yum -y install mosquitto mosquitto-devel php-devel \
          && cd /tmp \
          && git clone https://github.com/mgdm/Mosquitto-PHP \
          && cd Mosquitto-PHP \
          && phpize \
          && ./configure \
          && make \
          && make install \
          && echo 'extension=mosquitto.so' > /etc/php.d/50-mosquitto.ini
          und eine Datei "docker-compose.yml"

          Code:
          version: '2'
          services:
             edomi:
                  build: .
                  ports:
                      - "127.0.0.1:80:80"
                      - "127.0.0.1:443:443"
                      - "127.0.0.1:10234:10234"
                      - "7080:7080"
                      - "3307:3306"
                      - "50000:50000/udp"
                      - "50001:50001/udp"
                  environment:
                      - KNXGATEWAY=172.20.0.1
                      - KNXACTIVE=true
                  restart: always
                  container_name: edomi
                  volumes:
                     - /opt/docker-edomi/edomi-data/edomi-backups/:/var/edomi-backups/
          und starte das mit
          Code:
          docker-compose build && docker-compose up
          Damit baust Du die eine modifizierte Version des Images von Yves mit den Modulen für die MQTT-LBSe.
          Die anderen Werte wie Ports, etc. musst Du natürlich nach deinen Bedürftnissen anpassen!

          Viel Spaß.

          Kommentar


            Danke für die Kurzanleitung, mir ging es aber eher um eine grundsätzliche Aussage von Yves.
            Also weniger "wie bekomme ich das gelöst", sondern eher "wie soll das in Zukunft gehandhabt werden".
            Die Umsetzung kann man ja dank github von allen Seiten beisteuern.

            Kommentar


              Hallo zusammen. Ich versuche das dockerimage auf einer Qnap am laufen zu bekommen. Hat das schon jemand gechaft ? Was muss man in der NAS einstellen ? Porteinstellungen wie bei der Synology kann ich dort nicht finden.

              Kommentar


                Zitat von karino Beitrag anzeigen

                Hallo Forum,

                ich wünsche Euch ein frohes, gesundes und erfolgreiches neues Jahr.

                Bei mir steht aufgrund mehrerer neuer LBS und gaert's Aussicht auf eine "Android-Visu" ein Upgrade des Betriebssystems an. Aktuell habe ich edomi per Docker (CENTOS 6.5) und Edomi 2.0 laufen. starwarsfan , verstehe ich es richtig, dass Dein neues Image ein feriges Edomi 2 basierend auf CentOS 7 ist? Wenn nein, wie setzt ihr dieses aktuell auf?

                Danke und viele Grüße,
                Karin
                Hallo zusammen,

                kann mir jemand kurz schreiben, ob das neue Docker-Image ein Image basierend auf CentOS 7 mit Edomi 2 ist?

                Danke und viele Grüße,
                Karin

                Kommentar


                  Zitat von karino Beitrag anzeigen

                  Hallo zusammen,

                  kann mir jemand kurz schreiben, ob das neue Docker-Image ein Image basierend auf CentOS 7 mit Edomi 2 ist?

                  Danke und viele Grüße,
                  Karin
                  Ja und ja.

                  Kommentar


                    Hi Karin,

                    ja so ist es, habe es auch soeben neu installiert...

                    gruß
                    Robert

                    Kommentar


                      Super! Danke, dann werde ich es auch gelich versuchen.

                      Nur final zu Klarstellung:

                      1) Ich setze einen neuen Container basierend auf dem "starwarsfan/edomi-docker:amd64-latest"-Image auf
                      2) Ich exportiere mein bisheriges Projekt aus CentOS 6.5 mit Edomi 2.0
                      3) Ich importiere das Projekt im neuen Container
                      4) Manuell LBS-Voraussetzungen nachziehen (MQTT, Telegram)

                      Alles läuft wir bisher (nur auf CentOS 7) :-)

                      Hab ich das so richtig verstanden?

                      Danke und liebe Grüße,
                      Karin

                      Kommentar


                        Telegram ist m.M.n bereits drin, MQTT entweder wie von givemeone vorgeschlagen oder manuell per ssh.
                        Ausserdem den temporären workaround mit der proc_main.php beachten

                        Kommentar


                          Hallo zusammen,
                          wenn ich den neuen Container ausprobiere, kann ich dann den bestehenden für alle Fälle mit
                          docker commit -p [container-id] sichern? Vielen Dank

                          Kommentar


                            Hallo Markus

                            Zitat von MKHR Beitrag anzeigen
                            könntest du noch kurz den Pfad zur Logdatei angeben?
                            Dann könnte ich verhindern, dass sie ins Backup läuft.
                            Versteh' ich gerade nicht!? Die Logs liegen schon jeher unter /usr/local/edomi/www/data/log, etwas anderes gibt es nicht.

                            Wenn Du Dich auf das neue Feature mit dem reduzierten Heartbeat beziehst, hast Du missverstanden, worum es geht. Edomi selbst loggt direkt auf die Konsole, da gibt es keine Datei. Das wird erst dann relevant, wenn Du Management-Tools wie Portainer verwendest, welche diesen Output selbst verwalten.
                            Kind regards,
                            Yves

                            Kommentar


                              Hoi Markus

                              Zitat von MKHR Beitrag anzeigen
                              Wie sieht denn dein Plan bzgl. weiterer Pakete diverser LBS aus? Machst du das case-by-case basierend auf Eigenbedarf oder ist hier möglichst Breite Unterstützung geplant?
                              Ich würde Bedarf an den MQTT Paketen (vor allem LBS 19001054) anmelden.
                              Tendentiell schwebt mir eine möglichst breite Unterstützung vor, so dass das Image so weit wie möglich bereits alles mitbringt, was direkt auf dem System benötigt wird. Somit müsste man im Idealfall lediglich die gewünschten LBS's via Admin-UI hochladen und los geht's. Was ich aber mit grosser Wahrscheinlichkeit nicht machen werde, ist die gesamte gcc-make-Toolchain zu installieren. Wenn ich damit anfange, wird das Image explodieren. Ich bin am überlegen, wie sich soetwas elegant lösen lässt. Aktuell schwebt mir ein vorgelagerter Build-Container vor, in welchem sich die Toolchain befindet und installiert wird das Resultat dann im Ziel-Image.
                              Kind regards,
                              Yves

                              Kommentar


                                Hi,

                                thx für den Vorschlag. Wer das so macht, sollte die roten Ergänzungen bzw. Änderungen beachten, um das Image in der Grösse schlanker zu halten. Die durchgestrichenen Pakete sind bereits im Image enthalten:

                                Zitat von givemeone Beitrag anzeigen
                                Mach einstweilen eine Datei mit dem Namen "Dockerfile" und diesem Inhalt:
                                Code:
                                FROM starwarsfan/edomi-docker:amd64-latest
                                
                                #Install Mqtt
                                RUN yum -y install [S][COLOR=#FF0000]epel-release php-process git[/COLOR][/S] gcc make \
                                && yum -y install mosquitto mosquitto-devel php-devel \
                                && cd /tmp \
                                && git clone https://github.com/mgdm/Mosquitto-PHP \
                                && cd Mosquitto-PHP \
                                && phpize \
                                && ./configure \
                                && make \
                                && make install \
                                && echo 'extension=mosquitto.so' > /etc/php.d/50-mosquitto.ini[COLOR=#FF0000] \[/COLOR]
                                [COLOR=#FF0000]&& cd - \
                                && rm -rf Mosquitto-PHP \
                                && yum remove gcc make
                                && yum clean all[/COLOR]

                                Im Compose-File solltest Du vielleicht noch dazu schreiben, welcher Port welche Funktion hat, so für die c&p-Fraktion oder das Beispiel gleich auf die Standard-Konfig beschränken.

                                Achja, einen Fehler hat's auch noch, siehe Änderung in rot:

                                Zitat von givemeone Beitrag anzeigen
                                und eine Datei "docker-compose.yml"
                                Code:
                                version: '2'
                                services:
                                edomi:
                                build: .
                                ports:
                                - "127.0.0.1:80:80"
                                - "127.0.0.1:443:443"
                                - "127.0.0.1:10234:10234"
                                - "7080:7080"
                                - "3307:3306"
                                - "50000:50000/udp"
                                - "50001:50001/udp"
                                environment:
                                - KNXGATEWAY=172.20.0.1
                                - KNXACTIVE=true
                                restart: [S][COLOR=#FF0000]always[/COLOR][/S][COLOR=#FF0000] on-failure[/COLOR]
                                container_name: edomi
                                volumes:
                                - /opt/docker-edomi/edomi-data/edomi-backups/:/var/edomi-backups/
                                und starte das mit
                                Code:
                                docker-compose build && docker-compose up
                                Damit baust Du die eine modifizierte Version des Images von Yves mit den Modulen für die MQTT-LBSe.
                                Die anderen Werte wie Ports, etc. musst Du natürlich nach deinen Bedürftnissen anpassen!

                                Ich bin am überlegen, gleich ein Compose-File mit in's Repo zu packen. Hast Du mit Docker-Compose schonmal Multistage-Builds gemacht? Ich hatte damit (vor längerer Zeit) ziemlich Mühe...
                                Kind regards,
                                Yves

                                Kommentar

                                Lädt...
                                X