Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

volschin

Was heißt denn ,,in letzter Zeit"? Letzte Änderung in Github war am 7.1.
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)

eddy242

ok dann scheidet das wohl aus. Tatsache ist dass Dateien früher mit der Berechtigung rw-rw-r-- angelegt wurden, jetzt mit rw-rw----. Ich habe keinen Anhaltspunkt für Zeitpunkt und Ursache der Änderungen, sehe nur, dass es eine Änderung im Verhalten gab. Vielleicht hat jemand einen Anhaltspunkt? Ich frage sonst im Sonos-Forum.

volschin

Lies dir aber mal auf der github-Seite durch, wie Du die Datei- und Vereichnisrechte mit -e steuern kannst.
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)

Holzlenkrad

#843
Ich möchte am Wochenende mein komplettes Setup das seit über einem Jahr recht stabil läuft auf potentere Hardware umziehen. Vielleicht bin ich damit sogar bis nach Ostern durch  :o

Reicht es, wenn ich die backup.tar.gz von fhem auf dem neuen System entpacke und dann einfach beim ersten Containerstart dieses Verzeichnis auf /opt/fhem linke?
Oder muss ich sonst noch etwas beachten? Dateirechte o.ä.?

volschin

Schön wärs. Hängt von Deiner Installation ab. Grade Sensor-Hardware macht Bauchschmerzen.
Und ich habe bis heute noch nicht rausgefunden, warum das Pushover-Modul auf einer nackten Konfiguration läuft, mit meiner migrieren aber nicht.
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)

Typ1er

Macht es in Docker Probleme die UID und GID nicht auf 6061 zu setzen?, sonder auf den Benutzer von Synology NAS (1020 und 100)?

Wo stellt man Docker ein, das andere Container zuerst starten müssen oder geht das im Anschluss nicht mehr?

thm12345

Hallo,

ich versuche gerade eine FHEM Umgebung mit Container Station (Docker 17.09) auf einer QNAP (ARM) aufzubauen. Ich möchte unter einer IP 2 Instanzen von FHEM laufen lassen (FHEM_prod/FHEM_test). Die Instanzen sollen über die Ports unterschieden werden. Da ich beides über eine IP laufen lassen will, habe ich beim 2. Container den Netzwerkmode "service" konfiguriert. Hier kann ich aber nicht mit "-p" die Ports umlenken. Also habe ich eine vorkonfigurierte fhem.cfg in Verzeichnis für fhem_test abgelegt. Leider ignoriert fhem_test diese Einstellungen und meckert, dass Port 8083 schon in Nutzung ist. Ich vermute es "muss" mit 8083 hochkommen und ändert dann intern erst den in der fhem.cfg eingestellten Port?! Kann man das eventuell irgendwie forcieren, das es initial mit einem anderen Port hochkommt?


volschin

Meine Empfehlung: Setze das gleich mit docker-compose auf.
Du kannst dort depends-on benutzen, hilft aber nur bedingt und hat den unschönen Nebeneffekt, das auch ein recreate für den Container dadurch ausgelöst wird.
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)

kadettilac89

Zitat von: Typ1er am 03 April 2020, 01:49:20
Wo stellt man Docker ein, das andere Container zuerst starten müssen oder geht das im Anschluss nicht mehr?

in docker-compose gibts den parameter "depends_on". Erst wenn die Container laufen wird der Container mit dem Attribut gestartet. Musst mal prüfen ob das in deiner Umgebung / Framework vorhandne ist wenn du nicht docker-compose nutzt.

volschin

Zitat von: thm12345 am 03 April 2020, 09:14:34
Hallo,

ich versuche gerade eine FHEM Umgebung mit Container Station (Docker 17.09) auf einer QNAP (ARM) aufzubauen. Ich möchte unter einer IP 2 Instanzen von FHEM laufen lassen (FHEM_prod/FHEM_test). Die Instanzen sollen über die Ports unterschieden werden. Da ich beides über eine IP laufen lassen will, habe ich beim 2. Container den Netzwerkmode "service" konfiguriert. Hier kann ich aber nicht mit "-p" die Ports umlenken. Also habe ich eine vorkonfigurierte fhem.cfg in Verzeichnis für fhem_test abgelegt. Leider ignoriert fhem_test diese Einstellungen und meckert, dass Port 8083 schon in Nutzung ist. Ich vermute es "muss" mit 8083 hochkommen und ändert dann intern erst den in der fhem.cfg eingestellten Port?! Kann man das eventuell irgendwie forcieren, das es initial mit einem anderen Port hochkommt?
Poste bitte mal deine Kommandos für die beiden Instanzen hier.
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)

Typ1er

Da ich ein Problem mit dem AutoShutterControl habe, würde ich das zum testen mal in einen neuen Container überführen, gibt es ein Problem wenn man den Z-Wave USB-Stick in 2 Containern eingebunden hat?

volschin

Zitat von: Typ1er am 03 April 2020, 12:18:07
Da ich ein Problem mit dem AutoShutterControl habe, würde ich das zum testen mal in einen neuen Container überführen, gibt es ein Problem wenn man den Z-Wave USB-Stick in 2 Containern eingebunden hat?
Typischerweise können die meisten Devices nur exklusiv durch einen Container genutzt werden.
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)

thm12345

Zitat von: volschin am 03 April 2020, 09:19:36
Poste bitte mal deine Kommandos für die beiden Instanzen hier.
Das ist ein Auszug aus meiner docker-compose.yml:
############################################
# Heimdall
# Port: 80 / 443
# FHEM
# Ports: 8083 / 8084 / 8085 / 7072
# FHEM Test
# Ports: 18083 / 18084 / 18085 / 17072
# mosquitto
# Ports: 1883 / 9001
# NodeRed
# Ports: 1880
# HA Bridge
# Port: 8080 / 50000
############################################
version: "2"
# Services
services:
# FHEM
# Ports: 8083 / 8084 / 8085 / 7072
  fhem:
    image: fhem/fhem
    container_name: fhem
    hostname: fhem
    environment:
      FHEM_UID: 1000
      FHEM_GID: 1000
      TELNETPORT: 7072
      TZ: Europe/Berlin
      LANG: de_DE.UTF8
      LANGUAGE: de_DE.de
    volumes:
      - $PWD/fhem/fhem/data:/opt/fhem
    networks:
      qnet_static:
      # static:
        ipv4_address: 192.168.178.227
    restart: unless-stopped

# FHEM Test
# Ports: 18083 / 18084 / 18085 / 17072
# Die Ports werden durch eine vorkonfigurierte fhem.cfg ungebogen
  fhem_test:
    image: fhem/fhem
    container_name: fhem_test
    environment:
      FHEM_UID: 1000
      FHEM_GID: 1000
#      TELNETPORT: 17072
      TZ: Europe/Berlin
      LANG: de_DE.UTF8
      LANGUAGE: de_DE.de
    volumes:
      - $PWD/fhem/fhem/data:/opt/fhem
    network_mode: "service:fhem"
    depends_on:
      - nodered_fhem
    restart: unless-stopped

...

#Networks
networks:
  qnet_static:
    external: true


Den FHEM-Ordner habe ich von der Prod-Version, nach einem erfolgreichen Start, komplett nach Test kopiert und dann die fhem.cfg angepasst:

attr global logfile ./log/fhem-%Y-%m-%d.log
attr global modpath .
attr global verbose 3
attr global statefile ./log/fhem.save

define WEB FHEMWEB 18083 global
define WEBphone FHEMWEB 18084 global
define WEBtablet FHEMWEB 18085 global
define telnetPort telnet 17072

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m-%d.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
attr global dnsServer 127.0.0.11
attr global commandref modular
attr global mseclog 1
define DockerImageInfo DockerImageInfo
attr DockerImageInfo alias Docker Image Info
attr DockerImageInfo devStateIcon ok:security@green Initialized:system_fhem_reboot@orange .*:message_attention@red
attr DockerImageInfo group System
attr DockerImageInfo icon docker
attr DockerImageInfo room System
define fhemServerApt AptToDate localhost
attr fhemServerApt alias System Update Status
attr fhemServerApt devStateIcon system.updates.available:security@red system.is.up.to.date:security@green:repoSync .*in.progress:system_fhem_reboot@orange errors:message_attention@red
attr fhemServerApt group Update
attr fhemServerApt icon debian
attr fhemServerApt room System
define fhemInstaller Installer
attr fhemInstaller alias FHEM Installer Status
attr fhemInstaller devStateIcon .*updates.available:security@red:outdated up.to.date:security@green:outdated .*outdated.*in.progress:system_fhem_reboot@orange .*in.progress:system_fhem_update@orange warning.*:message_attention@orange error.*:message_attention@red
attr fhemInstaller group Update
attr fhemInstaller icon system_fhem
attr fhemInstaller room System


Wenn ich docker-compose starte, startet die fhem-Version ohne Probleme. Die fhem_test gibt die folgenden Meldungen aus:

Preparing initial start:,
1. Updating existing FHEM installation in /opt/fhem,
,
Preparing user environment ...,
1. Creating group 'fhem' with GID 1000 ...,
2. Enforcing GID for group 'bluetooth' to 6001 ...,
3. Creating user 'fhem' with UID 1000 ...,
4. Creating log directory /opt/fhem/./log ...,
5. Enforcing user and group ownership for /opt/fhem to fhem:fhem ...,
6. Enforcing file and directory permissions for /opt/fhem ...,
7. Correcting group ownership for /dev/tty* ...,
8. Found GPIO: Correcting group permissions in /dev and /sys to 'gpio' with GID 6002 ...,
9. Found I2C: Correcting group permissions in /dev to 'i2c' with GID 6003 ...,
10. Updating /etc/sudoers.d/fhem-docker ...,
11. Adding gateway.docker.internal to /etc/hosts ...,
12. Adding host.docker.internal to /etc/hosts ...,
13. Pre-authorizing SSH to Docker host for user 'fhem' ...,
14. Updating SSH key pinning and SSH client permissions for user 'fhem' ...,
,

Preparing configuration ... done,
,
Starting FHEM ...,
2020.04.03 14:29:12.319 3: telnetPort: port 7072 opened,
2020.04.03 14:29:12.319 1: Including ./log/fhem.save,
2020.04.03 14:29:12.328 3: From the FHEM_GLOBALATTR environment: attr global nofork 0,
2020.04.03 14:29:12.328 3: From the FHEM_GLOBALATTR environment: attr global pidfilename ./log/fhem.pid,
2020.04.03 14:29:12.329 3: From the FHEM_GLOBALATTR environment: attr global updateInBackground 1,
2020.04.03 14:29:12.329 3: From the FHEM_GLOBALATTR environment: attr global logfile ./log/fhem-%Y-%m-%d.log,
2020.04.03 14:29:13.495 3: From the FHEM_GLOBALATTR environment: attr global pidfilename ./log/fhem.pid,
2020.04.03 14:29:13.495 3: From the FHEM_GLOBALATTR environment: attr global logfile ./log/fhem-%Y-%m-%d.log,
2020.04.03 14:29:13.496 3: From the FHEM_GLOBALATTR environment: attr global nofork 0,
2020.04.03 14:29:13.496 3: From the FHEM_GLOBALATTR environment: attr global updateInBackground 1,
2020.04.03 14:29:13.501 1: Including fhem.cfg,
2020.04.03 14:29:13.784 1: WEB: Can't open server port at 8083: Address already in use. Exiting.,
2020.04.03 14:29:14.358 1: usb create starting,
2020.04.03 14:29:14.399 1: usb create end,
2020.04.03 14:29:14.400 0: Featurelevel: 6,
2020.04.03 14:29:14.400 0: Server started with 10 defined entities (fhem.pl:21337/2020-03-02 perl:5.028001 os:linux user:fhem pid:3765),
/entry.sh: Zeile 621: kill: (3765) - Kein passender Prozess gefunden,
,

Abrupt daemon termination, starting 10s countdown .../entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
10/entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
9/entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
8/entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
7/entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
6/entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
5/entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
4/entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
3/entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
2/entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
1/entry.sh: Zeile 625: kill: (3765) - Kein passender Prozess gefunden,
/entry.sh: Zeile 632: kill: (3765) - Kein passender Prozess gefunden,
0,
Automatic restart ...,
,
/entry.sh: Zeile 645: kill: (3765) - Kein passender Prozess gefunden,
,
Preparing configuration ... done,
,
Starting FHEM ...,
2020.04.03 14:29:25.913 3: From the FHEM_GLOBALATTR environment: attr global nofork 0,
2020.04.03 14:29:25.913 3: From the FHEM_GLOBALATTR environment: attr global logfile ./log/fhem-%Y-%m-%d.log,
2020.04.03 14:29:25.914 3: From the FHEM_GLOBALATTR environment: attr global updateInBackground 1,
2020.04.03 14:29:25.914 3: From the FHEM_GLOBALATTR environment: attr global pidfilename ./log/fhem.pid,
2020.04.03 14:29:25.919 1: Including fhem.cfg,
2020.04.03 14:29:26.217 1: WEB: Can't open server port at 8083: Address already in use. Exiting.,

kadettilac89

#853
Zitat von: thm12345 am 03 April 2020, 09:14:34
Hier kann ich aber nicht mit "-p" die Ports umlenken. Also habe ich eine vorkonfigurierte fhem.cfg in Verzeichnis für fhem_test abgelegt.

Zitat von: thm12345 am 03 April 2020, 14:40:52
Das ist ein Auszug aus meiner docker-compose.yml:
############################################
# Heimdall
# Port: 80 / 443
# FHEM
# Ports: 8083 / 8084 / 8085 / 7072
# FHEM Test
# Ports: 18083 / 18084 / 18085 / 17072
# mosquitto
# Ports: 1883 / 9001
# NodeRed
# Ports: 1880
# HA Bridge
# Port: 8080 / 50000
############################################
version: "2"
# Services
services:
# FHEM
# Ports: 8083 / 8084 / 8085 / 7072
.....
    volumes:
      - $PWD/fhem/fhem/data:/opt/fhem    <<<<<<<<<<<<<<<<<<<<<<<<<

# FHEM Test
# Ports: 18083 / 18084 / 18085 / 17072
# Die Ports werden durch eine vorkonfigurierte fhem.cfg ungebogen
  fhem_test:
    image: fhem/fhem
    container_name: fhem_test
    environment:
      FHEM_UID: 1000
.....
    volumes:
      - $PWD/fhem/fhem/data:/opt/fhem    <<<<<<<<<<<<<<<<<<<<<<<<<<<<
    network_mode: "service:fhem"
    depends_on:
      - nodered_fhem
    restart: unless-stopped

...



Den FHEM-Ordner habe ich von der Prod-Version, nach einem erfolgreichen Start, komplett nach Test kopiert und dann die fhem.cfg

Wenn du zwei verschiedene Container hast, solltest du dann nicht auch unterschiedliche Volumes nutzen? Wenn du den 2. Container startest dann liest er immer die selbe fhem.cfg. Selbes Verzeichnis mit der selben fhem.cfg hat dann natürlich die selben Ports die dann schon belegt sind. Oder wie soll das getrennt werden? Wo befindet sich das oben genannte "Verzeichnis für fhem_test abgelegt".

volschin

Also ich verstehe nicht, was Du dort mit dem Network_mode erreichen willst? Ist ein sehr unübliches Konstrukt, wenn auch laut Doku möglich. Du läufst möglicherweise in einen Port-Konflikt, da der FHEM-Container mehrere Ports öffnet.
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)