Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

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

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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi

    Zitat von givemeone Beitrag anzeigen
    Danke für die Antwort. Kannst du mir eine 'sed' Zeile geben, die ich in das startup Script aufnehmen kann?
    Nicht wirklich nötig. Das muss ja nur genau einmal gemacht werden, wenn man direkt danach wieder ein Backup anlegt!

    Lösung für die Hardcore-User, solange der Feature-Request noch nicht implementiert ist:
    1. Neuen Edomi-Container basierend auf dem neuen Image anlegen
    2. Sichern der Datei /usr/local/edomi/main/proc/proc_main.php
    3. Backup einspielen (Achtung, muss gleiche Edomi-Version sein!)
    4. Datei /usr/local/edomi/main/proc/proc_main.php mit der Sicherung von Schritt 2 überschreiben
    5. Container neu starten

    Einen Kommentar schreiben:


  • givemeone
    antwortet
    Danke für die Antwort. Kannst du mir eine 'sed' Zeile geben, die ich in das startup Script aufnehmen kann?

    Edit: denn das ändern bei jedem Start sollte ja ausreichend sein, bis zur Verfügbarkeit des Features...


    Sg Joe

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi

    Zitat von givemeone Beitrag anzeigen
    wo wird dieses reduzierte Log eingestellt? Direkt in den Sourcen von EDOMI? Wie sieht das nach dem Einspielen eines Backups aus den original-Sourcen aus?
    Funktioniert dies dort dann?
    Danke für den Hinweis!

    Nein, das lässt sich nicht konfigurieren und nein, das wird mit einem eingespielten Backup ebenfalls nicht funktionieren, da der entsprechende Change überschrieben wird. Aber siehe dazu meinen entsprechenden Feature-Request. Wenn Christian dem wohlgesonnen ist, sollte das dann auch via Edomi-Update ordentlich integriert sein.

    Einen Kommentar schreiben:


  • givemeone
    antwortet
    Hallo Yves,

    wo wird dieses reduzierte Log eingestellt? Direkt in den Sourcen von EDOMI? Wie sieht das nach dem Einspielen eines Backups aus den original-Sourcen aus?
    Funktioniert dies dort dann?

    Danke, sG
    joe

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hallo miteinander

    Soeben habe ich aktualisierte Versionen der Images auf Dockerhub gepushed. Der Hauptunterschied bei beiden Varianten ist, dass im Log nun nur noch stündlich ein Eintrag erfolgt. Edomi macht das normalerweise im Sekundentakt und verwendet dabei Escape-Sequenzen, um die letzte Zeile des Log-Outputs auf der Konsole zu überschreiben. Nur funktioniert das in Docker-Umgebungen nicht, womit das Log bisher im Sekundentakt mit einer neuen Zeile geflutet wurde und weswegen vermutlich auch schon die eine oder andere Platte voll gelaufen ist (unter anderem bei mir...). Das ist nun anders, da es wie gesagt nur alle Stunde einen Heartbeat-Eintrag im Log gibt.

    Soweit die guten News. Leider gibt es auch schlechte Neuigkeiten.

    Bzgl. der ARM-Version habe ich im Moment ein eher ungutes Gefühl. Das Problem ist aber nicht der ARM-Prozessor sondern die 32Bit. Ich habe leider feststellen müssen, dass Edomi ootb explizit ein 64Bit-System verlangt. Der Gedanke daran ist mir vor den entsprechenden Hinweisen hier und im TW-Forum gar nicht gekommen. Die Edomi-Installation im ARM-Image habe ich dbzgl. ein wenig gepatcht, nur scheint es da noch weitere Probleme zu geben. Konkret klemmt es noch an der Aktualisierung der Visu. Wenn ich den Browser refreshe, ist alles ok. Aber automatisch erfolgt keine Aktualisierung der Seite. Kann das evtl. jemand bestätigen? Und ob nicht noch andere Probleme auftreten, ist eine ganz andere Frage...

    Bzgl. allfälligen 32Bit-Problemen werde ich aber einen separaten Thread aufmachen.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi

    Zitat von H3rbst Beitrag anzeigen
    Es beendet sich immer von alleine. Ich nehme an, es liegt an der 64bit Prüfung.
    Das muss ich mir im Detail ansehen. Habe im Moment gerade kein entsprechendes Testsystem...

    Einen Kommentar schreiben:


  • givemeone
    antwortet
    Servus, und ein gutes Neues!!!!
    Herzlichen Dank, habe zum Test ein Upgrade auf amd64 gemacht und die zusätzlichen Module (mqtt,mikrotik, ...) , die ich benötige, eingebunden: Läuft bisher top!!!!
    Bin gespannt, ob sich etwas ändert, aber bisher scheint alles bestens zu funktionieren!!!
    Meine Load ist generell relativ hoch mit etwa 0.64 recht hoch (schnelles system, aber auch komplexe logiken), daran hat sich durch das Update (wie erwartet) nichts geändert.


    sG
    Joe

    Einen Kommentar schreiben:


  • karino
    antwortet
    Zitat von starwarsfan Beitrag anzeigen
    Hallo miteinander,

    so als ein Schmankerl zum Ende des Jahres 2019 habe ich eben die erste Version des Edomi-Docker-Images mit

    Edomi 2.x sowohl für amd64 als auch für arm32v7

    auf Dockerhub hochgeladen:
    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

    Einen Kommentar schreiben:


  • Marino
    antwortet
    Super. Vielen Danke Yves. Ich hoffe, ich kann das bald mal testen. Mit der vorherigen Version auf Edomi 2.0 bin ich bisher sehr glücklich.

    Einen Kommentar schreiben:


  • H3rbst
    antwortet
    starwarsfan vielen Dank für deine Mühe!
    Dein Docker Image mit der Version 2.0 habe ich schon länger in einer VM zum Spielen. Die Version läuft hervorragend!

    Ich wollte Edomi schon eine Weile unter meinem Raspberry Pi 4 zum Laufen bringen, habe es bisher aber nicht geschafft.
    Umso mehr habe ich mich heute morgen gefreut, dass ein entsprechendes Image von dir nun zur Verfügung steht.
    Leider schaffe ich es aber nicht das Image zum Laufen zu kriegen. Es beendet sich immer von alleine. Ich nehme an, es liegt an der 64bit Prüfung.
    Mein Raspberry Pi 4 4GB läuft extra mit einer 64Bit Version von Ubuntu (eine andere 64bit Version habe ich nicht gefunden).
    Hast du eine Idee was man hier noch machen könnte?

    Code:
    Generating a 2048 bit RSA private key,
    ................+++,
    .........+++,
    writing new private key to '/etc/pki/tls/private/edomi.key',
    -----,
    No value provided for Subject Attribute O, skipped,
    No value provided for Subject Attribute OU, skipped,
    Signature ok,
    subject=/C=NZ/ST=Metropolis/L=Metropolis/CN=edomi,
    Getting Private key,
    HOSTIP set to 10.0.0.6 ... configure /usr/local/edomi/edomi.ini and /etc/httpd/conf/httpd.conf,
    KNXGATEWAY not set, using edomi default settings.,
    KNXACTIVE set to false ... configure /usr/local/edomi/edomi.ini,
    WEBSOCKETPORT set to 8080 ... configure /usr/local/edomi/edomi.ini,
                                                                                    ,
                           EDOMI - (c) Dr. Christian Gärtner                        ,
                                                                                    ,
    SERVER: Initialisierung,
    pd: time slew -0.000603s,
    EDOMI: Basis-Konfiguration,
    /usr/local/edomi/edomi.ini eingelesen,
    ,
               >>> EDOMI startet in 3 Sekunden (Abbrechen mit ENTER) <<<            ,
    31.12.2019 12:00:17 Prozess MAIN gestartet,
    31.12.2019 12:00:17 EDOMI-Version: 2.00,
    31.12.2019 12:00:17 EDOMI-ClientId: 228b80908a14f3dc1f9c1dc4f32fda9e5d6bc23[...],
    31.12.2019 12:00:17 Server wurde rebootet,
    31.12.2019 12:00:17 Prüfung: 64-Bit-System,
    31.12.2019 12:00:17 Prozess MAIN beenden... (Modus 22),
    31.12.2019 12:00:17 EDOMI: Beenden...,
    31.12.2019 12:00:17 EDOMI: Warten auf LBS (3 Sekunden)...,
    31.12.2019 12:00:20 Prozess SYSINFO (PID=) beenden,
    31.12.2019 12:00:20 Prozess LOGIC (PID=) beenden,
    31.12.2019 12:00:20 Prozess QUEUE (PID=) beenden,
    31.12.2019 12:00:20 Datenbank: edomiLive.RAMsysInfo löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.RAMcmdQueue löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.RAMko löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.RAMlogicElement löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.RAMlogicElementVar löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.RAMlogicLink löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.RAMlogicCmdList löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.logicExecQueue löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.visuQueue löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.RAMknxRead löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.RAMknxWrite löschen,
    31.12.2019 12:00:20 Datenbank: edomiLive.RAMsysProc löschen,
    31.12.2019 12:00:20 EDOMI: Warten auf EXEC-LBS (3 Sekunden)...,
    31.12.2019 12:00:23 Datenbank: Verbindung schließen,
    31.12.2019 12:00:23 Prozess MAIN beendet (22),
    EDOMI: Beenden,
    Exiting container with return value 0 to prevent Docker restarting it,

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hallo miteinander,

    so als ein Schmankerl zum Ende des Jahres 2019 habe ich eben die erste Version des Edomi-Docker-Images mit

    Edomi 2.x sowohl für amd64 als auch für arm32v7

    auf Dockerhub hochgeladen:Somit steht nun also auch eine ARM-Version für Raspberry Pi und Konsorten zur Verfügung.

    Mangels entsprechendem ARM-Setup kann ich allerdings nicht testen, ob das auf echter ARM-Hardware sauber läuft.

    Ich freue mich über jegliches Feedback!

    PS: #1 ist aktualisiert.
    Zuletzt geändert von starwarsfan; 31.12.2019, 00:19.

    Einen Kommentar schreiben:

Lädt...
X