Ankündigung

Einklappen
Keine Ankündigung bisher.

Edomi im Docker-Container - revised

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

  • starwarsfan
    antwortet
    Hallo Albert,

    das sieht soweit korrekt aus. Bis auf eine Kleinigkeit:

    Zitat von Albert Beitrag anzeigen
    starwarsfan/edomi-docker:latest-centos6
    Diese Version gibt es nicht. Evtl. selber gebaut und bei der Gelegenheit auch noch irgendetwas verändert?

    Einen Kommentar schreiben:


  • Albert
    antwortet
    Hallo starwarsfan,

    bei mir im "bridge-modus" - somit keine Portweiterleitung erforderlich.

    --name edomi \
    --restart=on-failure \
    -e KNXGATEWAY=192.168.178.10 \
    -e KNXACTIVE=true \
    -e WEBSOCKETPORT=8080 \
    -e HOSTIP=192.168.178.15 \

    -d \ starwarsfan/edomi-docker:latest-centos6

    -v edomi-backups:/var/edomi-backups \
    -v edomi-db:var/lib/mysql \
    -v edomi-installation:/usr/local/edomi \

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hallo miteinander,

    je nachdem, wie der Container gestoppt wurde, bleibt dort mitunter das Pid-Files des Webservers liegen, was diesem beim darauffolgenden Start gar nicht gefällt. Daher dieser Aufräum-Step.

    Da ich den Container selbst nicht verwende, ist es etwas schwierig zu sagen, was das Problem sein könnte. Wie genau wurde der denn aufgesetzt? Insbesondere die Restart-Option ist hier von Interesse...

    Einen Kommentar schreiben:


  • Albert
    antwortet
    Hallo,

    Zitat von mjacob Beitrag anzeigen
    ich habe das Problem (ähnlich dem von Albert), dass nach einer zufälligen Anzahl von Neustarts des Containers (durch docker start/stop/restart oder auch PowerOff des ThinClients) EDOMI nicht mehr erreichbar ist. Der Container wird mir als active angezeigt. Getestet habe ich das ganze ohne mounts mit der latest-version und der 2.02.1 - mit gleichem Verhalten bei beiden Ständen. Wenn ich einen neuen Container erzeuge, läuft dieser dann erstmal wieder bis eben eine gewisse Anzahl an Neustarts erreicht ist.
    Dieser Vorschlag hat bei mir das Problem gelöst - ist nicht sauber - aber es geht.

    Zitat von philipp900 Beitrag anzeigen
    Probier mal in der /root/start.sh die Zeile 92 abzuändern:
    Code:
    # Cleanup potential leftovers rm -rf /run/httpd/*
    Es stellt sich die Frage wieso ist das Löschen erforderlich...???
    Vermutlich wird beim Beenden des Dockers ein Dienst nicht sauber beendet.

    starwarsfan
    Kannst du hier weiterhelfen?

    Gruß,
    Albert
    Zuletzt geändert von Albert; 16.11.2020, 12:39.

    Einen Kommentar schreiben:


  • kingolli
    antwortet
    Hallo Yves

    Zitat von starwarsfan Beitrag anzeigen
    Es ist eher unwahrscheinlich, dass diese Änderung irgendwelchen Einfluss hatte, da das Script bereits ausgeführt wurde, als Du es geändert hast. Die Änderung an und für sich hat auch keinen Einfluss, da damit das eigentliche Start-Script von Edomi nicht direkt sondern in einer eigenen Shell gestartet wird. Wenn es tatsächlich noch ein Permission-Problem gegeben hätte, dann wäre das auch so aufgetreten.
    Wie gesagt, ich konnte es in der Form nachvollziehen, dass wenn ich während des Startvorgangs des Containers das Commando "/usr/local/edomi/main/start.sh " ausführe, auch Permission denied bekam (als root!).

    Nachdem ich das "sh" eingefügt habe, musste ich den Container neu starten, damit es funktioniert - ich habe also nicht das laufende Skript verändert, sondern überschrieben und es wurde erst beim nächsten Startvorgang verwendet.

    Vermutlich hat es irgendwas mit der Docker Integration in OpenMediaVault zu tun. Egal, läuft ja jetzt.

    Danke für deinen Support!

    Grüße
    David

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hoi David

    Zitat von kingolli Beitrag anzeigen
    habe mich schnell während des Starts des Containers auf die Console verbunden und in der Zeile 100 ein "sh " vor das "/usr/local/edomi/main/start.sh &" gesetzt (stand so in der Installationshilfe), danach zweimal starten und Backup einspielen, jetzt läuft das Ding.
    Es ist eher unwahrscheinlich, dass diese Änderung irgendwelchen Einfluss hatte, da das Script bereits ausgeführt wurde, als Du es geändert hast. Die Änderung an und für sich hat auch keinen Einfluss, da damit das eigentliche Start-Script von Edomi nicht direkt sondern in einer eigenen Shell gestartet wird. Wenn es tatsächlich noch ein Permission-Problem gegeben hätte, dann wäre das auch so aufgetreten.


    Zitat von kingolli Beitrag anzeigen
    Um aber ehrlich zu sein, weiß ich nicht genau, was ich da getan haben, macht das was kaputt?
    Ich kann mir aus den bisherigen Angaben nicht erklären, was das Problem ist/war und ich kann es auch lokal nicht nachvollziehen...

    Einen Kommentar schreiben:


  • kingolli
    antwortet
    Hallo!

    Container läuft jetzt, ich habe mich schnell während des Starts des Containers auf die Console verbunden und in der Zeile 100 ein "sh " vor das "/usr/local/edomi/main/start.sh &" gesetzt (stand so in der Installationshilfe), danach zweimal starten und Backup einspielen, jetzt läuft das Ding.

    Um aber ehrlich zu sein, weiß ich nicht genau, was ich da getan haben, macht das was kaputt?

    Grüße
    David

    Einen Kommentar schreiben:


  • kingolli
    antwortet
    Zitat von starwarsfan Beitrag anzeigen
    Hoi David,

    wie genau hast Du den Container aufgesetzt? Welche Mounts? Wie genau hast Du die Mounts angelegt? Screenshots wären nicht schlecht. Und bitte auch mal mit der letzten fixen Version testen, also nicht mit amd64-latest sondern mit amd64-2.02.1. Bin mir gerade nicht sicher, ob ich am latest-Image etwas geschraubt habe...
    Hi!

    Ich habe keine besonderen Mounts (mache alles aus Edomi raus per FTP oder ähnlichem) erzeugt, sondern verwende die automatisch erzeugten Volumes. Das Image "starwarsfan/edomi-docker:amd64-2.02.1" bringt auch "Permission denied".

    Screenshots (aus Portainer) siehe Anhang, sag mir einfach was du brauchst, ich liefer!

    Danke!!!

    Grüße
    David
    Angehängte Dateien
    Zuletzt geändert von kingolli; 03.11.2020, 19:56.

    Einen Kommentar schreiben:


  • mjacob
    antwortet
    Hallo zusammen,

    ich habe das Problem (ähnlich dem von Albert), dass nach einer zufälligen Anzahl von Neustarts des Containers (durch docker start/stop/restart oder auch PowerOff des ThinClients) EDOMI nicht mehr erreichbar ist. Der Container wird mir als active angezeigt. Getestet habe ich das ganze ohne mounts mit der latest-version und der 2.02.1 - mit gleichem Verhalten bei beiden Ständen. Wenn ich einen neuen Container erzeuge, läuft dieser dann erstmal wieder bis eben eine gewisse Anzahl an Neustarts erreicht ist.

    Hat jemand eine Idee wo ich weiter nach Fehlern schauen kann?

    Mein System:
    FUTRO S920 mit Ubuntu 20.10 remote über SSH administriert

    Beste Grüße
    Markus

    P.S.: Da ich neu in der Docker-Welt bin bitte etwas Rücksicht falls nicht alle notwendigen Debug-Infos da sind bzw. das Wording nicht stimmt. :-)
    Zuletzt geändert von mjacob; 04.11.2020, 13:23.

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hoi David,

    wie genau hast Du den Container aufgesetzt? Welche Mounts? Wie genau hast Du die Mounts angelegt? Screenshots wären nicht schlecht. Und bitte auch mal mit der letzten fixen Version testen, also nicht mit amd64-latest sondern mit amd64-2.02.1. Bin mir gerade nicht sicher, ob ich am latest-Image etwas geschraubt habe...

    Einen Kommentar schreiben:


  • kingolli
    antwortet
    Ich hab noch was vergessen: auf dem Microserver lief bis vor wenigen Tagen noch der "alte" Docker Container mit Cent OS 6.5, der ist auch noch da (zur Sicherheit). Vielleicht hängt es damit zusammen?!

    Grüße
    David

    Einen Kommentar schreiben:


  • kingolli
    antwortet
    Ich bekomme keinen Container aus dem "amd64-latest"-Image gestartet, auf einem Fujitsu Futro mit Debian Buster läuft es einwandfrei, wenn ich es auf einem HP Microserver (mit Openmediavault) auch auf Buster versuche zu starten, fährt er hoch und bringt mir dann "Permission denied", hier das Docker Log:

    Code:
    Generating public/private rsa key pair.,
    Created directory '/root/.ssh'.,
    Your identification has been saved in /root/.ssh/id_rsa.,
    Your public key has been saved in /root/.ssh/id_rsa.pub.,
    The key fingerprint is:,
    ...
    Please save the printed private RSA key and login using:,
    "ssh -i ${savedkey} root@${ipaddress}",
    ,
    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 not set, using edomi default settings.,
    KNXGATEWAY not set, using edomi default settings.,
    KNXACTIVE not set, using edomi default settings.,
    WEBSOCKETPORT not set, using edomi default settings.,
    Disabling heartbeat log output every second ... configure /usr/local/edomi/edomi.ini,
    /root/start.sh: line 100: /usr/local/edomi/main/start.sh: Permission denied,
    Exiting container with return value 0 to prevent Docker restarting it,
    Danach beendet sich der Container direkt wieder. Ich habe schon versucht mich ganz schnell mit -it "/bin/bash" auf die Bash zu verbinden und dort die Rechte geprüft, da sieht aber erstmal alles gut aus. Jetzt weiß ich nicht, wie ich das Problem weiter eingrenzen kann, hat da jemand eine Idee?!

    Danke und Grüße
    David


    Einen Kommentar schreiben:


  • H3rbst
    antwortet
    starwarsfan hi, hattest du schon die Möglichkeit nochmal zu schauen ob du die MQTT Pakete auf arm64 zum laufen kriegst? Damals schien es ja noch nicht wirklich etwas gegeben zu haben. Vielleicht gibt es mittlerweile was?

    Einen Kommentar schreiben:


  • Albert
    antwortet
    Hallo starwarsfan,

    nach vielen Tests (Edomi/docker starten und wieder beenden) habe ich festgestellt das das beschriebene Verhalten nichts mit den mount-points zu tun hat
    (war Zufall, das es ein paar mal funktioniert hat, wenn man oft genug testet tritt der Fehler auf)

    ---Edomi startet und auch der Buszugriff funktioniert. Nur die Web-Oberfläche ist nicht erreichbar. Wenn ich den Container neu erstelle, geht auch die Web-Oberfläche wieder---

    Vermutlich habe ich ein Problem mit dem WEB-Server. Wie kann ich meine Vermutung verifizieren?

    Grüße

    Einen Kommentar schreiben:


  • starwarsfan
    antwortet
    Hi David

    Zitat von kingolli Beitrag anzeigen
    Kann mir jemand sagen, welche mysql Version in dem Docker Container enthalten ist?
    Bin grad unterwegs, daher schau doch einfach nach:

    Code:
    docker run --rm starwarsfan/edomi-docker:amd64-latest mysql --version

    Einen Kommentar schreiben:

Lädt...
X