Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

Wernieman

Zitater darf keine Änderungen am Host-System vornehme
Sorry aber für Docker ist es irrelevant, ob Du ein Direktory einmountest oder ein Volumen ... Docker darf (und soll) dort schreiben.

So wie Du es übrigens beschreibst, solltest Du die config nicht reinmounten, sondern copy ....

Eigentlich ist Dein Vorgehen mit schreibgeschützter Config nicht nach FHEM-Doing aber funktioniert (komischerweise). Ist aber eher ein undokumentiertes "Feature". Es kann Dir also immer passieren, das auch ein normales FHEM das in Zukunft nicht mag .... ohne Ankündigung.
- 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

balli1187

Zitat von: fallenguru am 26 Februar 2020, 15:32:39
Gar nicht. Ich schreibe meine cfg mit der Hand, mit Unterstützung von ein paar scripts.
Wenn das für dich funktioniert und du damit glücklich bist - wunderbar. Erwarte doch aber bitte nicht, dass hier etwas umgesetzt oder berücksichtigt wird, von dem an so ziemlich _jeder_ Stelle im FHEM-Forum abgeraten wird.
Das händische bearbeiten der cfg führt teilweise zur Verweigerung des Supports durch die Entwickler und Maintainer, weil es zu viele Pubkte gibt die dabei schiefgehen.

ZitatErwartet habe ich eine Containerisierung, die es erlaubt, Fhem sauber neben einer Anzahl anderer Services auf einem Server laufen zu lassen
Hier verstehe ich dein Problem nicht wirklich. Bei mir laufen aktuell 13 Container neben FHEM und ich hatte hier noch keinerlei Effekte auf die andere Container oder auf die Funktionen meines QNAP-Host.

Zitates ohne weiteres als Docker-Image, noch dazu als offizielles, zu präsentieren, finde ich irreführend.
Dieses Image wird von einem FHEM-Entwickler bereitgestellt und arbeitete nach den vorgesehenen Regeln für die Nutzung von FHEM. Ich weis nicht was du genau am wording auszusetzen hast aber für mich geht es nicht "offizieller".


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

Reinschki

Hallo, der Umzug auf das FHEM Docker Basis Image ist (fast) vollzogen.
Ich frage mich derzeit, wie ich die das hier https://haus-automatisierung.com/projekt/2019/02/26/projekt-amazon-polly-tts.html im Container realisieren kann.

Bei der Installation werden einige Daten abgefragt.
Ich bin mit der Übergabe des AWS Polly Zugriffsschlüssel-ID sowie der weiteren Übergabe von Zugangsdaten bei der Ausführung von sudo aws configure im pre-init.sh script überfragt.
Kann man diese Installation im pre-init.sh durchführen?
Wie übergibt man die abgefragten Zugangsdaten.

Im Moment habe das auf dem Host installiert und mounte das Verzeichnis /usr/local/bin/aws in den Container. Das funktioniert, ist aber meiner Ansicht nach nicht gut im Sinne der Containerisierung!?

Kann mir jemand einen Tipp geben?

Schönen Sonntag noch!

der-Lolo

Mir geht es zur Zeit auch um die Scripts - ich würde gerne im post-start.sh die rote LED des Raspi4 ausschalten.
Das bedeutet ich muss ja vom Container aus den Schaltvorgang auslösen - hier gibt es die LED natürlich nicht...
Wie muss ich vorgehen um auf dem Host einen "root" Befehl auszuführen..?
Oder muss ich die LED in den Container mounten und dann mit einem notify auf INTIALIZED einen System aufruf starten..?

Wernieman

Wie wenn es auf einem anderen Rechner ist .. also ssh ..
- 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

der-Lolo

Hm, ich habe jetzt ein post-start.sh angelegt und das mit -v in Docker eingebunden

docker run -d --name PIV-FHEM -p 8083:8083 -v /opt/fhem:/opt/fhem -v /opt/config/post-start.sh:/post-start.sh fhem/fhem

Habe ich vielleicht hier schon einen Syntax-fehler..?

In /opt/config habe ich nun eine Datei post-start.sh angelegt - brauche ich hier noch ein ausführ Flag oder Berechtigungen für den Container..?

  GNU nano 3.2                                                         post-start.sh                                                                   

#!/bin/bash
ssh pi@host.docker.internal sudo echo 0 > /sys/class/leds/led1/brightness



sudo echo 0 > /sys/class/leds/led1/brightness funktioniert jedenfalls auf dem Raspi4 als user pi


volschin

Du kannst nicht in ein Filesystem schreiben, das du nicht als Volume im Container gemountet hast.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

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

wollet42

#803
Hallo,

ich habe gerade von einem anderen Docker Image auf dieses hier umgestellt und beobachte ein komisches Verhalten.

Bei mir wird die fhem.cfg immer 2x geladen beim Imagestart.

Aufgefallen ist mir das, da ich dadurch eine Fehlermeldung im Log habe wegen Telent (port in use)

Hat das sonst noch jemand bzw weiss jemand, wie ich das abschalte?

Logauszug:

2020.03.07 10:17:53 3: From the FHEM_GLOBALATTR environment: attr global logfile ./log/fhem-%Y-%m-%d.log
2020.03.07 10:17:53 3: From the FHEM_GLOBALATTR environment: attr global pidfilename /opt/fhem/log/fhem.pid
2020.03.07 10:17:53 3: From the FHEM_GLOBALATTR environment: attr global updateInBackground 1
2020.03.07 10:17:53 3: From the FHEM_GLOBALATTR environment: attr global nofork 0
2020.03.07 10:17:53 1: Including fhem.cfg
2020.03.07 10:17:53 3: telnet: port 7072 opened
2020.03.07 10:17:54 3: WEB: port 8083 opened
2020.03.07 10:17:54 2: eventTypes: loaded 492 events from /opt/fhem/log/eventTypes.txt
...
2020.03.07 10:17:56 1: Including /opt/fhem/log/fhem.save
2020.03.07 10:17:56 3: From the FHEM_GLOBALATTR environment: attr global logfile ./log/fhem-%Y-%m-%d.log
2020.03.07 10:17:56 3: From the FHEM_GLOBALATTR environment: attr global pidfilename /opt/fhem/log/fhem.pid
2020.03.07 10:17:56 3: From the FHEM_GLOBALATTR environment: attr global updateInBackground 1
2020.03.07 10:17:56 3: From the FHEM_GLOBALATTR environment: attr global nofork 0
...
2020.03.07 10:18:02 0: Featurelevel: 6
2020.03.07 10:18:02 0: Server started with 122 defined entities (fhem.pl:21333/2020-03-01 perl:5.028001 os:linux user:fhem pid:5477)
...
2020.03.07 10:18:04 2: AttrTemplates: got 140 entries
2020.03.07 10:18:13 3: From the FHEM_GLOBALATTR environment: attr global logfile ./log/fhem-%Y-%m-%d.log
2020.03.07 10:18:13 3: From the FHEM_GLOBALATTR environment: attr global pidfilename /opt/fhem/log/fhem.pid
2020.03.07 10:18:13 3: From the FHEM_GLOBALATTR environment: attr global nofork 0
2020.03.07 10:18:13 3: From the FHEM_GLOBALATTR environment: attr global updateInBackground 1
2020.03.07 10:18:13 1: Including fhem.cfg  <-------------------- hier taucht das 2. include auf!!!!
2020.03.07 10:18:13 1: telnet: Can't open server port at 7072: Address already in use. Exiting.


update
FHEM läuft jedoch einwandfrei, mich stört nur die Fehlermeldung.
/update


Danke

Gruss,
Wolle

gklank

Hallo,

ich möchte mich mit Telnet an dem Docker-FHEM (Docker-IP = 192.168.1.248) anmelden können.

Leider schaffe ich es nicht den telnetd so zu installieren, dass er dauerhaft und eben auch nach einem reboot nutzbar ist:
- apt-get install telnetd
- in /etc/securetty mehrere pts/0, pts/1 etc. gemacht
- docker neu gestartet
- mit telnet von einem Linuxsystem im gleichen Netz auf den Docker:
      nach einigen Sekunden - telnet: Unable to connect to remote host: Connection refused
- den vorhandenen inetd mit "S01openbsd-inetd start" gestartet
- mit ps -ef sehe ich, dass der inetd läuft
- in /etc/inetd.conf ist der Telnet eingetragen:
      telnet          stream  tcp     nowait  telnetd /usr/sbin/tcpd  /usr/sbin/in.telnetd
- mit telnet von einem Linuxsystem auf den Docker:
      im Vergleich vor dem gestarteten inetd kommt jetzt ohne jegliche Verzögerung: Connection closed by foreign host.

Ich wäre um helfende Tipps dankbar.


Grüße,

Gerhard
Docker auf QNAP 431+ mit fhem-arm32v7

Wernieman

- 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

volschin

Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

gklank

Hallo,

sshd war ein guter Tipp.

Nach dem Reboot läuft zwar der sshd nicht mehr, auch der sshd User ist gelöscht, aber es ist so reproduzierbar.
Falls da jemand noch etwas dazu weiß, dann gerne...

Und ein Reboot kommt bei mir nur selten vor.

D.h. es geht, wenn auch nach dem Reboot von Hand der sshd User wieder angelegt und der sshd gestartet werden muss..


Danke und Grüße,


Gerhard

P.A.Trick

Zitat von: gklank am 15 März 2020, 18:47:12
Hallo,

sshd war ein guter Tipp.

Nach dem Reboot läuft zwar der sshd nicht mehr, auch der sshd User ist gelöscht, aber es ist so reproduzierbar.
Falls da jemand noch etwas dazu weiß, dann gerne...

Und ein Reboot kommt bei mir nur selten vor.

D.h. es geht, wenn auch nach dem Reboot von Hand der sshd User wieder angelegt und der sshd gestartet werden muss..


Danke und Grüße,


Gerhard

Du kannst den SSH Dämonen über das pre-init.sh Skript starten.
Hier mal als Beispiel: https://github.com/stormmurdoc/fhemdocker/blob/master/pre-init.sh
Du musst aber den SSH Server noch als zusätzliches Paket beim Container Start starten.

Eintrag in die docker-compose.yml

APT_PKGS: "openssh-server"
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

volschin

Ich befürchte, dass hier jemand versucht etwas mit Docker zu machen, was eigentlich ganz einfach ist.

Vielleicht einfach nochmal ein paar Grundlagen lesen.
https://phoenixnap.com/kb/how-to-ssh-into-docker-container
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)