Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

Otto123

@slupus Noch ein Tipp: betrachte den Container nicht als "Deinen" Host, verbiege ihn nicht unnötig und lass ihn so weit wie möglich so wie er ist. Das ist entspannter  ;D ;D ;D

Warum müssen andere user die Dateien lesen/schreiben? mM nach einer der Fehlerquellen schlechthin. Sozusagen schlechter Umgang :)
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

kadettilac89

Zitat von: slupus am 30 Dezember 2021, 14:44:13
Bleibt dennoch die Frage, was mit den Berechtigungen ist und wie diese greifen. Oder habe ich auch hier etwas nicht verstanden? Ich würde erwarten, dass das Verzeichnis auf dem Host entsprechend der Environment-Werte gesetzt wird. Leider sieht es aber wie folgt aus, hätte aber gerne 0754 für Verzeichnisse und 0644 für Files:


Nutze als Trenner ein Gleichheitszeichen und keinen Doppelpunkt wie in der Doku beschrieben

FHEM_PERM_DIR=0754 statt :0754

        environment:
            # - 'APT_PKGS=package1 package2'
            - LOGFILE=./log/fhem-%Y-%m.log
            - FHEM_PERM_DIR:0754     <<<<<<<<< FHEM_PERM_DIR=0754
            - FHEM_PERM_FILE:0644     <<<<<<<<<<
            - UMASK=0033
            - TZ=Europe/Berlin
            - TELNETPORT=7073

Wernieman

OT:
Ich Troddel .. das ich das nicht gesehen habe ..... hast Gute Augen kadettilac89 ....
- 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

#1398
ich hatte das oben auch noch ergänzt mit den Gleichheitszeichen - ihr schreibt zu schnell :)
Und es funktioniert mit den Variablen, gerade probiert:
Meine yml (TZ steht in der .env)
services:
  fhem:
    image: ghcr.io/fhem/fhem-experimental:dev
    container_name: fhem
    hostname: fhem
    restart: always
    ports:
      - "8083:8083"
      - "1883:1883"
    environment:
      - TZ
      - FHEM_PERM_DIR=0754
      - FHEM_PERM_FILE=0644
    volumes:
      - "./fhem/:/opt/fhem/"

total 820K
drwxr-xr-- 14 fhem fhem 4,0K Dez 30 15:25 .
drwxr-xr-x  1 root root 4,0K Nov 24 22:42 ..
-rw-r--r--  1 fhem fhem 361K Nov 24 21:44 CHANGED
-rw-r--r--  1 fhem fhem  42K Nov 24 21:44 configDB.pm
drwxr-xr-- 52 fhem fhem 4,0K Nov 24 21:54 contrib
-rw-r--r--  1 fhem fhem  18K Nov 24 21:44 COPYING
drwxr-xr--  3 fhem fhem 4,0K Nov 24 21:54 demolog
drwxr-xr--  4 fhem fhem 4,0K Dez 30 15:25 docs
drwxr-xr--  6 fhem fhem  20K Dez 30 15:24 FHEM
-rw-r--r--  1 fhem fhem 2,2K Dez 30 15:25 fhem.cfg
-rw-r--r--  1 fhem fhem  516 Dez 30 15:25 fhem.cfg.default
-rw-r--r--  1 fhem fhem  25K Nov 24 21:44 fhem.cfg.demo
-rwxr--r--  1 fhem fhem 166K Nov 24 21:44 fhem.pl
-rw-r--r--  1 fhem fhem  18K Nov 24 21:44 GPL_V2.txt
-rw-r--r--  1 fhem fhem  28K Nov 24 21:44 HISTORY
drwxr-xr--  3 fhem fhem 4,0K Nov 24 21:54 lib
drwxr-xr--  2 fhem fhem 4,0K Dez 30 15:25 log
-rw-r--r--  1 fhem fhem  44K Nov 24 21:44 MAINTAINER.txt
-rw-r--r--  1 fhem fhem 5,0K Nov 24 21:44 Makefile
drwxr-----  3 fhem fhem 4,0K Dez 30 15:25 .npm
-rw-r--r--  1 fhem fhem   25 Nov 24 21:44 .proverc
-rw-r--r--  1 fhem fhem  935 Nov 24 21:44 README_DEMO.txt
-rw-r--r--  1 fhem fhem  374 Nov 24 21:44 README.SVN
drwx------  2 fhem fhem 4,0K Dez 30 15:25 .ssh
drwxr-xr--  3 fhem fhem 4,0K Nov 24 21:54 t
drwxr-xr--  3 fhem fhem 4,0K Nov 24 21:54 thirdparty
-rw-r--r--  1 fhem fhem 2,7K Nov 24 21:44 UPGRADE
drwxr-xr--  6 fhem fhem 4,0K Nov 24 21:54 webfrontend
drwxr-xr--  8 fhem fhem 4,0K Nov 24 21:54 www

Versus Original ohne die Variablen
total 928K
drwxr-x--- 17 fhem fhem 4,0K Dez 22 13:31 .
drwxr-xr-x  1 root root 4,0K Nov 23  2020 ..
drwxr-x---  2 fhem fhem 4,0K Apr 24  2021 backup
-rw-r-----  1 fhem fhem  231 Feb  4  2021 .bash_history
drwxr-x---  2 fhem fhem 4,0K Dez 28 22:11 cache
-rw-r-----  1 fhem fhem 356K Jun 29  2021 CHANGED
drwxr-x---  3 fhem fhem 4,0K Jan 11  2021 .config
-rw-r-----  1 fhem fhem  41K Apr 24  2021 configDB.pm
drwxr-x--- 48 fhem fhem 4,0K Nov 16  2020 contrib
-rw-r-----  1 fhem fhem  18K Sep 18  2020 COPYING
drwxr-x---  3 fhem fhem 4,0K Sep 18  2020 demolog
drwxr-x---  4 fhem fhem 4,0K Jan 11  2021 docs
-rwxr-----  1 fhem fhem   78 Jan 14  2021 ext_Script.sh
drwxr-x---  6 fhem fhem  20K Jun 29  2021 FHEM
-rw-r-----  1 fhem fhem  42K Dez 22 13:31 fhem.cfg
-rw-r-----  1 fhem fhem  42K Dez 21 22:52 fhem.cfg.bak
-rw-r-----  1 fhem fhem  516 Jan 11  2021 fhem.cfg.default
-rw-r-----  1 fhem fhem  25K Sep 18  2020 fhem.cfg.demo
-rwxr-----  1 fhem fhem 165K Jun 29  2021 fhem.pl
-rw-r-----  1 fhem fhem  18K Nov  2  2020 GPL_V2.txt
-rw-r-----  1 fhem fhem  28K Sep 18  2020 HISTORY
drwxr-x---  3 fhem fhem 4,0K Sep 18  2020 lib
drwxr-x---  2 fhem fhem 4,0K Dez 30 09:19 log
-rw-r-----  1 fhem fhem  43K Jun 29  2021 MAINTAINER.txt
-rw-r-----  1 fhem fhem 5,0K Sep 18  2020 Makefile
drwxr-x---  3 fhem fhem 4,0K Feb  3  2021 .npm
-rw-r-----  1 fhem fhem   25 Sep 18  2020 .proverc
-rw-r-----  1 fhem fhem  935 Sep 18  2020 README_DEMO.txt
-rw-r-----  1 fhem fhem  374 Sep 18  2020 README.SVN
drwxr-x---  4 fhem fhem 4,0K Jan 12  2021 restoreDir
-rw-r-----  1 fhem fhem   28 Feb  4  2021 run.txt
-rwxr-----  1 fhem fhem 2,3K Jan 13  2021 setupBackupFhem2Cifs.sh
drwx------  2 fhem fhem 4,0K Dez 22 13:31 .ssh
drwxr-x---  3 fhem fhem 4,0K Sep 18  2020 t
-rw-r-----  1 fhem fhem 2,2K Sep 18  2020 UPGRADE
drwxr-x---  6 fhem fhem 4,0K Sep 18  2020 webfrontend
-rw-r-----  1 fhem fhem  180 Apr 29  2021 .wget-hsts
drwxr-x---  9 fhem fhem 4,0K Jan 12  2021 www
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

P.A.Trick

Zitat von: maddhin am 30 Dezember 2021, 13:54:05
.....

Wobei ich jetzt nicht weiß, ob die Wartung einfacher ist. Im Grunde macht die docker-compose doch einen stack aus mehreren einzelnen Containern, oder? D.h. man muss so oder so jeden Container warten. Wenn man natürlich MQTT, Homebridge, etc. gleich über "environment" in den FHEM container packen kann, wäre das viel besser. Gibt es dazu irgendwo Anleitungen?
.....

Schau mal ob dir das hier hilft! https://github.com/stormmurdoc/fhemdocker

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

slupus

Vielen Dank euch allen!
Es lag am Image fhem/fhem, bei dem die Environments Werte offensichtlich nicht greifen. Ich war der Meinung, ich hätte bei den Tests auf das Image von Cooltux (ghcr.io/fhem/fhem-experimental:dev) gewechselt, leider habe ich das übersehen. Sorry für die Verwirrung!

Wernieman

#1401
Un dnoch etwas, weil Du schriebst "alles in einen Container" ... Docker ist KEINE VM. Die idee ist gerade, jeden "Service" in einen eigenen Container zu packen, um es einfacher zu machen.

Bei mir ist z.B. deshalb lirc in einen eigenen Container. Gibt zwar ein FHEM Modul dafür, das pollt aber (nicht event passiert). Mein Container pushed aber die Daten zu fhem und ist damit "schneller" und einfach zu warten .... weil unabhängig von FHEM
- 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

maddhin

es scheint, als könnte man das Image nicht mehr updaten. Oder mache ich etwas falsch?

root@13382b35a20d:/opt/fhem# sudo apt-get update
sudo: error in event loop: Operation not permitted
sudo: unexpected child termination condition: 0
Get:1 http://security.debian.org/debian-security bullseye-security InRelease [44,1 kB]
Get:2 http://deb.debian.org/debian bullseye InRelease [116 kB]           
Get:3 http://deb.debian.org/debian bullseye-updates InRelease [39,4 kB]   
Hit:4 https://deb.nodesource.com/node_14.x bullseye InRelease                         
Err:1 http://security.debian.org/debian-security bullseye-security InRelease
  At least one invalid signature was encountered.
Err:2 http://deb.debian.org/debian bullseye InRelease
  At least one invalid signature was encountered.
Err:3 http://deb.debian.org/debian bullseye-updates InRelease
  At least one invalid signature was encountered.
Reading package lists... Done
W: GPG error: http://security.debian.org/debian-security bullseye-security InRelease: At least one invalid signature was encountered.
E: The repository 'http://security.debian.org/debian-security bullseye-security InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://deb.debian.org/debian bullseye InRelease: At least one invalid signature was encountered.
E: The repository 'http://deb.debian.org/debian bullseye InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://deb.debian.org/debian bullseye-updates InRelease: At least one invalid signature was encountered.
E: The repository 'http://deb.debian.org/debian bullseye-updates InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.


Ich hänge im Moment, weil ich keine packages installieren kann.

Otto123

sieht nach dem ghcr.io/fhem/fhem-experimental:dev aus? Update funktioniert bei mir. Deine Meldungen klingen als hast Du da was kaputt gemacht.
Zerstöre den Container und mach in einfach neu.
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

maddhin

Zitat von: Otto123 am 07 Januar 2022, 10:18:02
sieht nach dem ghcr.io/fhem/fhem-experimental:dev aus? Update funktioniert bei mir. Deine Meldungen klingen als hast Du da was kaputt gemacht.
Zerstöre den Container und mach in einfach neu.

ja, ich nutze dieses Image. Habe jetzt den Container mehrmals mit docker-compose up -d --build --force-recreate neu aufgesetzt. Aber es hat sich nichts geändert.

Das einzige, was ich ausserhalb des Containers gemacht habe, ist mal FHEM in die Sudoers eingetragen. Das habe ich aber rückgängig gemacht. Kann es sein, dass da etwas kaputt gegangen ist? Wie kann ich wissen, ob in dieser Hinsicht alles korrekt ist?

Lieben Dank für Eure Hilfe! 

Otto123

#1405
Ich bin nicht so fit in allen docker Dingen, aber ich mache es so:
Wenn Du nur einen container rennen hast, sonst hinter -s den SERVICENAMEN angeben
docker-compose rm -s
docker-compose up -d


Das mit dem user fhem außerhalb des containers kann ich gedanklich nicht nachvollziehen - weiß nicht was da passieren kann.

BTW: wenn ich die Bedeutung von --build --force-recreate anschaue bin ich der Meinung beide Optionen sind hier nicht richtig verwendet.  Aber mag sein ich verstehe das falsch ???
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

Bei Problemen:
docker-compose down
docker-compose build
docker-compose up -d


Beim Down sollte docker-compose eigentlich aufreumen. Bei größeren Problemen, wie hier, kann und sollte) man docker cleanen, also "docker system prune -af"

Hinweis: -af wirklich nur bei Problemen! Normaler also nur "docker system prune"

fhem in die sudo auf dem Host zu nehmen ist .... sorry aber "totaler Schwachsin". Die externe sudo wird innerhalb des Containers nicht verwendet. Bitte sudo immer sehr vorsichtig einsetzen. In Zweifelsfalle immer eher zuwenig als zufiel, oder gleich "gar nicht".
- 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

maddhin

Zitat von: Wernieman am 07 Januar 2022, 13:40:44
fhem in die sudo auf dem Host zu nehmen ist .... sorry aber "totaler Schwachsin".

Eine Verzweiflungstat, weil ich nicht nachvollziehen konnte, wo das Problem liegt. Ich hatte versucht die Amazon Echos mit dem Modul 37_echodevice zum Laufen zu bringen. Da wird ein npm Modul alexa-cookie2 installiert und irgendwie npm/nodejs benutzt und zum Teil automatisch was installiert. Irgendwie muss es da was zerschossen haben.

Wenn ich "down" etc mache, bleiben dann meine Daten bestehen? Oder geht das alles kaputt? Ich habe Backups, aber bisher noch kein "recovery" durchgespielt...

Wernieman

Wenn DU Verzeichnisse "extern" hast, dann bleiben sie. Alle Daten innerhalb des Containers, welche eben externe nicht gespcieht wurden, sind mit dem Container "weg".

Laut Deiner docker-compose.yml ein paar Beiträger vorher, hast Du /opf/fhem zu extern ./fhem gemontet (Stichwort volumes). Die bleiben. Da nichts anderes Verbunden hast, ist alles andere "weg".
- 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

maddhin

Zitat von: Wernieman am 07 Januar 2022, 14:36:47
Wenn DU Verzeichnisse "extern" hast, dann bleiben sie. Alle Daten innerhalb des Containers, welche eben externe nicht gespcieht wurden, sind mit dem Container "weg".

Laut Deiner docker-compose.yml ein paar Beiträger vorher, hast Du /opf/fhem zu extern ./fhem gemontet (Stichwort volumes). Die bleiben. Da nichts anderes Verbunden hast, ist alles andere "weg".

ja, habe ich!

Lieben Dank!