Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

Der alexa-fhem Connector braucht keinen Port 3000 und auch die Weiterleitung nicht mehr.
Außer: du willst einen eigenen Smart Home oder Custom Skill betreiben...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Sidey

Zitat von: michisa86888 am 01 März 2023, 22:02:30
Vielen Dank euch beiden schon einmal. Echt cooler support hier!!!

Danke dass Du so viel ausprobiert hattest. Einen kleines Fehlerchen habe ich ja auch beseitigt.


Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

michisa86888

#1877
Ja gerne teste ich soviel, ich hatte ja schließlich auch das Problem  :)

Aber jetzt hätte ich noch ein anderes Thema. Meine nächste Baustelle wäre DBlog mit MySQL.
Würde MySql dann ebenfalls gerne in einem Container laufen lassen. Diesen Container könnte ich doch in die vorhandene Stack mit einbauen oder?
Bin mir nur unsicher was da mit rein soll, damit die Anbindung an FHEM dann funktioniert?
Sollte ich noch irgendwelche Enviroments in den FHEM Container mit aufnehmen?
environment:
      FHEM_UID: 6061
      FHEM_GID: 6061
      TIMEOUT: 10
      RESTART: 1
      TELNETPORT: 7072
      TZ: Europe/Berlin




Zitat von: MadMax-FHEM am 01 März 2023, 22:41:13
Der alexa-fhem Connector braucht keinen Port 3000 und auch die Weiterleitung nicht mehr.
Außer: du willst einen eigenen Smart Home oder Custom Skill betreiben...

Gruß, Joachim
Heisst das ich kann die Portfreigabe in meinem Stack löschen oder z.B. auf Port 3002 legen?
Kann mein Grafana so auf Port 3000 nicht starten

Sidey

#1878
Zitat von: michisa86888 am 02 März 2023, 20:40:22
Würde MySql dann ebenfalls gerne in einem Container laufen lassen. Diesen Container könnte ich doch in die vorhandene Stack mit einbauen oder?


Pauschal gesagt, kannst Du mehrere Container im Stack definieren.
Die Konfigurationsoptionen sind je nach verwendetem Image unterschiedliche. Ich verwende ein mariadb Image von Linux-Server:

db:
    image: linuxserver/mariadb
    container_name: mariadb
    environment:                                                 
     - PGID=1003
     - MYSQL_ROOT_PASSWORD=xxxxxx
     - REMOTE_SQL="https://svn.fhem.de/trac/export/22390/trunk/fhem/contrib/dblog/db_create_mysql.sql"
     - TZ=Europe/London
    volumes:                                                     
     - ./data:/config
    restart: unless-stopped
    labels:
      - "diun.enable=true"
    networks:
     - fhem_net


Das kannst Du als Beispiel nehmen.
Den Datenbank Container lasse ich als User 1003 laufen, da ich noch ein Backup der Daten implementiert habe.

Erreichbar ist er im fhem_net und für FHEM unter dem Hostnamen "DB" erreichbar.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

michisa86888

Okay werde ich mal probieren. Kurze Frage noch dazu - sollte man das volume auch wieder auslagern aus dem Container?
Also z.B. bei mir:
  volumes:                                                     
- /volume1/docker/mariadb/:/data:/config

Sidey

Zitat von: michisa86888 am 04 März 2023, 12:02:35
Okay werde ich mal probieren. Kurze Frage noch dazu - sollte man das volume auch wieder auslagern aus dem Container?
Also z.B. bei mir:
  volumes:                                                     
- /volume1/docker/mariadb/:/data:/config


Unbedingt ja. Das hatte ich ja in meinem Beispiel auch enthalten.
Daten in Containern sind flüchtig, nur was als Volume ausgelagert wird, bleibt erhalten, wenn ein neuer Container gestartet wird.

Einen neuen Container startest Du bei jeder Aktualisierung des Images, also so ~ 1-2 mal pro Monat.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

michisa86888

#1881
Okay, neuer Stack läuft soweit. Habt ihr vielleicht eine gute Anleitung wie man MariaDB und FHEM unter Docker einrichtet? Habe noch keine Erfahrung mit MySQL
Und gibt es für MariaDB auch eine Weboberfläche?

Wernieman

Es gibt Programme zum Administrieren von mySQL per WEB, z.B. phpmysql, gibt aber noch vieieiele Andere. Ich persönlich würde es aber eher auf der Konsole machen ... so häufig geht man nicht an die Datenbank. mySQL und MariaDB selber haben keine Oberfläche.

(Und mit phpmysql habe ich  mir "damals" mal eine DB zerschossen ... und ein gebranntes Kind scheut das Feuer)
- 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

GammaTwin

Zitat von: Sidey am 25 Februar 2023, 18:11:25
Das Aktuelle FHEM Image hat Version 3 und lautet `ghcr.io/fhem/fhem/fhem-docker:3-bullseye`

Grüße,

ist dies das selbe image wie fhem/fhem?
oder ist ghcr.io etwas anderes als der Docker Hub?

Sidey

Zitat von: GammaTwin am 04 März 2023, 15:11:39
Grüße,

ist dies das selbe image wie fhem/fhem?
oder ist ghcr.io etwas anderes als der Docker Hub?

Die Images werden sowohl in docker hub als auch github container registry gespeichert. Sie sind somit identisch.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

michisa86888

Zitat von: Sidey am 04 März 2023, 12:09:19
Unbedingt ja. Das hatte ich ja in meinem Beispiel auch enthalten.
Daten in Containern sind flüchtig, nur was als Volume ausgelagert wird, bleibt erhalten, wenn ein neuer Container gestartet wird.

Einen neuen Container startest Du bei jeder Aktualisierung des Images, also so ~ 1-2 mal pro Monat.

Grüße Sidey

Habe nun ein FHEM Device nach Wiki angelegt.
define logdb DbLog ./db.conf .*:.*

Dieses bekommt aber folgende Fehlermeldung:
state   DBI connect('database=fhem;host=db;port=3306','1003',...) failed: Access denied for user '1003'@'fhem-fhem-1.fhem_fhem_net' (using password: YES) at ./FHEM/93_DbLog.pm line 2553

db.conf habe ich angelegt und in /fhem abgespeichert.
%dbconfig= (
    connection => "mysql:database=fhem;host=db;port=3306",
    user => "1003",
    password => "xxxxxx",
);

Sidey

Zitat von: michisa86888 am 05 März 2023, 13:12:57


db.conf habe ich angelegt und in /fhem abgespeichert.
%dbconfig= (
    connection => "mysql:database=fhem;host=db;port=3306",
    user => "1003",
    password => "xxxxxx",
);


Du müsstest den User 1003 mit dem genannten Passwort auf die Datenbank berechtigen.
Dann sollte es gehen.

Das verlinkte Script legt allerdings einen Nutzer mit dem Namen fhemuser an.


Details sieht: https://svn.fhem.de/trac/export/22390/trunk/fhem/contrib/dblog/db_create_mysql.sql

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

michisa86888

Zitat von: Sidey am 05 März 2023, 13:41:36
Du müsstest den User 1003 mit dem genannten Passwort auf die Datenbank berechtigen.
Dann sollte es gehen.

Das verlinkte Script legt allerdings einen Nutzer mit dem Namen fhemuser an.


Details sieht: https://svn.fhem.de/trac/export/22390/trunk/fhem/contrib/dblog/db_create_mysql.sql

Grüße Sidey
Okay indemfall habe ich das ganze auf den fhemuser geändert. Das Password für den root-user ist doch das das ich im Stack angegeben habe.
Will mich über Portainer auf die Konsole vom MariaDB Container schalten. Hier kommt es aber zu einem Rechteproblem:
root@a16319f0a176:/# mysql -u root -p
Warning: World-writable config file '/etc/my.cnf.d/custom.cnf' is ignored
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)


Der nächste Schritt wäre aber dann

rallye

#1888
Hallo zusammen! Ich hatte FHEM, Alexa, deCONZ und alles Mögliche und unmögliche begonnen zu "containerisieren". Alles funktioniert einwandfrei, nur FHEM-Alexa bekomme ich nicht auf die Reihe, obwohl es in der alten Installation, als ich noch keine Container verwendet habe klaglos gelaufen ist. Ehrlich: wegen Alexa will ich nicht zurücksteigen. Ich versuche das Ganze erstmal auf meinem Raspi-Testsystem zum Laufen zu bringen und habe hier die minimale Konfiguration und auch eine nahezu leere fhem.cfg.
Meine compose.yaml sieht so aus:
version: '3'
services:

  portainer:
    image: portainer/portainer-ce:latest
    container_name: portainer
    ports:
      - "8000:8000"
      - "9443:9443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
    restart: unless-stopped
#
#
  fhem:
    image: ghcr.io/fhem/fhem/fhem-docker:latest
    container_name: fhem
    hostname: fhem
    restart: always
    ports:
      - "1883:1883"
      - "8883:8883"
      - "8083:8083"
      - "8084:8084"
      - "8085:8085"
      - "7072:7072"
    volumes:
      - /opt/fhemdocker/:/opt/fhem/
    environment:
      FHEM_UID: 999
      FHEM_GID: 20
      TZ: Europe/Vienna
#
  alexa-fhem:
    image: ghcr.io/fhem/fhem/alexa-fhem:latest
    container_name: alexa-fhem
    restart: always
#    networks:
#     - fhem_net
    ports:
      - "3000:3000"
    volumes:
      - /opt/alexa-fhem/:/alexa-fhem/"
    environment:
      ALEXAFHEM_UID: 6062
      ALEXAFHEM_GID: 6062
      TZ: Europe/Vienna
#
volumes:
  portainer_data:
    name: portainer_data
    external: true

Nachdem alexa-fhem im Portainer als "healthy" angezeigt wird wechsle ich ins FHEM und finde dort:
defmod alexa alexa
attr alexa alexaFHEM-config ./alexa-fhem.cfg
attr alexa alexaFHEM-log ./log/alexa-%Y-%m-%d.log
attr alexa alexaMapping #Characteristic=<name>=<value>,...\
On=verb=schalte,valueOn=an;;ein,valueOff=aus,valueToggle=um\
\
Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
Hue=verb=stelle,valuePrefix=auf,values=rot:0;;grün:128;;blau:200\
Hue=verb=färbe,values=rot:0;;grün:120;;blau:220\
\
Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER\
Saturation=verb=sättige,values=AMAZON.NUMBER\
\
TargetPosition=verb=mach,articles=den;;die,values=auf:100;;zu:0\
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad\
\
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
#Weckzeit=verb=stelle,valuePrefix=auf;;für,values=AMAZON.TIME,valueSuffix=uhr
attr alexa alexaTypes #Type=<alias>[,<alias2>[,...]]\
light=licht,lampen\
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
attr alexa devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop
attr alexa echoRooms #<deviceId>=<room>\

attr alexa fhemIntents #IntentName=<sample utterance>\
gutenMorgen=guten morgen\
guteNacht=gute nacht
attr alexa persons #<personId>=<name>\

attr alexa stateFormat alexaFHEM

setstate alexa stopped;; alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
setstate alexa 2023-03-07 11:32:01 alexaFHEM stopped;; alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
setstate alexa 2023-03-07 12:43:33 alexaFHEM.ProxyConnection running;; SSH connected
setstate alexa 2023-03-07 11:07:57 alexaFHEM.bearerToken crypt:xxxxxxxxxxxxxxx
setstate alexa 2023-03-07 11:07:57 alexaFHEM.skillRegKey crypt:xxxxxxxxxxxxxxxx


wobei mich das
setstate alexa stopped;; alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
Das sollte doch nicht notwendig sein, da es im Docker läuft...???

besonders irritiert.
In meinem FHEM-Verzeichnis kommt keine alexa-fhem.cfg und auch meine /opt/alexa-fhem ist und bleibt leer?

Ich vermute, dass ich bei meiner "Erstinstalletion" damals noch ohne Docker irgend etwas nicht mitgeschrieben habe. Ich bitte um Hilfe. Danke
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

Zitat von: rallye am 07 März 2023, 12:53:33
wobei mich das
setstate alexa stopped;; alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
Das sollte doch nicht notwendig sein, da es im Docker läuft...???

besonders irritiert.
Das ist nur "unschön" mal schauen ob wir das mal noch bereinigt bekommen.
Das ist wichtig:
Zitatsetstate alexa 2023-03-07 12:43:33 alexaFHEM.ProxyConnection running;; SSH connected
Ich meine alles ist gut und funktioniert bei Dir - teste einfach alexa
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