Offizielles FHEM Docker Basis Image für verschiedene Plattformen

Begonnen von Loredo, 28 Juli 2018, 21:24:57

Vorheriges Thema - Nächstes Thema

eisler


Hallo,

im README https://github.com/fhem/fhem-docker/blob/dev/README.md steht man solle das Attribut nofork auf 1 setzen.

"make sure the global attribute 'nofork' is set to 1, otherwise FHEM will not be able to start properly."

macht man das und setzt das Attribut nofork auf 1 in der fhem.cfg wird durch das entry.sh beim starten des Docker Containers nofork auf 0 gesetzt?!

Ist das in der Anleitung falsch, oder im entry.sh Skript?

Grüße
Stephan

Loredo

Oh, ist in der Tat ein Dreher in der README. Richtig ist nofork=0.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Loredo

Es baut jetzt gerade ein neues PROD Image, welches insbesondere im Bezug auf configDB eine Verbesserung ist: Es wird die neue Umgebungsvariable FHEM_GLOBALATTR verwendet, um die richtigen Starteinstellungen zu forcieren. Eine spezielle Vorbereitung von configDB Installationen beim Erststart in Docker ist somit nicht mehr erforderlich.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

ChrisW

mal als Docker Anfänger. Ich hab es unter Synology auf dem Docker fhem:fhem. Wie mache ich nun am besten ein Update ?
Export der Container Einstellungen.
Abbild fhem löschen
Abbild neu raussuchen und "last" runterladen und dann einfach die Container Einstellungen wieder Importieren ??
Raspberry PI3 mit allem möglichen.

eisler

Hallo,

Zitat von: Loredo am 07 Mai 2019, 15:43:59
Oh, ist in der Tat ein Dreher in der README. Richtig ist nofork=0.

ich dachte ich habe ein Fehler gefunden. :(
FHEM läuft im Docker Container nicht stabil, und wird auch nicht neu gestartet:

"... /entry.sh start"        2 hours ago         Up 2 hours (unhealthy) ...

root@b82cf37e39f9:/opt/fhem/log# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  1.3  0.2   4540  2232 ?        Ss   14:25   1:43 /bin/bash /entry.sh start
root      1009  0.0  0.2   4532  2524 pts/0    Ss+  16:18   0:00 /bin/bash
root     16286  0.1  0.2   4532  2560 pts/1    Ss   16:29   0:00 /bin/bash
root     19020  0.0  0.0   3016   344 ?        S    16:31   0:00 sleep 0.5
root     19021  0.0  0.0   1428   360 ?        Ss   16:31   0:00 /bin/sh -c /health-check.sh
root     19026  0.0  0.2   4400  2252 ?        S    16:31   0:00 /bin/bash /health-check.sh
root     19030  0.0  0.2   6728  2144 pts/1    R+   16:31   0:00 ps aux
root     19031  0.0  0.1   4400  1388 ?        S    16:31   0:00 /bin/bash /health-check.sh
root     19032  0.0  0.2   5392  2452 ?        R    16:31   0:00 perl fhem.pl 7072 jsonlist2 TYPE=FHEMWEB:FILTER=TEMPORARY!=1
root@b82cf37e39f9:/opt/fhem/log# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  1.3  0.2   4540  2232 ?        Ss   14:25   1:43 /bin/bash /entry.sh start
root      1009  0.0  0.2   4532  2524 pts/0    Ss+  16:18   0:00 /bin/bash
root     16286  0.1  0.2   4532  2560 pts/1    Ss   16:29   0:00 /bin/bash
root     19071  0.0  0.0   3016   344 ?        S    16:31   0:00 sleep 0.5
root     19072  0.0  0.2   6728  2136 pts/1    R+   16:31   0:00 ps aux


kann ich da noch was debuggen?

Grüße
Stephan

Loredo

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

eisler

Zitat von: Loredo am 07 Mai 2019, 17:38:10
Telnet beachtet?

Telnet Port 7072 ist konfiguriert:

define telnetPort telnet 7072 global

Grüße
Stephan

kotaro

Zitat von: ChrisW am 07 Mai 2019, 16:01:26
mal als Docker Anfänger. Ich hab es unter Synology auf dem Docker fhem:fhem. Wie mache ich nun am besten ein Update ?
Export der Container Einstellungen.
Abbild fhem löschen
Abbild neu raussuchen und "last" runterladen und dann einfach die Container Einstellungen wieder Importieren ??

Ich nutze ein docker-compose und mach ein
docker-compose pull fhem weiß aber nicht was die offizielle Variante ist

eisler

Hallo,

zwei Sachen sind mir noch aufgefallen die regelmässig gestartet werden:

perl fhem.pl 7072 jsonlist2 TYPE=FHEMWEB:FILTER=TEMPORARY!=1
Can't connect to localhost:7072

ist ok. fhem läuft ja nicht.

grep -q Server started /dev/fd/63

grep: started: No such file or directory
grep: /dev/fd/63: No such file or directory


ist da was bei PrintNewLines nicht ok?

so langsam keine Idee was ich da noch debuggen könnte.

Grüße
Stephan



Wernieman

grep -q Server started /dev/fd/63
1. die "" vergessen? Bei grep ist der erste parameter das Suchmuster, beim 2. (optional) das File. Du gibst als ersten Parameter das "Server" und als 2. "startet" ..... ein Space ist Trennzeichen ...
2. Existiert überhaupt /dev/fd/63

Eigentlich wollte ich aber schreiben:
Was willst Du mit Deiner Zeile erreichen?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

eisler

#355
Zitat von: Wernieman am 08 Mai 2019, 16:30:54
Was willst Du mit Deiner Zeile erreichen?

1. das grep sollte passen. Im ps output werden die "" nicht mit angezeigt.
2. /dev/fd/63 existiert nicht

das kommt aus: https://github.com/fhem/fhem-docker/blob/master/src/entry.sh

...
function PrintNewLines {
  if [ -s "$( date +"${LOGFILE}" )" ]; then
  NEWLINES=$(wc -l < "$(date +"${LOGFILE}")")
  (( OLDLINES <= NEWLINES )) && LINES=$(( NEWLINES - OLDLINES )) || LINES=${NEWLINES}
  tail -n "${LINES}" "$(date +"${LOGFILE}")"
  [ -n "$1" ] && grep -q "$1" <(tail -n "$LINES" "$(date +"${LOGFILE}")") && FOUND=true || FOUND=false
  OLDLINES=${NEWLINES}
  fi
}
...


mit dem entry.sh sollte fhem gestartet werden... startet aber nicht. :(

Grüße
Stephan

antonwinden

Fhem und KNXD mit Docker?
verwendet wer obiges? Ich habe da ein kurioses Problem:
knxd als docker läßt bei mir nicht alles durch oder um es anders zu sagen: knxd mit einem pi (ohne docker) zeigt alle gruppenadressen an nur wenn ich das ganze auf meinem server mit ubuntu in einem docker laufen lasse verschwinden einige gad's (immer die gleichen wie z.b. 2/6/101, 2/4/21+22) alles andere funktioniert)
fhem im docker funktioniert dafür ohne probleme.
oder gibt es die möglichkeit dieses docker basis image mit knxd in einem container laufen zu lassen ohne das ich bei jedem update diesen neu bauen muß? hätte auch den vorteil knxd nicht im net modus laufen zu lassen...
bin allerdings nicht der fitteste bei docker - bin schon froh es so hin gekriegt zu haben :-)
gruß anton
KNX, Raspberry, Denon 3313, Philips TV, Xtrend9X00 und viel Optimismus...

Wernieman

Mehere Daemons in einem Docker Container ....

Wie ich schon obe geschrieben habe: Docker <> VM

In Docker wird eigentlich ein Service (Daemon) mit "seiner" Umgebung um laufen gebracht. Sogenannte "microservices".

Zu KNXD kann ich mangels Hardware nicht sagen ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Schlimbo

Hallo Loredo,
bei dem Text2Speech Modul haben sich die Abhängigkeiten etwas geändert. Bekomme mir der aktuellen Version folgende Meldung:

Can't locate Text/Iconv.pm in @INC (you may need to install the Text::Iconv module) (@INC contains: . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base ./FHEM ./FHEM/lib) at ./FHEM/98_Text2Speech.pm line 28.
BEGIN failed--compilation aborted at ./FHEM/98_Text2Speech.pm line 28.


Aus dem Text2Speech Thread:
Zitat von: Tobias am 03 Mai 2019, 09:30:42
Das Wiki ist noch nicht komplett ergänzt.
Es wird Text::Iconv sowie in der nächsten Version Encode::Guess benötigt.
Wenn du die neue Amazon Polly Engine nutzen willst, kommt noch Paws und File::Homedir dazu

Bitte nachinstallieren

Könntest du die fehlenden Abhängigkeiten bitte noch mit aufnehmen?

kjmEjfu

Migriere derzeit zu Home Assistant