Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

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

    Hi

    Zitat von philipp900 Beitrag anzeigen
    Aus irgendeinem Grund wird der Mysql Socket (/var/lib/mysql/mysql.sock) nicht erstellt und damit ist keine Verbindung auf localhost möglich.
    Heisst das, dass es mit der vorherigen Imageversion funktioniert hat?
    Kind regards,
    Yves

    Kommentar


      Zitat von starwarsfan Beitrag anzeigen
      Heisst das, dass es mit der vorherigen Imageversion funktioniert hat?
      Ja, zumindest mit der vorletzten 2.01.1 hat es funktioniert, aber dort hatte ich wohl auch selber noch die zusätzlichen Installationsschritte für MQTT gemacht.
      Ist schon wieder eine Weile her. Ich dachte du hättest die benötigten Pakete bereits integriert.

      Aber auch mit der start.sh scheint was nicht zu passen:

      Wenn ich die 3 Zeilen auskommentiere, läuft mysqld trotzdem und die socket Datei wird erstellt.
      Code:
      systemctl stop mysqld
      rm -f $MYSQL_PATH/mysql.sock
      systemctl start mysqld
      Zuletzt geändert von philipp900; 04.01.2021, 11:04.

      Kommentar


        Hat es denn schon jemand mit docker-compose am laufen?

        Kommentar


          Ja, da ich alles mit Docker-Compose laufen habe, um mir keine Startbefehle merken zu müssen

          Wenn du den Thread durchsuchst, findest Du auch min. ein Beispiel von givemeone...

          Kommentar


            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.

            Kommentar


              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

              Kommentar


                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!
                Kind regards,
                Yves

                Kommentar


                  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

                  Kommentar


                    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

                    Kommentar


                      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...
                      Kind regards,
                      Yves

                      Kommentar


                        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 ...

                        Kommentar


                          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...

                          Kommentar


                            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.

                            Kommentar


                              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...
                              Kind regards,
                              Yves

                              Kommentar


                                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.
                                Kind regards,
                                Yves

                                Kommentar

                                Lädt...
                                X