Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

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

  • philipp900
    antwortet
    Weißt du wodurch der enorme Unterschied in der Größe von 380MB auf 1,26GB im Vergleich zur letzten Version begründet ist?
    Auf meinem Server stört es mich jetzt nicht. Ist mir nur gerade eben aufgefallen.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hallo Philipp

    Zitat von philipp900 Beitrag anzeigen
    Die beiden Files /sbin/reboot und /sbin/shutdown sind im DOS statt UNIX Format und werden deswegen nicht richtig ausgeführt.
    Alles klar, danke für die Info. Wird korrigiert.

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Jetzt habe ich doch noch einen kleinen Fehler gefunden:
    Die beiden Files /sbin/reboot und /sbin/shutdown sind im DOS statt UNIX Format und werden deswegen nicht richtig ausgeführt.

    Einen Kommentar schreiben:


  • philipp900
    antwortet
    Danke für deine Mühe Yves.
    Werde es morgen gleich mal testen und berichten.

    edit:
    Image läuft soweit stabil und bringt alle Pakete und Vorbereitungen mit welche für die von mir eingesetzten LBS benötigt werden.
    Nachdem ich alle MQTT LBS auf die neusten Versionen geupdatet habe, funktioniert auch MQTT ohne Fehler.
    Es waren diesmal keine Anpassungen am Image mehr nötig.

    Werde die nächsten Tage intensiver testen.
    Zuletzt geändert von philipp900; 01.04.2021, 19:26.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hallo miteinander,

    wie üblich geht's dann doch schneller als man denkt. Ich habe eben starwarsfan/edomi-docker:amd64v8-latest auf DockerHub hochgeladen. Das ist ein komplett neuer Build:
    • Aktuelles CentOS 7 Image
    • PHP 7.4
    • Edomi 2.03
    • LBS-Requirements für
      • Telegram-LBS (19000303 / 19000304)
      • Mailer-LBS (19000587)
      • MikroTik-LBS (19001059)
      • Philips HUE Bridge (19000195)
      • MQTT Publish Server (19001051)
    Es wird nun bei jedem Start des Containers das Löschen der mysql.sock verhindert und auch die Fehlermeldung bzgl. /dev/vcsa sollte nicht mehr auftreten. Wenn es keine üblen Fehler gibt, wird das die Version amd64v8-2.03.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hallo miteinander

    Zitat von tsero Beitrag anzeigen
    Jetzt wäre es noch interessant zu wissen, warum das Socket-File im start-script explizit gelöscht wird. Hoffe das Nicht-Löschen führt nicht zu anderen Problemen...
    Das ist native Edomi-Funktionalität, hat also mit Docker nur indirekt etwas zu tun. Ich habe das für die nächste Version des Images zwar eingebaut, nur wird das dann wieder weg sein, wenn es ein Edomi-Update gab, welches auf einer laufenden Edomi-Instanz gemacht wurde. Das Edomi-Update wird das vorhandene und modifizierte Start-Script überschreiben.

    Muss da noch ein wenig draufrum denken...

    Anyway, ich bin am updaten des Images sowie des LXC-Containers, kommt also demnächst eine neue Version...

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Zitat von tsero Beitrag anzeigen
    ich kämpfe gerade mit dem MQTT Publish Server LBS 19001051. Bekomme folgende Fehlermeldung im Log:
    Code:

    mysqli::__construct(): (HY000/2002): No such file or directory
    Ich vermute es liegt an der Verwendung von "localhost" im LBS.
    Ich habe das mal geupdated. Siehe Update des LBS.

    Ob das auch das zweite Problem behebt kann ich nicht beurteilen, da ich den EDOMI Docker Container nicht verwende.

    Einen Kommentar schreiben:


  • tsero
    antwortet
    Hmm, jetzt bin ich auch da gelandet, wo wir schon im Post 722 waren...

    Im /usr/local/edomi/main/start.sh script steht
    Code:
    server_init () {
    echo -e "\033[32mSERVER: Initialisierung\033[39m"
    chmod 777 /dev/vcsa
    
    rm -f /tmp/*.edomi*
    
    [MARKIEREN]service mysqld stop
    rm -f $MYSQL_PATH/mysql.sock
    service mysqld start[/MARKIEREN]
    
    service ntpd stop
    timeout 30s ntpd -q -g -x -n
    service ntpd start
    }
    Wenn die 3 Zeilen auskommentiert werden, dann wird die socket Datei nicht gelöscht und alles ist gut.

    Auch der LBS beschwert sich nicht mehr beim Starten ... und zwar ohne dass ich die restlichen Schritte in der LBS Installations-Anleitung durchgeführt habe.

    Jetzt wäre es noch interessant zu wissen, warum das Socket-File im start-script explizit gelöscht wird. Hoffe das Nicht-Löschen führt nicht zu anderen Problemen...

    Einen Kommentar schreiben:


  • tsero
    antwortet
    Habe weiter gesucht ... merkwürdig...
    Code:
    [root@edomi7 mariadb]# ps -awwx | grep mysql
    60 ? Ss 0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
    335 ? Sl 4148:44 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
    Und laut mysql-log schaut auch alles OK aus:
    Code:
    [root@edomi7 mariadb]# tail mariadb.log
    210307 9:38:21 InnoDB: Initializing buffer pool, size = 128.0M
    210307 9:38:21 InnoDB: Completed initialization of buffer pool
    210307 9:38:21 InnoDB: highest supported file format is Barracuda.
    210307 9:38:21 InnoDB: Waiting for the background threads to start
    210307 9:38:22 Percona XtraDB (http://www.percona.com) 5.5.61-MariaDB-38.13 started; log sequence number 1597945
    210307 9:38:22 [Note] Plugin 'FEEDBACK' is disabled.
    210307 9:38:22 [Note] Server socket created on IP: '0.0.0.0'.
    210307 9:38:22 [Note] Event Scheduler: Loaded 0 events
    210307 9:38:22 [Note] /usr/libexec/mysqld: ready for connections.
    Version: '5.5.65-MariaDB' socket: '/var/lib/mysql/mysql.sock' port: 3306 MariaDB Server
    [root@edomi7 mariadb]#
    Die Permissions schauen auch ok aus
    Code:
    [root@edomi7 mysql]# pwd
    /var/lib/mysql
    [root@edomi7 mysql]# ls -la
    total 28724
    drwxr-xr-x. 7 mysql mysql 202 Oct 1 18:55 .
    drwxr-xr-x. 1 root root 59 Oct 14 13:23 ..
    -rw-rw----. 1 mysql mysql 16384 Mar 7 09:31 aria_log.00000001
    -rw-rw----. 1 mysql mysql 52 Mar 7 09:31 aria_log_control
    drwx------. 2 mysql mysql 125 Nov 24 17:28 edomiAdmin
    drwx------. 2 mysql mysql 8192 Mar 17 09:39 edomiLive
    drwx------. 2 mysql mysql 8192 Mar 17 09:39 edomiProject
    -rw-rw----. 1 mysql mysql 18874368 Mar 7 09:31 ibdata1
    -rw-rw----. 1 mysql mysql 5242880 Mar 7 09:38 ib_logfile0
    -rw-rw----. 1 mysql mysql 5242880 Dec 25 20:54 ib_logfile1
    drwx------. 2 mysql mysql 4096 Dec 31 09:58 mysql
    drwx------. 2 mysql mysql 4096 Dec 31 09:58 performance_schema
    [root@edomi7 mysql]#
    Aber /var/lib/mysql/mysql.sock existiert einfach nicht ...

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hoi Harald,

    hm, vielleicht muss ich das Base-Image auch mal wieder neu bauen. Aktuell wird dort nämlich das hier gemacht und vielleicht hat sich das mittlerweile geändert!?

    Da es ja eine neue Edomi-Version gibt, muss ich die Images und Container sowieso auf den aktuellen Stand bringen...

    Einen Kommentar schreiben:


  • tsero
    antwortet
    Hi,

    ich kämpfe gerade mit dem MQTT Publish Server LBS 19001051. Bekomme folgende Fehlermeldung im Log:
    Code:
    mysqli::__construct(): (HY000/2002): No such file or directory
    Wenn ich versuche die zusätzlichen Installationsschritte auszuführen, bekomme ich folgende Fehlermeldung:
    Code:
    [root@edomi7 lib_mysqludf_sys]# ./install.sh
    Compiling the MySQL UDF
    gcc -DMYSQL_DYNAMIC_PLUGIN -fPIC -Wall -I/usr/include/mysql -I. -shared lib_mysqludf_sys.c -o /usr/lib64/mysql/plugin/lib_mysqludf_sys.so
    MySQL UDF compiled successfully
    
    Please provide your MySQL root password
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    ERROR: unable to install the UDF
    [root@edomi7 lib_mysqludf_sys]#
    Und /var/lib/mysql/mysql.sock existiert auch nicht.

    Hat jemand eine Idee woran es liegen könnte?

    Danke,
    Harald

    Einen Kommentar schreiben:


  • Tobias89
    antwortet
    Zitat von jonofe Beitrag anzeigen
    Ich vermute das Webinterface von unraid läuft auf Port 80. Wenn das so ist, dann musst du entweder Unraid einen anderen Port zuordnen oder für EDOMI einen anderen Host-Port verwenden, also z.B. -p 81:80
    Das hat funktioniert, vielen Dank! Komme jetzt schonmal auf die Admin Seite alles weitere probiere ich die Tage aus.

    Danke auch an starwarsfan für den Docker Container

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi

    Zitat von jonofe Beitrag anzeigen
    Ich vermute das Webinterface von unraid läuft auf Port 80. Wenn das so ist, dann musst du entweder Unraid einen anderen Port zuordnen oder für EDOMI einen anderen Host-Port verwenden, also z.B. -p 81:80
    Hätte ich auch nicht anders geschrieben. Danke Andre!

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Ich vermute das Webinterface von unraid läuft auf Port 80. Wenn das so ist, dann musst du entweder Unraid einen anderen Port zuordnen oder für EDOMI einen anderen Host-Port verwenden, also z.B. -p 81:80

    Einen Kommentar schreiben:


  • Tobias89
    antwortet
    Hallo zusammen,

    ich versuche gerade, den Edomi Docker auf meinem Unraid Server zum laufen zu bekommen, bekomme es aber irgendwie nicht hin. Ich habe im Thread schon gesucht, jedoch keine passende Lösung gefunden.Leider bin ich absoluter Neuling in Docker und Edomi.

    Ich installeire den Docker wie beschrieben über die Kommandozeile mit:

    root@Tower:~# sudo docker pull starwarsfan/edomi-docker:amd64-latest
    amd64-latest: Pulling from starwarsfan/edomi-docker
    75f829a71a1c: Pull complete
    eec725ed9ce5: Pull complete
    5294a108a64e: Pull complete
    d786ed79128a: Pull complete
    52bdab03b89f: Pull complete
    3a63f9890940: Pull complete
    d82f7c50b06f: Pull complete
    d6ea52cf2875: Pull complete
    b165877bd4df: Pull complete
    1f07846535d5: Pull complete
    c6858e254ec4: Pull complete
    e3cd0851279c: Pull complete
    2accae5dafdc: Pull complete
    66380ac7ce28: Pull complete
    6f62009870b4: Pull complete
    e988d5818ab6: Pull complete
    8afc1e4d2912: Pull complete
    ba9400f4314d: Pull complete
    40b06d56d45d: Pull complete
    2a84a9bd0034: Pull complete
    edcc6667b0a4: Pull complete
    7cdfac2ca670: Pull complete
    afeaf9ecb4f5: Pull complete
    08726c48b6ae: Pull complete
    Digest: sha256:00affcfdc357ad81a063fbfea5b884a9a0f045c2f71 0c3bb680894ce2c82a403
    Status: Downloaded newer image for starwarsfan/edomi-docker:amd64-latest
    docker.io/starwarsfan/edomi-docker:amd64-latest
    Dies scheint ordentlich durchzulaufen, den Statustext verstehe ich aber nicht (... newer Image). Die installierte Version sollte doch die neueste sein, oder?
    Anschließend versuche ich, den Docker wie im Readme zu starten:
    root@Tower:~# sudo docker run \
    > --name edomi \
    > --restart=on-failure \
    > -p 80:80 \
    > -p 8080:8080 \
    > -p 3671:3671/udp \
    > -p 50000:50000/udp \
    > -p 50001:50001/udp \
    > -p 22222:22 \
    > -e KNXGATEWAY=192.168.178.4 \
    > -e KNXACTIVE=true \
    > -e WEBSOCKETPORT=8080 \
    > -e HOSTIP=192.168.178.3 \
    > -d \
    > starwarsfan/edomi-docker:latest-centos7
    Unable to find image 'starwarsfan/edomi-docker:latest-centos7' locally
    docker: Error response from daemon: manifest for starwarsfan/edomi-docker:latest-centos7 not found: manifest unknown: manifest unknown.
    See 'docker run --help'.
    Muss hier irgendetwas zusätzlich installiert werden? Alle benötigten Pakete (CentOs etc.) sind im Docker enthalten, wenn ich das richtig verstanden habe.

    Im nächsten Versuch habe ich die Zeile "starwarsfan/edomi-docker:latest-centos7" mit "starwarsfan/edomi-docker:amd64-latest" getauscht, dann kommt folgende Meldung:

    root@Tower:~# sudo docker run \
    > --name edomi \
    > --restart=on-failure \
    > -p 80:80 \
    > -p 8080:8080 \
    > -p 3671:3671/udp \
    > -p 50000:50000/udp \
    > -p 50001:50001/udp \
    > -p 22222:22 \
    > -e KNXGATEWAY=192.168.178.4 \
    > -e KNXACTIVE=true \
    > -e WEBSOCKETPORT=8080 \
    > -e HOSTIP=192.168.178.3 \
    > -d \
    > starwarsfan/edomi-docker:amd64-latest
    7a25696b9e8d1a3883cd2f25f64f32c7cbb9e2be5de3b69f98 b2775fad9a7d53
    docker: Error response from daemon: driver failed programming external connectivity on endpoint edomi (c3b016ced4f22a169319daa0b7554f4dde6b9cefd7df8c392 99c2b6435e32125): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.
    Bisher läuft auf dem Server noch kein anderer Docker, welcher die Adressen benutzen könnte. Was komisch aussieht, ist der userland proxy mit tcp 0.0.0.0:80. Muss diese Adresse noch irgendwo eingestellt werden? Mache ich sonst noch irgendwo einen Fehler?

    In der Docker Übersicht sieht der Container so aus:

    https://knx-user-forum.de/core/image...EAAAICRAEAOw==

    Für die falschen Port Mappings finde ich jedoch keine Einstellmöglichkeiten, werden diese beim Start des Containers festgelegt oder im Docker Programm selbst?

    Viele Grüße,
    Tobias
    Zuletzt geändert von Tobias89; 21.02.2021, 16:21.

    Einen Kommentar schreiben:

Lädt...
X