Autor Thema: Offizielles FHEM Docker Basis Image für verschiedene Plattformen  (Gelesen 113766 mal)

Offline volschin

  • Hero Member
  • *****
  • Beiträge: 1525
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #840 am: 26 März 2020, 00:19:23 »
Was heißt denn „in letzter Zeit“? Letzte Änderung in Github war am 7.1.
RPi4 4GB+Docker+FHEM5.9,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland
HomeMatic: diverse, HUE: diverse, Hue-Bridge, RaspBee+deCONZ
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dot, Logi Circle 2

Offline eddy242

  • New Member
  • *
  • Beiträge: 48
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #841 am: 26 März 2020, 08:14:41 »
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.

Offline volschin

  • Hero Member
  • *****
  • Beiträge: 1525
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #842 am: 27 März 2020, 23:12:50 »
Lies dir aber mal auf der github-Seite durch, wie Du die Datei- und Vereichnisrechte mit -e steuern kannst.
RPi4 4GB+Docker+FHEM5.9,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland
HomeMatic: diverse, HUE: diverse, Hue-Bridge, RaspBee+deCONZ
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dot, Logi Circle 2

Offline Holzlenkrad

  • New Member
  • *
  • Beiträge: 31
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #843 am: 03 April 2020, 00:38:09 »
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.ä.?
« Letzte Änderung: 03 April 2020, 01:26:55 von Holzlenkrad »

Offline volschin

  • Hero Member
  • *****
  • Beiträge: 1525
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #844 am: 03 April 2020, 01:25:27 »
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.
RPi4 4GB+Docker+FHEM5.9,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland
HomeMatic: diverse, HUE: diverse, Hue-Bridge, RaspBee+deCONZ
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dot, Logi Circle 2

Offline Typ1er

  • Full Member
  • ***
  • Beiträge: 355
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #845 am: 03 April 2020, 01:49:20 »
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?

Offline thm12345

  • New Member
  • *
  • Beiträge: 18
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #846 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?


Offline volschin

  • Hero Member
  • *****
  • Beiträge: 1525
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #847 am: 03 April 2020, 09:16:24 »
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.
RPi4 4GB+Docker+FHEM5.9,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland
HomeMatic: diverse, HUE: diverse, Hue-Bridge, RaspBee+deCONZ
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dot, Logi Circle 2

Offline kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1108
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #848 am: 03 April 2020, 09:19:27 »
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.

Offline volschin

  • Hero Member
  • *****
  • Beiträge: 1525
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #849 am: 03 April 2020, 09:19:36 »
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.
RPi4 4GB+Docker+FHEM5.9,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland
HomeMatic: diverse, HUE: diverse, Hue-Bridge, RaspBee+deCONZ
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dot, Logi Circle 2

Offline Typ1er

  • Full Member
  • ***
  • Beiträge: 355
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #850 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?

Offline volschin

  • Hero Member
  • *****
  • Beiträge: 1525
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #851 am: 03 April 2020, 12:20:35 »
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.
RPi4 4GB+Docker+FHEM5.9,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland
HomeMatic: diverse, HUE: diverse, Hue-Bridge, RaspBee+deCONZ
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dot, Logi Circle 2

Offline thm12345

  • New Member
  • *
  • Beiträge: 18
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #852 am: 03 April 2020, 14:40:52 »
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.,

Offline kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1108
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #853 am: 03 April 2020, 16:39:21 »
Hier kann ich aber nicht mit "-p" die Ports umlenken. Also habe ich eine vorkonfigurierte fhem.cfg in Verzeichnis für fhem_test abgelegt.

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".
« Letzte Änderung: 03 April 2020, 16:41:36 von kadettilac89 »

Offline volschin

  • Hero Member
  • *****
  • Beiträge: 1525
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #854 am: 03 April 2020, 17:13:50 »
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.
RPi4 4GB+Docker+FHEM5.9,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland
HomeMatic: diverse, HUE: diverse, Hue-Bridge, RaspBee+deCONZ
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dot, Logi Circle 2