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 Steeli Beitrag anzeigen
    Hallo
    Bei Edomi scheitere ich ich schon beim Ziehen des Images:
    Jemand eine Idee, weis gerade nicht in welche Richtung ich suchen soll: NAS, Docker oder Edomi...
    Nunja, wenn Du das Image schon gar nicht pullen kannst, dann wird's wohl eher nicht an Edomi liegen. Und an der Stelle sage ich mal, wer lesen kann ist klar im Vorteil.

    Also schau nochmal ganz genau was in #1 steht und was Du da oben machst!
    Kind regards,
    Yves

    Kommentar


      Zitat von givemeone Beitrag anzeigen
      Aber man kann im build die datei
      lib_mysqludf_sys.so
      Erzeugen und in das Image kopieren...
      Genau das habe ich eben eingebaut.
      Kind regards,
      Yves

      Kommentar


        Hi André

        Zitat von jonofe Beitrag anzeigen
        Durch das make wird die Datei lib_mysqludf_sys.so erstellt. Diese muss ins mySQL plugin Verzeichnis kopiert werden.
        Ok, kein Problem. Nur was ist mit der im Repo vorhandenen lib_mysqludf_sys.so? Altlast?


        Zitat von jonofe Beitrag anzeigen
        Danach sollte die notwendige Installation mit

        Code:
        mysql -u root mysql < lib_mysqludf_sys.sql
        erfolgreich verlaufen.
        Davon gehe ich aus.
        Kind regards,
        Yves

        Kommentar


          Zitat von starwarsfan Beitrag anzeigen

          Genau das habe ich eben eingebaut.
          Top! Im Image direkt oder in deinem lokalen git?
          Freue mich schon auf den commit im github!

          sG Joe

          Kommentar


            Hi

            Zitat von givemeone Beitrag anzeigen
            Top! Im Image direkt oder in deinem lokalen git?
            Freue mich schon auf den commit im github!
            Ist noch in meinem internen Bitbucket. Github kommt, wenn's fertig ist.

            Edit: Und schon isses auf GitHub...
            Zuletzt geändert von starwarsfan; 26.04.2020, 22:32.
            Kind regards,
            Yves

            Kommentar


              Hallo miteinander,

              die Version 2.02.1 des Images ist auf DockerHub verfügbar. Folgende Changes:
              • Update auf Edomi 2.02
              • Installation der lib_mysqludf_sys Erweiterung(en) für die MQTT-Bausteine
              • Vor dem Start des Webservers wird /run/httpd/httpd.pid gelöscht, um ein Blockieren zu verhindern
              Kind regards,
              Yves

              Kommentar


                Zitat von starwarsfan Beitrag anzeigen
                Nur was ist mit der im Repo vorhandenen lib_mysqludf_sys.so? Altlast?
                Ja, das Repo ist nur geforked und die Altlast war mit dabei. Wird aber durch das make neu erzeugt.

                Kommentar


                  Danke für das neue Image.
                  Alexa und MQTT funktionieren nun ohne weitere Änderungen am Image.

                  Zitat von starwarsfan Beitrag anzeigen
                  Leg' Dir doch einfach ein Volume an und mounte das nach /etc/httpd/conf und schon hast Du die gesamte Apache-Config persistent!?
                  Danke für den Tip. Wusste nich dass man das so einfach machen kann.
                  Muss mich wohl noch intensiver mit Docker und Unix beschäftigen.

                  Wie wäre eigentlich der richtige Weg um den Container neu zu erstellen?
                  Nur mit dem neuen Image und den alten Volumes lief immer noch Edomi 2.01.
                  Ich musste das Volume /usr/local/edomi löschen und meine LBS anschließend neu importieren.

                  Kommentar


                    Hi

                    Zitat von philipp900 Beitrag anzeigen
                    Danke für das neue Image.
                    Alexa und MQTT funktionieren nun ohne weitere Änderungen am Image.
                    Super, danke für die Rückmeldung.


                    Zitat von philipp900 Beitrag anzeigen
                    Danke für den Tip. Wusste nich dass man das so einfach machen kann.
                    Muss mich wohl noch intensiver mit Docker und Unix beschäftigen.
                    Ja, das kann nicht schaden.


                    Zitat von philipp900 Beitrag anzeigen
                    Wie wäre eigentlich der richtige Weg um den Container neu zu erstellen?
                    Nur mit dem neuen Image und den alten Volumes lief immer noch Edomi 2.01.
                    Ich musste das Volume /usr/local/edomi löschen und meine LBS anschließend neu importieren.
                    Ja... nee... das ist falsch... oder besser gesagt... so nicht gedacht.

                    Grundsätzlich brauchst Du den Container gar nicht neu erstellen, wenn es eine neue Version von Edomi gibt. Du kannst einfach Edomi im Webinterface updaten und hast die aktuelle Version. Das ist zwar nach der Docker-Lehre nicht so gedacht aber im Edomi-Universum funktioniert das wunderbar.

                    Bzgl. Container neu erstellen: Wenn Du das neue Image pullst und das dann mit den vorhandenen Volumes startest, dann hast Du die alte Edomi-Version. Ganz einfach deshalb, weil sämtliche Edomi-Daten auf den Volumes liegen und damit eben die "alten" sind. Anders gesagt, die Volumes "überlagern" die effektiven Daten im Image, da sie persistent sind. Auf diese Art und Weise profitierst Du mit dem neuen Image nur von allfälligen Verbesserungen ausserhalb der Edomi-relevanten Daten.

                    Das ist die eigentliche Idee von Docker: Container sind Wegwerf-Artikel, nur die relevanten Daten werden persistiert. Gibt's eine neue Version der Software, wird der "alte" Container weggeworfen und ein neuer Container mit der neuen Version gestartet, wobei er die persistierten Daten (aka Volumes) wieder verwendet. Genau das ist bei Edomi aber etwas speziell, da die Daten und Edomi extrem eng miteinender verbunden sind.

                    Edomi-Backups sind in sich vollständig, also incl. Datenbank. Wenn Du also bspw. ein Backup der Version 2.01 machst, dann das Image der Version 2.02 pullst und startest und dort das Backup einspielst, dann bist Du auch wieder auf 2.01 und nicht auf 2.02!

                    Will sagen: Edomi-Updates werden immer über das Webinterface gemacht. Wenn die Daten sauber auf Volumes liegen, braucht man das neue Image eigentlich nur dann, um ein aktuelles Basis-System darunter zu haben.

                    In Gänze incl. Basis-Image also so:
                    1. Backup machen
                    2. Edomi auf aktuelle Version updaten
                    3. Erneutes Backup machen
                    4. Neues Image pullen
                    5. Edomi stoppen
                    6. Neuen Container basierend auf neuem Image incl. der vorhandenen Volumes einrichten
                    7. Neuen Container starten
                    8. Backup einspielen
                    Ich hoffe, das bringt etwas Licht ins Dunkel...
                    Kind regards,
                    Yves

                    Kommentar


                      Guten Abend Yves,

                      Vielen Dank für deine ausführliche Info.
                      Sollte man am besten irgendwie anpinnen für andere Neulinge im Bereich Docker.

                      Ich war mir nicht sicher ob man die Edomi interne Updatefunktion verwenden darf.
                      Meinte mal was gelesen zu haben von wegen sh-Scripts die von dir speziell für Docker angepasst wurden und beim Update überschrieben werden.

                      Alles in allem bin ich aber mit Docker sehr glücklich.
                      Man kann die Einzelsysteme sauber von einander trennen, backupen, mal was testen, ...
                      Ohne deine super Vorarbeit hätte ich mich wahrscheinlich nie damit befasst.

                      Kommentar


                        Hi

                        Zitat von philipp900 Beitrag anzeigen
                        Sollte man am besten irgendwie anpinnen für andere Neulinge im Bereich Docker.
                        Ich habe es eben in #1 ergänzt.


                        Zitat von philipp900 Beitrag anzeigen
                        Ich war mir nicht sicher ob man die Edomi interne Updatefunktion verwenden darf.
                        Im Eingangspost steht das hier:

                        Der Container kann via Edomi-Update-Mechanismus auch direkt aktualisiert werden, wenn eine neue Edomi-Version vorliegt.



                        Zitat von philipp900 Beitrag anzeigen
                        Alles in allem bin ich aber mit Docker sehr glücklich.
                        Man kann die Einzelsysteme sauber von einander trennen, backupen, mal was testen, ...
                        Ohne deine super Vorarbeit hätte ich mich wahrscheinlich nie damit befasst.
                        Danke, freut mich zu hören.
                        Kind regards,
                        Yves

                        Kommentar


                          Guten Tag!
                          Ich habe mich jetzt durch die ganzen Beiträge gelesen, nur leider schaffe ich es immer noch nicht die Docker Installation auf einer Syno RS818+ zu nutzen. Die Adminseite und der ssh Zugriff funktionieren einwandfrei, nur die Visu hängt dann nach der Passworteingabe beim drehenden Kreis. Vermutlich krankt es da am Websocket.

                          Angehängte Dateien

                          Kommentar


                            GeorgGGs : Welcher Port ist denn als Websocket Port in Edomi eingetragen?
                            Gruß Hannes

                            Kommentar


                              Grüß Dich, Edomi Websocket Port ist: 8080 TCP

                              Kommentar


                                Stell mal das Port Mapping für beide auf 8080 bzw. 8081 sollte 8080 bei dir lokal schon belegt sein. Siehe Doku auf GitHub:

                                Mapping of Websocket port. These values must be the same on both sides of the colon and correspond to the configuration value on Edomi base configuration. The "WEBSOCKETPORT" variable will allow to set the websocket port in the edomi configuration. All three values (both sides of the mapping as well as the "WEBSOCKETPORT" value) must match.
                                Gruß Hannes

                                Kommentar

                                Lädt...
                                X