Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

Shojo

Ich hatte heute mal versucht FHEM auf Synology DSM (x86-64/AMD64) zum laufen zu bekommen...

aber kommen beim Start leider nicht über folgende Fehlermeldung hinaus:

Preparing configuration ...
Starting FHEM ...
su: System error
Unable to start FHEM process - errorcode 1

Hat wer ein Tipp für mich wo ich da ansetzten kann?
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

Shojo

Keiner ein Tipp für mich was es mit der Fehlermeldung aufsich hat? :(
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

Wernieman

Du wist das Problem haben, das keiner Docker auf Synology kennt ....
- 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

Shojo

Ja das befürchte ich auch, obwohl ich schon diverse (14) Container über docker-compose dort laufen habe.
Habe sonst noch keine Einschränkungen in Vergleich zu Ubuntu feststellen können.

Daher hatte ich die Hoffnung das wer mir was zum Fehler sagen kann. 

Gruß
Dennis
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

FunkOdyssey

@Loredo:

Wo hättest du denn gerne "feature requests" oder sonstige "issues" genannt?
Im GitHub-Projekt oder hier im Forum?


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

FunkOdyssey

Da gibt es sogar schon welche.  :)
Die finde ich gar nicht mal so schlecht.

Loredo

Zitat von: Shojo am 09 September 2018, 16:33:47
Ich hatte heute mal versucht FHEM auf Synology DSM (x86-64/AMD64) zum laufen zu bekommen...

aber kommen beim Start leider nicht über folgende Fehlermeldung hinaus:

Preparing configuration ...
Starting FHEM ...
su: System error
Unable to start FHEM process - errorcode 1

Hat wer ein Tipp für mich wo ich da ansetzten kann?

Ich vermute deine docker-compose Definition ist nicht kompatibel. Der su Befehl wird benötigt, um fhem unter nicht-Root Rechten laufen zu lassen:
http://lmgtfy.com/?q=docker+su+%22system+error%22

Das Image ist nicht dafür bestimmt das Netzwerk als "Host Networking" zu betreiben. Eine Beispiel docker-compose Datei findet sich hier:
https://github.com/docker-home-automation-stack/fhem-docker/blob/master/docker-compose.yml
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

#39
Zitat von: supernova1963 am 25 August 2018, 10:18:40

       
  • der Einbindung von USB

Für die Einbindung von USB Geräten muss der Container im Privileged Modus laufen. Das ist aber Docker spezifisch und hat nichts mit dem Image ansich zu tun.
In der docker-compose Beispieldatei sind dazu bereits ein entsprechende Einträge vorhanden, die man nur einkommentieren muss:


# privileged: true
   [...]
# - /dev/ttyUSB0:/dev/ttyUSB0



Ich habe bei mir allerdings alles auf IP laufen und brauche daher kein USB mehr.




Edit:
Habe die Beispiel docker-compose Datei um einige Beispiele aus der Literatur erweitert.
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

Shojo

Zitat von: Loredo am 16 September 2018, 13:13:06
Ich vermute deine docker-compose Definition ist nicht kompatibel. Der su Befehl wird benötigt, um fhem unter nicht-Root Rechten laufen zu lassen:
http://lmgtfy.com/?q=docker+su+%22system+error%22
Danke für den lmgtfy Link, das hatte ich auch ohne  in hinbekommen...
Aber egal das war ja nur ein Test, wollte das eh nicht wirklich auf der Syno laufen lassen.

Zitat von: Loredo am 16 September 2018, 13:13:06
Das Image ist nicht dafür bestimmt das Netzwerk als "Host Networking" zu betreiben. Eine Beispiel docker-compose Datei findet sich hier:
https://github.com/docker-home-automation-stack/fhem-docker/blob/master/docker-compose.yml
Am "Host Network" komm ich leider nicht drum rum, da ich anderes nicht meine Sonos System ins Fhem eingebunden bekomme.
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum (root), ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix, Pixel It

FunkOdyssey

#41
Ich nutze die ganz aktuelle Version und habe folgende Ausgabe im FHEM-Log:

sort: cannot read: '/image_info.*': No such file or directory
sort: cannot read: '/image_info.*': No such file or directory
sort: cannot read: '/image_info.*': No such file or directory
sort: cannot read: '/image_info.*': No such file or directory
sort: cannot read: '/image_info.*': No such file or directory


Oje. Ich ahne es schon. Die neue 99_DockerImageInfo.pm wird wahrscheinlich gar nicht automatisch eingespielt. Kann das sein? Nachtrag: Ich habe die Version aus dem Repo manuell hochgeladen. Kein Unterschied. Fehler bleibt.




Und es wird scheinbar jedesmal versucht, Telnet hinzuzufügen:

Messages collected while initializing FHEM:
configfile: telnetPort already defined, delete it first

Loredo

#42
Zitat von: Shojo am 16 September 2018, 16:03:06
Am "Host Network" komm ich leider nicht drum rum, da ich anderes nicht meine Sonos System ins Fhem eingebunden bekomme.

Den Sonos Daemon sollte man dafür in einen eigenen Container auslagern. Der Travis Build, resp. ein fertiges Image, dafür steht noch aus.
Das Dockerfile sieht bei mir so aus:


FROM debian:stretch
ENV DEBIAN_FRONTEND noninteractive
ENV TERM xterm

# Install base environment
RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends apt-utils
RUN apt-get -y install \
apt-transport-https \
build-essential \
curl \
cpanminus \
dfu-programmer \
etherwake \
git \
netcat \
perl \
snmp \
snmpd \
sqlite3 \
sudo \
telnet \
usbutils \
vim \
wget && \
apt-get -y install \
libwww-perl \
libsoap-lite-perl \
libxml-parser-lite-perl

EXPOSE 4711

WORKDIR "/opt/fhem/FHEM"

CMD perl 00_SONOS.pm 4711 3 1



docker-compose.yml:


  fhem-sonos:
    restart: always
    build: fhem-sonos
    volumes:
      - ./fhem/:/opt/fhem/:ro
    network_mode: host

  fhem-sonos-smb:
    restart: always
    image: dperson/samba
    ports:
      - "445:445"
    environment:
      TZ: "Europe/Berlin"
    volumes:
      - ./fhem-sonos/SonosSpeak/:/mnt/SonosSpeak/
    networks:
      - net
    command: -p -s "SonosSpeak;/mnt/SonosSpeak"


Zitat von: FunkOdyssey am 16 September 2018, 16:19:17
Ich nutze die ganz aktuelle Version und habe folgende Ausgabe im FHEM-Log:

Danke, da fehlte beim Übertrag aus der Shell noch etwas.

Zitat von: FunkOdyssey am 16 September 2018, 16:19:17
Ich ahne es schon. Die neue 99_DockerImageInfo.pm wird wahrscheinlich gar nicht automatisch eingespielt.

Nope, wird aktualisiert.

Zitat von: FunkOdyssey am 16 September 2018, 16:19:17
Und es wird scheinbar jedesmal versucht, Telnet hinzuzufügen:

Messages collected while initializing FHEM:
configfile: telnetPort already defined, delete it first


Absolut, ja. Wird für den Health Check benötigt und daher hinzugefügt, wenn nicht vorhanden bzw. nicht auf 7072 hörend vorhanden.
Wenn du einen anderen Port verwendest, kannst du die Umgebungsvariable TELNETPORT entsprechend anders im Container setzen.
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

FunkOdyssey

Das Problem ist nur, dass jedesmal versucht wird, den Telnet-Zugang hinzuzufügen.
Der Fehlerhinweis multipliziert sich mit jedem Rebuild (oder Restart?).

---

Das Projekt ist auf Docker-Hub ja bereits aktualisiert. Den "image_info"-Bug habe ich aber immer noch:


touch: cannot touch '/image_info.tmp': Permission denied
sort: cannot read: '/image_info.*': No such file or directory
rm: cannot remove '/image_info.tmp': No such file or directory

Loredo

Danke für die Rückmeldung. Sollte nun mit dem neuen Build ausgeräumt sein.
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