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

Offline FunkOdyssey

  • Hero Member
  • *****
  • Beiträge: 1411
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #45 am: 17 September 2018, 15:29:29 »
Ja, sieht gut aus. Alle Container aktualisiert.

Offline Shojo

  • Full Member
  • ***
  • Beiträge: 331
  • Wie, Was, Wo?
    • DER BASTELBUNKER / Meine kleinen Projekte…
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #46 am: 17 September 2018, 22:19:38 »
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:
......
Danke hat wunderbar geklappt :)
FHEM auf: Shuttle PC (x64) (Docker)
Bridge: SignalESP 433mHz, HM-MOD-RPI-PCB Mod auf ESP8266 , ConBee (deCONZ in Docker)
Rest: ESP8266, SONOFF, Sonos, Echo Dot, Xiaomi Vacuum, ESP RGBWW Wifi Led Controller, Node-RED, LEDMatrix

Offline devil77

  • Full Member
  • ***
  • Beiträge: 343
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #47 am: 11 Oktober 2018, 09:11:08 »
Hallo,
ich bekommen bei mir immer folgende Meldung im log
sort: cannot read: '/image_info.*': No such file or directoryWas hat das zu bedeuten? Kommt auch nachdem ich das Dockerfile aktualisiert habe.

Dockerimageinfo sieht so aus
CFGFN     
   CHANGED   
   NAME       DockerImageInfo
   NR         113
   STATE      ok
   TYPE       DockerImageInfo
   READINGS:
     2018-10-11 07:30:31   image.created   2018-10-10T05:08:23+0000
     2018-09-20 11:01:37   image.description A basic Docker image for FHEM house automation system, based on Debian Stretch.
     2018-09-24 11:38:11   image.documentation https://github.com/docker-home-automation-stack/fhem-docker/blob/9e476fccc8df4aa64c7d67a05ac0bf3f763bfcc5/README.md
     2018-09-20 11:01:37   image.licenses  MIT
     2018-09-24 11:38:11   image.revision  9e476fccc8df4aa64c7d67a05ac0bf3f763bfcc5
     2018-09-20 11:01:37   image.source    https://github.com/docker-home-automation-stack/fhem-docker/
     2018-09-20 11:01:37   image.title     fhem-amd64_linux
     2018-09-20 11:01:37   image.url       https://hub.docker.com/r/fhem/fhem-amd64_linux
     2018-09-20 11:01:37   image.vendor    FHEM
     2018-10-11 07:30:31   image.version   5.9-s17498_1.3.0-beta-1-g9e476fc-dev

Docker läuft bei mir auf einem Synology NAS.

Eine weitere Frage habe ich noch zum Health-Check. Wie funktioniert der genau und muss dazu der Telnet Port in Docker nach außen weitergeleitet werden?

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2945
  • ~ Challenging Innovation ~
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #48 am: 14 Oktober 2018, 12:27:47 »
ich bekommen bei mir immer folgende Meldung im log
sort: cannot read: '/image_info.*': No such file or directoryWas hat das zu bedeuten? Kommt auch nachdem ich das Dockerfile aktualisiert habe.

Ich habe dafür nochmals einen Fix eingecheckt, sollte damit hoffentlich dann gefixt bleiben.

Der Healthcheck funktioniert rein lokal auf dem FHEM Server innerhalb des Containers, es ist nicht notwendig den Telnet Port von außerhalb des Containers erreichbar zu haben. Das bedeutet, dass sowohl die Definition in FHEM nicht unbedingt "global" sein muss und dass auch keine Portweiterleitung für den Docker Container definiert werden muss.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

Docker-FHEM 5.10dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs, LG OLED 65C8, Sonos Playbar+2xOne+Sub, 2x Sonos One, 1x Sonos Play:1

Offline hoppel118

  • Full Member
  • ***
  • Beiträge: 238
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #49 am: 29 Oktober 2018, 22:37:52 »
Moinsen,

mit Begeisterung habe ich diesen Thread gefunden, da FHEM das einzige ist, was bei mir noch nicht dockerisiert ist/wurde.

FHEM läuft bei mir auf Openmediavault4 (Debian Stretch).

Folgende Fragen habe ich nun:

1. Werden die Daten in den Container übernommen, wenn ich den Ordner /opt/fhem in die Docker-Config einbinde, so dass ich /opt/fhem danach löschen kann oder ist es danach weiterhin als Config-Verzeichnis erforderlich? Oder soll ich lieber komplett von vorn anfangen und keine Altdaten übernehmen? Das wäre allerdings ziemlich heftig.
2. Soll/muss ich eine Netzwerkbridge konfigurieren oder geht auch Host-Modus? Bin der Meinung, dass ich gerade gelesen hatte, dass nur der Bridge-Modus funktioniert?
3. Ich nutze einen HM-CFG-USB. Wenn ich es richtig verstanden habe, muss ich den Container privilegiert starten. Gibt es dann noch etwas zu beachten?
4. Ich nutze momentan SSL. Funktioniert das auch mit diesem Docker Image? Was muss ich dabei beachten?
5. Ich nutze momentan zusätzlich eine Homebridge. Was sollte ich machen, um Homebridge auch weiterhin nutzen zu können? Brauche ich für die Homebridge einen extra Container oder kriegt man das irgendwie in diesen Container integriert?

Ich hoffe, die Fragen sind nicht allzu dumm. ;) Ich bin aber nicht ganz auf den Kopf gefallen. Habe einige Jahre Linux-Erfahrung. Bei Docker habe ich bisher allerdings lediglich fertige Container-Images installiert und konfiguriert. Der FHEM-Container wird meiner Einschätzung nach etwas aufwändiger.

Danke euch und Gruß Hoppel

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2945
  • ~ Challenging Innovation ~
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #50 am: 30 Oktober 2018, 09:11:02 »
1. Werden die Daten in den Container übernommen, wenn ich den Ordner /opt/fhem in die Docker-Config einbinde, so dass ich /opt/fhem danach löschen kann oder ist es danach weiterhin als Config-Verzeichnis erforderlich? Oder soll ich lieber komplett von vorn anfangen und keine Altdaten übernehmen? Das wäre allerdings ziemlich heftig.


Daten, die innerhalb eines Containers wären, sind nicht persistent. Deshalb braucht es immer ein externes Config Verzeichnis. Du kannst einfach /opt/fhem von deinem Host auch innerhalb des Containers verlinken oder das Verzeichnis auch woanders hin verschieben und von dort in den Container als Volume laden.


2. Soll/muss ich eine Netzwerkbridge konfigurieren oder geht auch Host-Modus? Bin der Meinung, dass ich gerade gelesen hatte, dass nur der Bridge-Modus funktioniert?


Das ist dem Image eigentlich egal, aber getestet und entwickelt wird das Image als Standalone. Docker Images generell im Host Modus zu betreiben ist nicht unbedingt der Grund, warum man Docker verwendet.

3. Ich nutze einen HM-CFG-USB. Wenn ich es richtig verstanden habe, muss ich den Container privilegiert starten. Gibt es dann noch etwas zu beachten?


Das weiß ich nicht, das ist eine Docker spezifische Frage, unabhängig von FHEM. Wahrscheinlich musst du aber auch noch das USB Device durchreichen. Wenn Umgebungen virtualisiert werden, dann ist es prinzipell immer eine gute Idee davon Abstand zu nehmen, Geräte durchreichen zu müssen. Ich empfehle einen Wechsel auf IP-only (z.B. CCU3 über HMCCU Modul).

4. Ich nutze momentan SSL. Funktioniert das auch mit diesem Docker Image? Was muss ich dabei beachten?


Sicher, es gibt nichts spezielles zu beachten, außer dass du alle Dateien eben im /opt/fhem Ordner haben musst, damit sie nicht verloren gehen können.

5. Ich nutze momentan zusätzlich eine Homebridge. Was sollte ich machen, um Homebridge auch weiterhin nutzen zu können? Brauche ich für die Homebridge einen extra Container oder kriegt man das irgendwie in diesen Container integriert?


Das Docker Konzept sieht generell vor, dass für jeden Prozess idealerweise ein eigener Docker Container besteht. Das selbe gilt für Homebridge, insbesondere auch, weil Homebridge tatsächlich im Host Modus betrieben werden muss.
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

Docker-FHEM 5.10dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs, LG OLED 65C8, Sonos Playbar+2xOne+Sub, 2x Sonos One, 1x Sonos Play:1

Offline hoppel118

  • Full Member
  • ***
  • Beiträge: 238
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #51 am: 04 November 2018, 00:16:57 »
Moinsen,

danke erstmal @Loredo für die Antworten. Habe sicher noch einiges zu lernen und zu verstehen im Thema Docker. ;)

Das letzte FHEM Update habe ich vor ca. 8 Monaten durchgeführt, so dass ich das gerade erstmal nachgeholt habe, um mit der Migration zu Docker sauber starten zu können. Nun möchte ich allerdings ein Bisschen abwarten, ob es durch das Update an sich irgendwelche Probleme gibt. Ich habe keine Lust mich nachher durch Fehler zu wühlen, ohne zu wissen, ob diese durch das FHEM Update oder die Docker-Migration entstanden sind. ;)

Ich melde mich wieder.

Viele Grüße Hoppel

Offline The-Holgi

  • Sr. Member
  • ****
  • Beiträge: 546
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #52 am: 19 November 2018, 10:44:34 »
Hallo,
erstmal besten Dank an Loredo.
Bin gerade dabei von meinem Raspberry auf einen HP Thin Client "umzuziehen".
Hat soweit auch gut geklappt, dank der Anleitung im github.
In portainer wird der container allerdings als "unhealty" angezeigt, woran könnte das liegen?

so sieht meine docker compose aus:
# This is an exmaple Docker Compose file to start your own Docker Stack

version: '2.3'

networks:
  net:
    driver: bridge
    # enable_ipv6: true
    ipam:
      driver: default
      config:
        - subnet: 172.27.0.0/24
          gateway: 172.27.0.1
        # - subnet: fd00:0:0:0:27::/80
        #   gateway: fd00:0:0:0:27::1

services:

  ####
  # HINT: use only ONE of the example "fhem:" service
  # definitions below !
  #


      # CONFIGTYPE: configDB



  # Example to connect USB to the container w/
  # privileged mode (not recommended for security reasons)
  fhem:
    image: fhem/fhem:latest
    restart: always
    privileged: true
    networks:
      - net
    ports:
      - "7072:7072"
      - "8083:8083"
    volumes:
      - "./fhem/:/opt/fhem/"
      - "/dev/ttyUSB0:/dev/ttyUSB0"
    environment:
      FHEM_UID: 6061
      FHEM_GID: 6061
      TIMEOUT: 10
      RESTART: 1
      TELNETPORT: 7072
      TZ: Europe/Berlin

Außerdem bekomme backup über bitbucket nicht hin:
holgi@debian:/docker/home$ sudo git push --force --set-upstream origin master
Permission denied (publickey).
fatal: Konnte nicht vom Remote-Repository lesen.

Bitte stellen Sie sicher, dass die korrekten Zugriffsberechtigungen bestehen
und das Repository existiert.
holgi@debian:/docker/home$
Hatte mich dazu vorher bei bitbucket mit usernamen theholgi angemeldet, was fehlt da wohl noch?







Gruß Holger
« Letzte Änderung: 19 November 2018, 20:24:36 von The-Holgi »
Raspberry Pi3; Fhem 5.8; 2X CUL V3 868mhz; Max Heizungssteuerung; 433mHz Rf Transmitter für Elro Zwischenstecker; 1wire DS18B20 Temperatursensoren; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2945
  • ~ Challenging Innovation ~
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #53 am: 19 November 2018, 21:43:11 »
In portainer wird der container allerdings als "unhealty" angezeigt, woran könnte das liegen?


Es wird eine Telnet Instanz benötigt, die zumindest auf Localhost hört. Die Instanz wird automatisch angelegt, wenn du  mit einer frischen FHEM Instanz startest. Bei einer bestehenden Instanz musst du das Gerät ggf. manuell hinzufügen:



defmod telnetPort telnet 7072


Außerdem bekomme backup über bitbucket nicht hin:
[...]
Hatte mich dazu vorher bei bitbucket mit usernamen theholgi angemeldet, was fehlt da wohl noch?


Was meinst du mit angemeldet, du meinst lokal von der Linux Shell aus?
Generell gibt es da zwei Möglichkeiten und die hängen davon ab, ob du das externe Repository mit SSH oder per HTTPS eingebunden hast. Beides funktioniert grundsätzlich, wobei SSH wahrscheinlich etwas einfacher ist. Dafür muss dein Linux Benutzer einen SSH Schlüssel erstellt haben und der Public Schlüssel muss bei Bitbucket hinterlegt werden, um den Zugriff zu gestatten. Google sollte dir da helfen:


https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html
https://confluence.atlassian.com/bitbucketserver/ssh-access-keys-for-system-use-776639781.html

FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

Docker-FHEM 5.10dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs, LG OLED 65C8, Sonos Playbar+2xOne+Sub, 2x Sonos One, 1x Sonos Play:1

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2945
  • ~ Challenging Innovation ~
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #54 am: 20 November 2018, 10:32:18 »
Zur Info:


Der Source Code für das Docker Image liegt jetzt unter github.com/fhem/fhem-docker
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

Docker-FHEM 5.10dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs, LG OLED 65C8, Sonos Playbar+2xOne+Sub, 2x Sonos One, 1x Sonos Play:1
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline The-Holgi

  • Sr. Member
  • ****
  • Beiträge: 546
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #55 am: 20 November 2018, 11:20:44 »
Hallo,
telnet ist definiert. Probleme gibt es wohl mit dem Passwort. Sobald ich ein Passwort in allowed_telnetPort setze kommt der Fehler Login denied via telnetPort_127.0.0.1_34158.
Wenn ich das attr password lösche ist der Fehler weg, die "Farbe"  des state Feldes in portainer wechselt dann von orange zu grün aber healthy steht dennoch da.
Woran könnte das liegen?
Auf dem Raspberry gab es keine Probleme (hatte das komplette backup des Raspberry in das fhem Verzeichnis des "neuen Rechners" entpackt).
Schon erstaunlich das der "Rest" so problemlos funktioniert.

Gruß Holger
Raspberry Pi3; Fhem 5.8; 2X CUL V3 868mhz; Max Heizungssteuerung; 433mHz Rf Transmitter für Elro Zwischenstecker; 1wire DS18B20 Temperatursensoren; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2945
  • ~ Challenging Innovation ~
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #56 am: 20 November 2018, 11:54:26 »
telnet ist definiert. Probleme gibt es wohl mit dem Passwort. Sobald ich ein Passwort in allowed_telnetPort setze kommt der Fehler Login denied via telnetPort_127.0.0.1_34158.
Wenn ich das attr password lösche ist der Fehler weg, die "Farbe"  des state Feldes in portainer wechselt dann von orange zu grün aber healthy steht dennoch da.
Woran könnte das liegen?

Der Zugriff von lokal muss ohne Passwort erlaubt sein. Das erreichst du, indem du "globalpassword" statt "password" im allowed Device setzt. Es darf kein Attribut "password" vorhanden sein. Also z.B.:

defmod allowed_telnetPort allowed
attr allowed_telnetPort globalpassword SHA256:AAAAAA:BBBBBBBBBBBBB
attr allowed_telnetPort validFor telnetPort
FHEM-Module: ENIGMA2, GEOFANCY, ONKYO_AVR, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

Docker-FHEM 5.10dev auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs, LG OLED 65C8, Sonos Playbar+2xOne+Sub, 2x Sonos One, 1x Sonos Play:1

Offline The-Holgi

  • Sr. Member
  • ****
  • Beiträge: 546
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #57 am: 20 November 2018, 12:15:25 »
Danke für den Tip, jetzt geht es. Das in portainer healthy anstatt running steht ist normal?

Gruß Holger
Raspberry Pi3; Fhem 5.8; 2X CUL V3 868mhz; Max Heizungssteuerung; 433mHz Rf Transmitter für Elro Zwischenstecker; 1wire DS18B20 Temperatursensoren; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

Offline FunkOdyssey

  • Hero Member
  • *****
  • Beiträge: 1411
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #58 am: 20 November 2018, 12:16:22 »
Ja

Offline The-Holgi

  • Sr. Member
  • ****
  • Beiträge: 546
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #59 am: 20 November 2018, 13:11:24 »
Supi,
dann muß ich jetzt nur noch die dashbutten mit dhcp und und den hyperion server ans laufen bekommen.
Habe hier einen dummy erstellt mit dem ich den Raspberry auf dem hyperion läuft herunterfahre:
"ssh pi@192.168.178.62 sudo shutdown -h now" das funktioniert leider nicht aus dem docker container nicht.

Gruß Holger
Raspberry Pi3; Fhem 5.8; 2X CUL V3 868mhz; Max Heizungssteuerung; 433mHz Rf Transmitter für Elro Zwischenstecker; 1wire DS18B20 Temperatursensoren; FS20kse; FS20UWS; FS20S8-3; 2 FS20DI; HM-CFG-LAN,HM-LC-SW1-PL,HM-SEC-SD, HM-SE1PBU-FM;
Harmony Hub;Hue-Bridge mit Iris, E27 Bulb & FLS-PP

 

decade-submarginal