Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

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

    was im genaueren brauchst?

    Kommentar


      Unbenannt1.JPG Unbenannt2.JPG Unbenannt6.JPG Unbenannt9.JPG Unbenannt7.JPG Unbenannt8.JPG

      Also Edomi Docker 2.01 von dir läuft auf einer Synology 218+
      Die GA Antwortfehler sind momentan normal da die Jal-Aktoren zum update bei MDT sind.

      Edit:
      Kann es evtl. am Medienserver der Synologie liegen? Er nutzt auch Port 50001 aber glaub nur TCP. Hab den Medienserver nun deinstalliert und nach Neustart der Syno läuft Edomi Docker wieder als wäre nix gewesen.
      Ich werde das verhalten nochmls testen ob es reproduzierbar ist.
      Zuletzt geändert von beauty; 28.03.2020, 21:59.

      Kommentar


        Ich habe mich nun übers Wochenende zum ersten Mal mit Docker befasst und einmal eine Testinstallation installiert.

        Zitat von givemeone Beitrag anzeigen
        Gestern hatten wir Stromausfall ohne USV, also wurde alles hart beendet. Edomi ist nicht wieder hochgekommen,
        da im Docker noch die MySQL-PID Datei vorhanden war und MySQL deshalb nicht gestartet hat.

        Ein rebuild oder ein maueller Eingriff zum Löschen des PID-Files war nötig, um dem System wieder Leben einzuhauchen.
        Dabei bin ich auch 2mal in dieses Problem gerannt.
        Wenn ich versehentlich den Edomi Container gestoppt oder neugestartet habe, ohne Edomi vorher sauber zu beenden lief es danach nicht mehr.
        Entweder startete MySQL oder Apache nicht mehr.
        Könnte man die pid-Files beim starten automatisch löschen? /run/httpd/httpd.pid

        Wie macht man eigentlich am Besten eine Sicherung seiner Docker-Umgebung?
        Wenn ich das richtig verstanden habe, muss ich ja den Container selbst nicht sichern, sondern nur die Volumes.
        Da dort aber Datenbanken laufen, kann man das nur machen wenn der Container gestoppt ist?

        Wie binde ich eine USV ein und sage Edomi dass es sauber herunterfahren soll befor der ganze Docker Server herunterfährt?

        edit:
        Hatte auch noch Probleme den Alexa-Smarthome-Skill ans Laufen zu bekommen.
        Es fehlt php-curl, sowie die Pfade zu den certs:
        Code:
        yum install php-curl
        ln -s /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/pki/tls/cacert.pem
        
        in php.ini folgendes eintragen
        curl.cainfo = /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
        openssl.cafile = /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
        Zuletzt geändert von philipp900; 30.03.2020, 00:21.

        Kommentar


          Hoi Philipp

          Zitat von philipp900 Beitrag anzeigen
          Ich habe mich nun übers Wochenende zum ersten Mal mit Docker befasst und einmal eine Testinstallation installiert.



          Zitat von philipp900 Beitrag anzeigen
          Wenn ich versehentlich den Edomi Container gestoppt oder neugestartet habe, ohne Edomi vorher sauber zu beenden lief es danach nicht mehr.
          Mit "versehentlich" meinst Du aber einen harten Shutdown, oder? Denn eigentlich sollte Edomi sauber gestoppt werden, wenn Du den Container stoppst oder den Host herunter fährst!


          Zitat von philipp900 Beitrag anzeigen
          Entweder startete MySQL oder Apache nicht mehr.
          Könnte man die pid-Files beim starten automatisch löschen? /run/httpd/httpd.pid
          Sollte kein Problem sein. Kann ich im Start-Script einbauen.


          Zitat von philipp900 Beitrag anzeigen
          Wie macht man eigentlich am Besten eine Sicherung seiner Docker-Umgebung?
          Wenn ich das richtig verstanden habe, muss ich ja den Container selbst nicht sichern, sondern nur die Volumes.
          Da dort aber Datenbanken laufen, kann man das nur machen wenn der Container gestoppt ist?
          Das kommt wohl sehr darauf an, was Dein verwendetes Host-System resp. Filesystem kann. Also in Richtung Snapshots und dergleichen...


          Zitat von philipp900 Beitrag anzeigen
          Hatte auch noch Probleme den Alexa-Smarthome-Skill ans Laufen zu bekommen.
          Es fehlt php-curl, sowie die Pfade zu den certs:
          Code:
          yum install php-curl
          ln -s /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/pki/tls/cacert.pem
          
          in php.ini folgendes eintragen
          curl.cainfo = /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
          openssl.cafile = /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
          Danke für den Hinweis, eben eingebaut. Siehe hier. Ist aber noch ungetestet, muss das Image erst noch bauen...
          Kind regards,
          Yves

          Kommentar


            Zitat von starwarsfan Beitrag anzeigen
            Mit "versehentlich" meinst Du aber einen harten Shutdown, oder? Denn eigentlich sollte Edomi sauber gestoppt werden, wenn Du den Container stoppst oder den Host herunter fährst!
            Meinst du den Kill?
            Ich glaube es waren STOP und RESTART.
            Sollte bei STOP aus dem Portainer-Manager Edomi sauber heruntergefahren werden?
            Bzw. welche Möglichkeit gibt es "von außen" Edomi sauber herunter zu fahren?

            Zitat von starwarsfan Beitrag anzeigen
            Danke für den Hinweis, eben eingebaut. Siehe hier. Ist aber noch ungetestet, muss das Image erst noch bauen...
            Danke

            Wenn ich noch einen Wunsch äußern dürfte, hatte ich gerne die Apache config (/etc/httpd/conf/httpd.conf) auch auf einem Volume.
            Um die Welcome-Seite und das Directory listing abzuschalten.
            Zuletzt geändert von philipp900; 30.03.2020, 12:42.

            Kommentar


              Hallo Yves,

              ich komme nochmal auf mein Socat Problem zurück.

              https://knx-user-forum.de/forum/proj...50#post1487350

              Ich habe die Socat Verbindung auf dem Docker Host eingerichtet. Das funktioniert offenbar. Dann habe ich über Docker Run --device den entsprechenden virtuellen USB Port an den Container übergeben. Der Port taucht auch im Container auf.
              Nur liefert cat /dev/ttyUSBV | od -tx:
              cat: /dev/ttyUSBV: Input/output error

              Hast Du eventuell eine Idee woran das liegen kann?
              Brauchst Du noch mehr Infos?

              LG und danke

              Kommentar


                Wieso richtest Du die socat-Verbindung auf dem Host ein? Das musst Du im Container machen, dafür hast Du dort drin ja schliesslich socat installiert! Ich habe das jetzt nicht explizit getestet aber wenn Du das Device auf dem Host schon verwendest, dann kannst Du damit im Container nichts mehr anfangen.
                Kind regards,
                Yves

                Kommentar


                  Die Konfiguration im Container hat nicht funktioniert... Warum auch immer. Daher der andere Ansatz. Das device verwende ich nicht auf dem Host, es wird dort lediglich per Socat virtuell erzeugt.

                  Kommentar


                    https://knx-user-forum.de/forum/proj...62#post1486262

                    Daran ist es gescheitert... Wenn Du dazu ne Idee hast, gerne

                    Kommentar


                      Hat jemand den MQTT Publish Server v0.5 LBS19001051 auf dem neuesten Docker Image in Verwendung.
                      Bei mir funktioniert der irgendwie nicht.
                      Der LBS19001052 zum Empfangen funktioniert aber der 51er sendet einfach nie etwas.

                      edit:
                      Anders als im ersten Post angekündigt sind nicht alle libs für MQTT installiert.
                      mysqludf fehlt im Docker Image.
                      Bitte auch noch einbauen.

                      Code:
                      yum -y install php-process git gcc make mysql-devel php-devel
                      yum -y install autoconf automake libtool
                      cd /tmp
                      git clone https://github.com/jonofe/lib_mysqludf_sys
                      cd lib_mysqludf_sys/
                      ./install.sh
                      cd /tmp
                      rm -rf lib_mysqludf_sys/
                      git clone https://github.com/mysqludf/lib_mysqludf_log
                      cd lib_mysqludf_log
                      autoreconf -i
                      ./configure
                      make
                      make install
                      mysql < installdb.sql
                      cd /tmp
                      rm -rf lib_mysqludf_log
                      
                      Das nachfolgende war bereits installiert.
                      
                      yum -y install epel-release
                      yum -y install mosquitto mosquitto-devel php-devel
                      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
                      Zuletzt geändert von philipp900; 04.04.2020, 22:55.

                      Kommentar


                        Hi

                        Zitat von philipp900 Beitrag anzeigen
                        Wenn ich noch einen Wunsch äußern dürfte, hatte ich gerne die Apache config (/etc/httpd/conf/httpd.conf) auch auf einem Volume.
                        Um die Welcome-Seite und das Directory listing abzuschalten.
                        Das hat nichts mit dem Image zu tun. Leg' Dir doch einfach ein Volume an und mounte das nach /etc/httpd/conf und schon hast Du die gesamte Apache-Config persistent!?
                        Kind regards,
                        Yves

                        Kommentar


                          Hallo Philipp

                          Zitat von philipp900 Beitrag anzeigen
                          Anders als im ersten Post angekündigt sind nicht alle libs für MQTT installiert.
                          mysqludf fehlt im Docker Image.
                          Dann ist das etwas Neues, was es zum Zeitpunkt des letzten Docker-Images noch nicht gab. Zumindest hat keiner der MQTT-Tester geschrieben, dass das noch fehlt...


                          Zitat von philipp900 Beitrag anzeigen
                          Bitte auch noch einbauen.
                          Das ist nicht ganz so einfach, da es im Build-Container keine laufende MySQL-Instanz gibt.

                          Zitat von philipp900 Beitrag anzeigen
                          Code:
                          cd lib_mysqludf_sys/
                          ./install.sh
                          jonofe Ich habe mir das Script install.sh angesehen. Braucht es nur das File lib_mysqludf_sys.sql, damit das auf dem echten System funktioniert? Dann könnte ich die Datei einfach vom Build-Container übertragen...
                          Kind regards,
                          Yves

                          Kommentar


                            Hallo
                            Ich bin auch neu im Thema Docker. Im Moment laufen 2 Container relativ easy auf meinem NAS (openmediavault). Bei Edomi scheitere ich ich schon beim Ziehen des Images:
                            Fehler
                            #0: OMV\ExecException: Failed to execute command 'export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin; export LANG=C.UTF-8; docker pull 'starwarsfan/edomi-docker:latest'' with exit code '1': in /usr/share/openmediavault/engined/rpc/docker.inc:250 Stack trace: #0 /usr/share/php/openmediavault/rpc/serviceabstract.inc(565): OMVRpcServiceDocker->{closure}('/tmp/bgstatus1n...', '/tmp/bgoutputuW...')
                            #1 /usr/share/openmediavault/engined/rpc/docker.inc(254): OMV\Rpc\ServiceAbstract->execBgProc(Object(Closure))
                            #2 [internal function]: OMVRpcServiceDocker->pullImage(Array, Array) #3 /usr/share/php/openmediavault/rpc/serviceabstract.inc(123): call_user_func_array(Array, Array) #4 /usr/share/php/openmediavault/rpc/rpc.inc(86): OMV\Rpc\ServiceAbstract->callMethod('pullImage', Array, Array)
                            #5 /usr/sbin/omv-engined(537): OMV\Rpc\Rpc::call('Docker', 'pullImage', Array, Array, 1)
                            #6 {main}
                            Jemand eine Idee, weis gerade nicht in welche Richtung ich suchen soll: NAS, Docker oder Edomi...

                            Kommentar


                              Zitat von starwarsfan Beitrag anzeigen
                              jonofe Ich habe mir das Script install.sh angesehen. Braucht es nur das File lib_mysqludf_sys.sql, damit das auf dem echten System funktioniert?
                              Hi Yves,

                              nein, das reicht nicht. Durch das make wird die Datei lib_mysqludf_sys.so erstellt. Diese muss ins mySQL plugin Verzeichnis kopiert werden.

                              Code:
                              MariaDB [(none)]> [COLOR=#2980b9]SHOW VARIABLES LIKE 'plugin_dir';[/COLOR]
                              +---------------+--------------------------+
                              | Variable_name | Value |
                              +---------------+--------------------------+
                              | plugin_dir | [COLOR=#e74c3c]/usr/lib64/mysql/plugin/[/COLOR] |
                              +---------------+--------------------------+
                              1 row in set (0.00 sec)
                              Danach sollte die notwendige Installation mit

                              Code:
                              mysql -u root mysql < lib_mysqludf_sys.sql
                              erfolgreich verlaufen.

                              Kommentar


                                Aber man kann im build die datei
                                lib_mysqludf_sys.so
                                Erzeugen und in das Image kopieren...

                                (edit: über Multi stage builds?)
                                Zuletzt geändert von givemeone; 26.04.2020, 21:51.

                                Kommentar

                                Lädt...
                                X