Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

Wernieman

Ich muß gestehen, das ich Docker-Images rein Netzwerkbasiert benutzen würde. D.h. keinen direkten Hardwareanschluß. USB-Geräte können teilweise auch über Netzwerk (ser2net o.Ä.) angesteuert werden, was ich bevorzugen würde. Nur läuft hier auch fhem auf einem Zotac und nicht ein Raspi. Sehe beim Pi direkt keinen Vorteil von Docker (und ich habe beruflich mit Docker zu tuen). Docker hat den Vorteil, wenn verschiedene Sachen parallel auf einen Rechner laufen müssen und man verschiedene Softwarestände braucht (oder einfacheres Update, einfacheres Testing). Beim Pi würde man aber relativ schnell für 2. (oder 3. 4. 5.) Software einen 2. (3. 4. 5.) Pi nehmen.
- 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

guhu

naja, das ist dann mehr was für Dogmatiker. Wenn man serielle Ports nutzen will, dann geht eben auch der priviliged mode und fertig. Ohne irgendwelche ser2net-Geschichten. So hab ich das bei mir laufen. Aber natürlich jeder so wie er mag.
FHEM 5.9 auf Synology DS918+ (in Docker), HM-CFG-USB2 mit hmlan, HM-CC-RT-DN, HM-SEC-SC-2, nanoCUL,a-culfw,deCONZ,Brennenstuhl-Steckdosen,-FB
Module:ENIGMA2,SONOS,FRITZBOX,FB_CALLLIST,WDT_TIMER,VCONTROL300,WITHINGS

Otto123

ZitatWenn man serielle Ports nutzen will, dann geht eben auch der priviliged mode und fertig.
Was hat das miteinander zu tun? Serielle Ports kann man ganz normal durchreichen - da braucht man mW keinen priviliged mode

Aber die Intentionen warum man docker verwenden will können ganz unterschiedlich sein.  ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wernieman

Das durchreichen von Hardware zu Docker macht es komplexer. Und frei nach dem Moto "Keep it Simpel" mache ich es einfach .. Kompliziert wird es von alleine ...

Also nix mit Dogmatik oder so!
- 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

Homalix99

Also Leute,

ich habe es hinbekommen mit den GPIOs auch ohne priveleged mode.
Habe auch ein externes Nas Laufwerk (auf Fritzbox) dem fhem Container zur Verfügung gestellt.
Vielen Dank für die Unterstützung.

Meine nächste Hürde ist Mariadb.
Die fertigen images beziehen sich meist auf Ubuntu und Alpine, habe aber debian buster installiert. Bei einem image mit eigenem Dockerfile erstellt, startet die Db nicht.
Es hat doch vermutlich jemand hier mariadb in einem Dockercontainer unter buster laufen. Dazu bräuchte ich ein paar Tipps

VG

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

Otto123

Hallo Alex,

das hier ? https://hub.docker.com/_/mariadb/ dein debian buster hat doch nix mit dem container image zu tun? Oder was versteh ich falsch?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Homalix99

Hallo Otto,

scheint aber schon so. Hab ich ja gleich zu Anfang ausgeführt, weil ich dachte es ist ja ein offizielles image zu mariadb.
Das docker pull mariadb führt bei docker folgender Ausgabe:
no matching manifest for linux/arm/v7 in the manifest list entries

Nach Fehlermeldung gegoogelt in entsprechenden Foren sagt aus, dass die offiziellen mariadb mysql images scheinbar nur auf Basis von 64 bit  OS erstellt wurden.
Und Buster läuft als 32 bit OS.

Gruß

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

ch.eick

#1147
Zitat von: Homalix99 am 15 März 2021, 12:21:27
Das docker pull mariadb führt bei docker folgender Ausgabe:
no matching manifest for linux/arm/v7 in the manifest list entries

Nach Fehlermeldung gegoogelt in entsprechenden Foren sagt aus, dass die offiziellen mariadb mysql images scheinbar nur auf Basis von 64 bit  OS erstellt wurden.
Und Buster läuft als 32 bit OS.
Hallo Alex,
ich habe auch einen RPI 4 noch mit 32 Bit, versuche mal diese Definition. phpMyAdmin läuft dann auch.


  mysql:
    image: hypriot/rpi-mysql    <<< Das ist 32 Bit für ARM
    restart: always
    ports:
        - '3306:3306'
        - '33060:33060'
    volumes:
        - ./mysql/init.sql:/docker-entrypoint-initdb.d/fhem-init.sql
        - ./mysql/data:/var/lib/mysql
        - ./mysql/log:/var/log
        - ./mysql/mycustom.cnf:/etc/mysql/conf.d/custom.cnf
    environment:
        MYSQL_ROOT_PASSWORD: <Passwort>
        MYSQL_DATABASE: fhem
        MYSQL_USER: <Dein Fhem user inder DB>
        MYSQL_PASSWORD: <Passwort>

  phpMyAdmin:
    image: jackgruber/phpmyadmin
    restart: always
    ports:
        - '8082:80'
    links:
        - mysql
    environment:
        PMA_HOST: mysql
        PMA_PORT: 3306
    depends_on:
      - "mysql"


Auch ein Boot von SSD ohne SD-Card ist möglich und zu empfehlen. An der 64 Bit Installation bin ich noch dran.

Momentan boote ich mit Buster 32 Bit von SSD und habe die SSD dann gemounted. Eine DB auf der SD-Card wäre wegen der Lebensdauer nicht ratsam.
Der Boot ohne SD-Card direkt von der SSD läuft auch schon, sogar mit 64 Bit.
Dann müssen aber noch alle Docker Container auch auf 64 Bit umgestellt werden.
Und niemals das Backup vergessen!!!

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Wernieman

@Homalix99
Dein Problem liegt nicht an buster (oder Debian /Ubuntu), sondern an 32 zu 64 Problem.

Du kannst, wie von ch.eick angegeben den rpi-mysql verwenden (wobei mich dort das "Updated 3 years ago" stört), oder selberbauen. Dockerfiles werden von den meisten Projekten mit angegeben, hier z.B. https://github.com/hypriot/rpi-mysql/blob/master/Dockerfile
- 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

Otto123

Zitat von: Wernieman am 15 März 2021, 12:59:59
@Homalix99
Dein Problem liegt nicht an buster (oder Debian /Ubuntu), sondern an 32 zu 64 Problem.
und am "no matching manifest for linux/arm/v7 in the manifest list entries" Problem.
@Homalix99 hattest Du nicht erwähnt ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

ch.eick

Zitat von: Wernieman am 15 März 2021, 12:59:59
@Homalix99
Dein Problem liegt nicht an buster (oder Debian /Ubuntu), sondern an 32 zu 64 Problem.

Du kannst, wie von ch.eick angegeben den rpi-mysql verwenden (wobei mich dort das "Updated 3 years ago" stört), oder selberbauen. Dockerfiles werden von den meisten Projekten mit angegeben, hier z.B. https://github.com/hypriot/rpi-mysql/blob/master/Dockerfile
Das stört mich auch, aber soviel Docker kann ich noch nicht ;-)
Und ich wollte halt direkt auf das 64 Bit Buster wechseln, wo dann eventuell auch ein aktuelles MySQL verfügbar ist.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Homalix99

Vielen Dank,

der mariadb container läuft.
Hat zwar das fhem-init.sql nicht ausgeführt, habe aber erstmal ein Backup des bestehenden Prod. Systems eingespielt.
@ch.eick:
Das mit der boot from SSD werde ich auf alle Fälle realisieren. Dazu brauche ich vermutlich einen USB Hub, da die SSD 1 Ampere zieht und der RPi das nicht lieferen kann.

Gruß

Alex
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

ch.eick

Zitat von: Homalix99 am 15 März 2021, 16:09:27
Hat zwar das fhem-init.sql nicht ausgeführt, habe aber erstmal ein Backup des bestehenden Prod. Systems eingespielt.
no duplicate key nicht vergessen :-)

Zitat
Das mit der boot from SSD werde ich auf alle Fälle realisieren. Dazu brauche ich vermutlich einen USB Hub, da die SSD 1 Ampere zieht und der RPi das nicht lieferen kann.
Am RPI 4 ist ein USB3, der bei mir genügend Leistung liefert. Eventuel mal nach einer anderen SSD schauen.
eventuel ist in der cmdline.txt die option "usb-storage.quirks" notwendig, wenn die SSD mit dem USB3 nicht 100% kompatiebel ist.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Homalix99

@ch.eick:
Hallo Christian.
Noch ein Verständnisproblem zu mariaDB: Das läuft ja jetzt stabil in einem eigenen Container, am bestehenden Lifesystem ja noch nicht separiert. Das Bindeglied zwischen fhem und der mysql DB ist ja die db.conf
Wie muss diese angepasst werden, damit der Zugriff auf die DB funktioniert?
Jedenfalls kann fhem die DB nicht erreichen.

zu SSD:
Zitat
Am RPI 4 ist ein USB3, der bei mir genügend Leistung liefert. Eventuel mal nach einer anderen SSD schauen.
eventuel ist in der cmdline.txt die option "usb-storage.quirks" notwendig, wenn die SSD mit dem USB3 nicht 100% kompatiebel ist.
Da ich 6 USB Ports belegt habe (HUB ist am Prod.System) wird die max. Gesamtleistung des RPi überschritten. Also eben USB-HUB, aber den kann ich erst beim filalen Umzug auf den neuen RPi-4 einsetzen.
- RPI 4 fhem in Docker, 2 x Arduino Uno, HM-GW, HM-Dev. (Fensterkontakte, HK-Thermostate, div. Aktoren), JeeLink,
- GPIOs, HM-LAN, ESPs (MQTT2)
-Überwachung Fenster/Türen/Licht, HK-Thermostatregelung, Rollosteuerung, Überw. Betriebstemperaturen Heizung, Erfassung Gas/Wasser, PV-Anl., Wetter (WS1600)

Dirk070

#1154
Hallo zusammen,

vorab, ich bin in dem Thema Docker noch relativ neu und habe versucht, die Infos zu meinem Problem zu finden.
Ich brauche nun aber doch ein wenig Unterstützung, bitte.

Situation:
FHEM läuft im hier besprochenen Docker-Image auf der Syno (Dafür vielen Dank, das läuft schon seit langem super!!)
Nun möchte ich mit dem DoorBird Fotos und Videos auf dem Volume anlegen.
Dazu habe ich die entsprechenden Ordner im Volume-Tab (Syno) zugeordnet und im DoorBird-Modul eingetragen.
Soweit, so gut. Die Files bekommen als Besitzer und Gruppe "6061". Der User und die Gruppe existieren auf der Syno nicht.
Damit werden die Files teils nicht in der Video-/Photo-Station indiziert und mit meinem "normalen" User habe ich keinen Zugriff.

Erste Idee: Gruppe "6061" angelegt und einen meiner User zugeordnet.
Problem: die Files haben für die Gruppe die Berechtigung "lesen", um die Videos abzuspielen braucht es "ausführen".

Zweite Idee: Ändern FHEM_UID und FHEM_GID von "6061" auf einen existierenden User und Gruppe.
Keine gute Idee, der Container startet nicht mehr. Also Kommando zurück.
Liegt wohl daran, dass die Files im FHEM-Verzeichnis auch alle mit dem User "6061" angelegt wurden und nach dem Wechsel dann nicht mehr korrekt im Zurgfif sind?!?!?

Frage: wie kann ich die erzeugten Files mit den korrekten Berechtigungen/User/Gruppe erzeugen?

Danke Euch vorab und schöne Grüße
Dirk