Neuigkeiten:

Am Sonntag den 8.12.2024 kann es ab ca. 8:00 Uhr zu kurzzeitigen Einschränkungen / Ausfällen bei den Diensten des FHEM Vereines kommen.
Die Server müssen mal gewartet und dabei neu gestartet werden ;)

Hauptmenü

Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

fettgu

Prima, danke funktioniert so.

Viele Grüße
Guido Fett

andi11

ich habe mein FHEM in einen Container umgezogen. So gut wie alles funktioniert wunderbar,
nur folgendes Device macht mir noch Kummer. Ich verwende es um ein SVG für meinen Kindle als Anzeige aufzubereiten.
Das Modul selbst ersetzt "nur" Text in einem SVG File.
Mit dem Kommando
(rsvg-convert --background-color=white /opt/fhem/www/images/try1out.svg -o /opt/fhem/www/images/status.png && pngcrush -q -c 0 -m 4 -nofilecheck -warn /opt/fhem/www/images/status.png /opt/fhem/www/images/status1.png > /dev/null) &wird nach dem ersetzen ein PNG generiert. rsvg-convert ist im Standartcontainer allerdings nicht inkludiert. Was kann ich tun?
Manuell im Container nachinstallieren funktioniert zwar, ist aber keine so dolle Idee.


define FREPLACER_Kindle_Wohnzimmer FReplacer /opt/fhem/www/images/try1.svg /opt/fhem/www/images/try1out.svg 300
attr FREPLACER_Kindle_Wohnzimmer userattr DbLogExclude PostCommand Rep03Format Rep03Reading Rep07Format Rep07Reading Rep08Reading Rep12Reading Rep19Reading Rep20Reading Rep25Reading Rep28Reading Rep41Reading Rep46Expr Rep47Expr Rep47Tidy Rep48Expr Rep49Expr Rep50Expr Rep51Reading Rep52Reading Rep52Regex ReplacementEncode stateFormat
attr FREPLACER_Kindle_Wohnzimmer DbLogExclude .*
attr FREPLACER_Kindle_Wohnzimmer PostCommand (rsvg-convert --background-color=white /opt/fhem/www/images/try1out.svg -o /opt/fhem/www/images/status.png && pngcrush -q -c 0 -m 4 -nofilecheck -warn /opt/fhem/www/images/status.png /opt/fhem/www/images/status1.png > /dev/null) &
attr FREPLACER_Kindle_Wohnzimmer Rep01Format %.1f
attr FREPLACER_Kindle_Wohnzimmer Rep01Reading Heizung:ambientTemperature
attr FREPLACER_Kindle_Wohnzimmer Rep01Regex TEMP3
attr FREPLACER_Kindle_Wohnzimmer Rep02Format %.0f
attr FREPLACER_Kindle_Wohnzimmer Rep02Reading Wetterproplanta:humidity
attr FREPLACER_Kindle_Wohnzimmer Rep02Regex HUM3
attr FREPLACER_Kindle_Wohnzimmer Rep03Expr sprintf("%.1f", ReadingsNum("Umwelt_Aussen", "wind-get", 0)*3.6)."kmh"
attr FREPLACER_Kindle_Wohnzimmer Rep03Regex WIND
attr FREPLACER_Kindle_Wohnzimmer Rep04Expr sprintf("%.0f", ReadingsNum("Wetterproplanta", "pressure", 0))."hPa"
attr FREPLACER_Kindle_Wohnzimmer Rep04Reading Wetterproplanta:pressure
attr FREPLACER_Kindle_Wohnzimmer Rep04Regex LUFTDRUCK
attr FREPLACER_Kindle_Wohnzimmer Rep05Reading Wetterproplanta:weather
attr FREPLACER_Kindle_Wohnzimmer Rep05Regex INFOH
attr FREPLACER_Kindle_Wohnzimmer Rep06Reading FREPLACER_Kindle_Wohnzimmer:LastUpdate:never
attr FREPLACER_Kindle_Wohnzimmer Rep06Regex AKTUALISIERUNG
attr FREPLACER_Kindle_Wohnzimmer Rep07Expr sprintf("%.1f", ReadingsNum("Umwelt_Wohnzimmer", "temperatur-get", 0))
attr FREPLACER_Kindle_Wohnzimmer Rep07Regex TEMP1
attr FREPLACER_Kindle_Wohnzimmer Rep08Expr sprintf("%.0f", ReadingsNum("Umwelt_Wohnzimmer", "luftfeuchte-get", 0))
attr FREPLACER_Kindle_Wohnzimmer Rep08Format %.0f
attr FREPLACER_Kindle_Wohnzimmer Rep08Regex HUM1
attr FREPLACER_Kindle_Wohnzimmer Rep09Expr WeekdayName(ReadingsVal("Wetterproplanta","fc1_date","1.1.2020"))
attr FREPLACER_Kindle_Wohnzimmer Rep09Regex TAG1
attr FREPLACER_Kindle_Wohnzimmer Rep10Expr WeekdayName(ReadingsVal("Wetterproplanta","fc2_date","1.1.2020"))
attr FREPLACER_Kindle_Wohnzimmer Rep10Regex TAG2
attr FREPLACER_Kindle_Wohnzimmer Rep11Expr WeekdayName(ReadingsVal("Wetterproplanta","fc3_date","1.1.2020"))
attr FREPLACER_Kindle_Wohnzimmer Rep11Regex TAG3
attr FREPLACER_Kindle_Wohnzimmer Rep12Expr if (ReadingsVal("STRUCTURE_ALLEFENSTER","state",1) eq "zu") { "window_closed"}else{"window_open"}
attr FREPLACER_Kindle_Wohnzimmer Rep12Regex fenster_imageurl
attr FREPLACER_Kindle_Wohnzimmer Rep13Reading Wetterproplanta:fc1_tempMin
attr FREPLACER_Kindle_Wohnzimmer Rep13Regex min1
attr FREPLACER_Kindle_Wohnzimmer Rep14Reading Wetterproplanta:fc1_tempMax
attr FREPLACER_Kindle_Wohnzimmer Rep14Regex max1
attr FREPLACER_Kindle_Wohnzimmer Rep15Reading Wetterproplanta:fc2_tempMin
attr FREPLACER_Kindle_Wohnzimmer Rep15Regex min2
attr FREPLACER_Kindle_Wohnzimmer Rep16Reading Wetterproplanta:fc2_tempMax
attr FREPLACER_Kindle_Wohnzimmer Rep16Regex max2
attr FREPLACER_Kindle_Wohnzimmer Rep17Reading Wetterproplanta:fc3_tempMin
attr FREPLACER_Kindle_Wohnzimmer Rep17Regex min3
attr FREPLACER_Kindle_Wohnzimmer Rep18Reading Wetterproplanta:fc3_tempMax
attr FREPLACER_Kindle_Wohnzimmer Rep18Regex max3
attr FREPLACER_Kindle_Wohnzimmer Rep19Expr sprintf("%.1f", ReadingsVal("MobileAlerts_Rain1", "intensity", 0))."mm/h"
attr FREPLACER_Kindle_Wohnzimmer Rep19Regex REGENSTAERKE
attr FREPLACER_Kindle_Wohnzimmer Rep20Expr sprintf("%.0f", ReadingsVal("Wetterproplanta", "fc1_chOfRainDay", 0))."%"
attr FREPLACER_Kindle_Wohnzimmer Rep20Regex REGENW1d
attr FREPLACER_Kindle_Wohnzimmer Rep21Reading Wetter:code
attr FREPLACER_Kindle_Wohnzimmer Rep21Regex tagh_imageurl
attr FREPLACER_Kindle_Wohnzimmer Rep22Reading Wetter:fc2_code
attr FREPLACER_Kindle_Wohnzimmer Rep22Regex tag1_imageurl
attr FREPLACER_Kindle_Wohnzimmer Rep23Reading Wetter:fc3_code
attr FREPLACER_Kindle_Wohnzimmer Rep23Regex tag2_imageurl
attr FREPLACER_Kindle_Wohnzimmer Rep24Reading Wetter:fc4_code
attr FREPLACER_Kindle_Wohnzimmer Rep24Regex tag3_imageurl
attr FREPLACER_Kindle_Wohnzimmer Rep25Expr sprintf("%.0f", ReadingsVal("Wetterproplanta", "fc2_chOfRainDay", 0))."%"
attr FREPLACER_Kindle_Wohnzimmer Rep25Regex REGENW2d
attr FREPLACER_Kindle_Wohnzimmer Rep26Expr encode_utf8(strftime('%d. %B', localtime))
attr FREPLACER_Kindle_Wohnzimmer Rep26Regex DATUM
attr FREPLACER_Kindle_Wohnzimmer Rep27Expr strftime('%A', localtime)
attr FREPLACER_Kindle_Wohnzimmer Rep27Regex WTAG
attr FREPLACER_Kindle_Wohnzimmer Rep28Expr { my $temp= ReadingsVal("myABFALL","MyBiotonne_days",0)."Tag";;if (ReadingsVal("myABFALL","MyBiotonne_days",0)>1){  $temp.="e";;};;return $temp}
attr FREPLACER_Kindle_Wohnzimmer Rep28Regex MUELL1
attr FREPLACER_Kindle_Wohnzimmer Rep29Expr { my $temp= ReadingsVal("myABFALL","RestmuellBiotonne_days",0)."Tag";;if (ReadingsVal("myABFALL","RestmuellBiotonne_days",0)>1){  $temp.="e";;};;return $temp}
attr FREPLACER_Kindle_Wohnzimmer Rep29Regex MUELL2
attr FREPLACER_Kindle_Wohnzimmer Rep30Expr { my $temp= ReadingsVal("myABFALL","PapiergelberSack_days",0)."Tag";;if (ReadingsVal("myABFALL","PapiergelberSack_days",0)>1){  $temp.="e";;};;return $temp}
attr FREPLACER_Kindle_Wohnzimmer Rep30Regex MUELL3
attr FREPLACER_Kindle_Wohnzimmer Rep31Expr if (ReadingsVal("Wetterproplanta","fc0_frost",1) eq 1) { "snowflake-regular"}else{"empty"}
attr FREPLACER_Kindle_Wohnzimmer Rep31Regex tagh_frost
attr FREPLACER_Kindle_Wohnzimmer Rep32Expr if (ReadingsVal("Wetterproplanta","fc1_frost",1) eq 1) { "snowflake-regular"}else{"empty"}
attr FREPLACER_Kindle_Wohnzimmer Rep32Regex tag1_frost
attr FREPLACER_Kindle_Wohnzimmer Rep33Expr if (ReadingsVal("Wetterproplanta","fc2_frost",1) eq 1) { "snowflake-regular"}else{"empty"}
attr FREPLACER_Kindle_Wohnzimmer Rep33Regex tag2_frost
attr FREPLACER_Kindle_Wohnzimmer Rep34Expr if (ReadingsVal("Wetterproplanta","fc3_frost",1) eq 1) { "snowflake-regular"}else{"empty"}
attr FREPLACER_Kindle_Wohnzimmer Rep34Regex tag3_frost
attr FREPLACER_Kindle_Wohnzimmer Rep35Expr sprintf("%.0f", ReadingsVal("Wetterproplanta", "fc3_chOfRainDay", 0))."%"
attr FREPLACER_Kindle_Wohnzimmer Rep35Regex REGENW3d
attr FREPLACER_Kindle_Wohnzimmer Rep36Expr sprintf("%.1f", ReadingsVal("MobileAlerts_Rain1", "mmRainActDay", 0))."mm Heute"
attr FREPLACER_Kindle_Wohnzimmer Rep36Regex REGENa
attr FREPLACER_Kindle_Wohnzimmer Rep37Reading HTTPSRV_Kindle_Wohnzimmer:KindleBatt
attr FREPLACER_Kindle_Wohnzimmer Rep37Regex KindleBatt
attr FREPLACER_Kindle_Wohnzimmer Rep38Reading Wetterproplanta:fc1_weatherDay
attr FREPLACER_Kindle_Wohnzimmer Rep38Regex INFO1
attr FREPLACER_Kindle_Wohnzimmer Rep39Reading Wetterproplanta:fc2_weatherDay
attr FREPLACER_Kindle_Wohnzimmer Rep39Regex INFO2
attr FREPLACER_Kindle_Wohnzimmer Rep40Reading Wetterproplanta:fc3_weatherDay
attr FREPLACER_Kindle_Wohnzimmer Rep40Regex INFO3
attr FREPLACER_Kindle_Wohnzimmer Rep41Expr sprintf("%.0f", ReadingsVal("Wetterproplanta", "fc1_chOfRainNight", 0))."%"
attr FREPLACER_Kindle_Wohnzimmer Rep41Regex REGENW1n
attr FREPLACER_Kindle_Wohnzimmer Rep42Expr sprintf("%.0f", ReadingsVal("Wetterproplanta", "fc2_chOfRainNight", 0))."%"
attr FREPLACER_Kindle_Wohnzimmer Rep42Regex REGENW2n
attr FREPLACER_Kindle_Wohnzimmer Rep43Expr sprintf("%.0f", ReadingsVal("Wetterproplanta", "fc3_chOfRainNight", 0))."%"
attr FREPLACER_Kindle_Wohnzimmer Rep43Regex REGENW3n
attr FREPLACER_Kindle_Wohnzimmer Rep44Expr {substr(sunrise_abs("REAL"),0,5)}
attr FREPLACER_Kindle_Wohnzimmer Rep44Regex SR
attr FREPLACER_Kindle_Wohnzimmer Rep45Expr {substr(sunset_abs("REAL"),0,5)}
attr FREPLACER_Kindle_Wohnzimmer Rep45Regex SS
attr FREPLACER_Kindle_Wohnzimmer Rep46Reading HTTPMOD_SpruchdesTages:row1
attr FREPLACER_Kindle_Wohnzimmer Rep46Regex SPRUCH1
attr FREPLACER_Kindle_Wohnzimmer Rep47Reading HTTPMOD_SpruchdesTages:row2
attr FREPLACER_Kindle_Wohnzimmer Rep47Regex SPRUCH2
attr FREPLACER_Kindle_Wohnzimmer Rep48Reading HTTPMOD_SpruchdesTages:row3
attr FREPLACER_Kindle_Wohnzimmer Rep48Regex SPRUCH3
attr FREPLACER_Kindle_Wohnzimmer Rep49Reading HTTPMOD_SpruchdesTages:row4
attr FREPLACER_Kindle_Wohnzimmer Rep49Regex SPRUCH4
attr FREPLACER_Kindle_Wohnzimmer Rep50Format %.2fkW
attr FREPLACER_Kindle_Wohnzimmer Rep50Reading Stromverbrauch_Zaehler11:P_act-get
attr FREPLACER_Kindle_Wohnzimmer Rep50Regex PV1
attr FREPLACER_Kindle_Wohnzimmer Rep51Expr (split(" ",ReadingsVal("Stromverbrauch_Zaehler11","statTotal-get","")))[3]
attr FREPLACER_Kindle_Wohnzimmer Rep51Format %.1fkWh
attr FREPLACER_Kindle_Wohnzimmer Rep51Regex PV2
attr FREPLACER_Kindle_Wohnzimmer room Versuche
attr FREPLACER_Kindle_Wohnzimmer stateFormat lastupdate LastUpdate
#   DEF        /opt/fhem/www/images/try1.svg /opt/fhem/www/images/try1out.svg 300
#   FUUID      5d5ab3ae-f33f-e34d-b5a8-b2e8a7f282b8d621
#   INTERVAL   300
#   ModuleVersion 2.5 - 17.11.2019
#   NAME       FREPLACER_Kindle_Wohnzimmer
#   NOTIFYDEV  global
#   NR         255
#   NTFY_ORDER 50-FREPLACER_Kindle_Wohnzimmer
#   OUTPUT     /opt/fhem/www/images/try1out.svg
#   STATE      lastupdate 10.11.2024 11:55:10
#   TEMPLATE   /opt/fhem/www/images/try1.svg
#   TYPE       FReplacer
#   eventCount 6
#   CompiledRegexes:
#   READINGS:
#     2024-11-10 11:55:10   LastUpdate      10.11.2024 11:55:10
#     2024-11-10 11:55:10   LastUpdateSmall 10.11 11:55
#
setstate FREPLACER_Kindle_Wohnzimmer lastupdate 10.11.2024 11:55:10
setstate FREPLACER_Kindle_Wohnzimmer 2024-11-10 11:55:10 LastUpdate 10.11.2024 11:55:10
setstate FREPLACER_Kindle_Wohnzimmer 2024-11-10 11:55:10 LastUpdateSmall 10.11 11:55


passibe

Vielleicht kannst du was mit Image::LivRSVG basteln? https://metacpan.org/pod/Image::LibRSVG

Das ist standardmäßig installiert (zumindest wenn ich perldoc -l Image::LibRSVG Glauben schenken kann).

Wenn du aber möglichst wenig Aufwand haben willst, würde ich einfach rsvg-convert nachinstallieren. Sehe da keinen Nachteil drin, sind ein paar wenige Zeilen im compose-file und das Ding läuft wieder.

andi11

hm irgendwie krieg ich das nicht hin. Ich habe jetzt versucht mit einem command nach dem starten des Containers das fehlende Paket zu installieren. Das Packet ist das richtige, denn wenn ich den Befehl manuell im Container ausführe, verschwindet danach die Fehlermeldung.
Allerdings mit dem command im compose File startet mein Container andauernd neu:
services:
  fhem:
    image: ghcr.io/fhem/fhem-docker:4-bullseye
    restart: unless-stopped
    ports:
      - "8083:8083"  # FHEM Webinterface
      - "7072:7072"  # Telnet Port
      - "4444:4444"  # MQTT SAIC     
      - "8088:8088"  # Geofence Hook
      - "3012:3012"  #MobileAlertsProxy
    volumes:
      - /srv/dev-disk-by-label-local/fhem/data:/opt/fhem
    networks:
      - fhem-network
    devices:
      - "/dev/serial/by-id/usb-SHK_NANO_CUL_868-if00-port0:/dev/serial/by-id/usb-SHK_NANO_CUL_868-if00-port0"
    environment:
      - FHEM_UID=1002
      - FHEM_GID=100
      - TZ=Europe/Berlin
      - LOGFILE=./log/fhem-%Y-%m-%d.log
    command: "apt-get update && apt-get install -y librsvg2-bin"
  mysql:
    image: mysql/mysql-server:5.7
    restart: always
    volumes:
      - /srv/dev-disk-by-label-local/fhem/database:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=fhem
      - MYSQL_USER=fhemuser
      - MYSQL_PASSWORD=########
      - MYSQL_ROOT_PASSWORD=#######
    networks:
      - fhem-network

networks:
  fhem-network:
    driver: bridge

passibe

Bitte nochmal in der Doku auf GitHub bzw. in ein paar Posts hier davor nachlesen, wie man Pakete nachinstalliert. Über "command" änderst du nur das Kommando, das unmittelbar nach dem Start des Containers ausgeführt wird, da solltest du nichts ändern, weil der Container z.B. jetzt in deinem Fall nur apt ausführt und danach nicht mehr weiß, was er tun soll.

andi11

hab es jetzt hinbekommen
Das ist der neue Code.
Mir hat zusätzlich noch das Packet pngcrush gefehlt. Hat mich etwas Nerven gekostet rauszufinden dass man das Image löschen muss (zumindest in meiner Openmediavault umgebung)

services:
  fhem:
    build:
      context: .
      dockerfile_inline: |
        FROM ghcr.io/fhem/fhem-docker:4-bullseye
        RUN <<EOF
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get update && \
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends librsvg2-bin pngcrush && \
          LC_ALL=C apt-get autoremove -qqy && \
          LC_ALL=C apt-get clean && rm -rf /var/lib/apt/lists/*
        EOF
    restart: unless-stopped
    ports:
      - "8083:8083"  # FHEM Webinterface
      - "7072:7072"  # Telnet Port
      - "4444:4444"  # MQTT SAIC     
      - "8088:8088"  # Geofence Hook
      - "3012:3012"  #MobileAlertsProxy
    volumes:
      - /srv/dev-disk-by-label-local/fhem/data:/opt/fhem
    networks:
      - fhem-network
    devices:
      - "/dev/serial/by-id/usb-SHK_NANO_CUL_868-if00-port0:/dev/serial/by-id/usb-SHK_NANO_CUL_868-if00-port0"
    environment:
      - FHEM_UID=1002
      - FHEM_GID=100
      - TZ=Europe/Berlin
      - LOGFILE=./log/fhem-%Y-%m-%d.log
#    command: "apt-get update && apt-get install -y librsvg2-bin"
  mysql:
    image: mysql/mysql-server:5.7
    restart: always
    volumes:
      - /srv/dev-disk-by-label-local/fhem/database:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=fhem
      - MYSQL_USER=fhemuser
      - MYSQL_PASSWORD=###
      - MYSQL_ROOT_PASSWORD=#####
    networks:
      - fhem-network

networks:
  fhem-network:
    driver: bridge

devil77

Hallo, ich bin jetzt auch dabei auf Docker umzustellen und habe eine Frage zu mqtt.
Aktuell läuft unter FHEM der Mqtt2 Server. Ist es sinnvoll (in Hinblick auf der Performance)
dabei zu bleiben oder extern auf z. Bsp. mosquitto zu gehen?

passibe

Wenn du aktuell keine Performanceprobleme mit MQTT2_SERVER hast, würde ich mir nicht die Mühe machen.
Denk nur dran Port 1883 zu exposen.

Weitere Lektüre dazu hier, hier und hier.

Reinschki

Hiermit schaffe ich es nicht Date::Calc zu installieren. Warum?

services:
  fhem:
    build:
      context: .
      dockerfile_inline: |
        FROM /fhem/fhem:latest
        RUN <<EOF
          cpm install --show-build-log-on-failure --configure-timeout=360 --workers=$(nproc) --local-lib-contained /usr/src/app/3rdparty/  RPC::XML::Client Date::Calc
          npm install -g --unsafe-perm --production gassistant-fhem
          npm cache clean --force
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get update
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends build-essential libxml-bare-perl libpath-class-perl libhtml-tableextract-perl libemail-simple-perl libnet-imap-simple-perl libnet-imap-simple-ssl-perl libmail-imapclient-perl libmime-tools-perl libemail-mime-perl libemail-mime-attachment-stripper-perl less mosquitto-clients libreadonly-perl mp3wrap etherwake libai-decisiontree-perl mc
          LC_ALL=C apt-get autoremove -qqy && LC_ALL=C apt-get clean
        EOF       
    pull_policy: build
    container_name: fhem
    restart: always
    network_mode: "host"

Gruß Reiner

passibe

Also erstens: Was für ein Basis-Image ist denn /fhem/fhem:latest ?
Denn z.B. RPC::XML::Client ist eigentlich schon installiert (jedenfalls bei mir mit ghcr.io/fhem/fhem-docker:4-bullseye als image. Gleiches gilt für etherwake, das ist auch schon installiert.

Zu Date::Calc:
Was sagt denn das build log?
Ich würde hier aber einfach libdate-calc-perl per apt installieren.

Reinschki

ZitatAlso erstens: Was für ein Basis-Image ist denn /fhem/fhem:latest ?
Das ist nach unzähligen Versuchen das Image ghcr.io/fhem/fhem-docker:4-bullseye zu pullen übrig geblieben.

root@fhem:~# docker pull ghcr.io/fhem/fhem-docker:4-bullseye
4-bullseye: Pulling from fhem/fhem-docker
manifest unknown

root@fhem:~# docker pull ghcr.io/fhem/fhem-docker:4.0.5-bullseye
4.0.5-bullseye: Pulling from fhem/fhem-docker
manifest unknown

Mit dem Latest Tag erhalte ich das gleiche Ergebnis!

root@fhem:~# ping ghcr.io
PING ghcr.io (140.82.121.34) 56(84) bytes of data.
64 bytes from lb-140-82-121-34-fra.github.com (140.82.121.34): icmp_seq=1 ttl=57 time=13.1 ms
64 bytes from lb-140-82-121-34-fra.github.com (140.82.121.34): icmp_seq=2 ttl=57 time=12.0 ms
64 bytes from lb-140-82-121-34-fra.github.com (140.82.121.34): icmp_seq=3 ttl=57 time=12.2 ms

Warum kann ich das Image nicht pullen? Was läuft falsch?

Reinschki

Das geht: docker pull ghcr.io/fhem/fhem-docker:dev-threaded-bullseye
root@docker-test:~# docker pull ghcr.io/fhem/fhem-docker:dev-threaded-bullseye
dev-threaded-bullseye: Pulling from fhem/fhem-docker
82aabceedc2f: Pull complete
643a8f0aedf0: Pull complete
680231464223: Pull complete
84b4ba1a9714: Pull complete
77f2b2089be9: Pull complete
4f8d53632740: Pull complete
0e6dedae47cd: Pull complete
d00705f3428d: Pull complete
2e33f5e3c192: Pull complete
6aaf8bcba02f: Pull complete
22bb005cbee1: Pull complete
015cbf44898a: Pull complete
8c4554c7ff6b: Pull complete
915977e791ce: Pull complete
f332192b073c: Pull complete
Digest: sha256:fccde5e7ae10b0369518cd6388be620e24a55c3918f4084af9c0dd9c1ef1193d
Status: Downloaded newer image for ghcr.io/fhem/fhem-docker:dev-threaded-bullseye
ghcr.io/fhem/fhem-docker:dev-threaded-bullseye

passibe

Ah, ok. Da ist wohl grade irgendetwas falsch. Vor ein paar Tagen hat das noch funktioniert mit ghcr.io. Wenn du Zeit hast, kannst du ja mal ein Issue auf GitHub aufmachen ...

Jedenfalls pullt das dann bei dir einfach vom Docker hub, wobei dann richtigerweise der Slash vornedran weg müsste, also
fhem/fhem:latest. Glaube aber nicht, dass das einen großen Unterschied macht.

Zum Ursprungsproblem: Was sagt das Log? Bzw. hast du es mal mit libdate-calc-perl probiert?

passibe

Ah, habe den Fehler gefunden.

Sowohl gassistant als auch Date::Calc müssen lokal kompiliert werden, dafür brauchst du build-essential. Du installierst build-essential aber erst im letzten Schritt, das ist zu spät. Deshalb einfach tauschen bzw. idealerweise auch mehrere RUN Kommandos nutzen, um das (für den Fehlerfall) ein bisschen zu segmentieren:

        RUN <<EOF
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get update
          LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends build-essential libxml-bare-perl libpath-class-perl libhtml-tableextract-perl libemail-simple-perl libnet-imap-simple-perl libnet-imap-simple-ssl-perl libmail-imapclient-perl libmime-tools-perl libemail-mime-perl libemail-mime-attachment-stripper-perl less mosquitto-clients libreadonly-perl libai-decisiontree-perl mc
          LC_ALL=C apt-get autoremove -qqy && LC_ALL=C apt-get clean
        EOF
        RUN <<EOF
          cpm install --show-build-log-on-failure --configure-timeout=360 --workers=$(nproc) --local-lib-contained /usr/src/app/3rdparty/ Date::Calc
        EOF
        RUN <<EOF
          npm install -g --unsafe-perm --production gassistant-fhem
          npm cache clean --force
        EOF
(etherwake, mp3wrap und RPC::XML::Client habe ich mal rausgenommen, weil sie sowieso schon installiert sind)

Reinschki

Issue auf GitHub ist erstellt.

Ich checke das wenn das aktuelle Image zur Verfügung steht.

Danke für deine Unterstützung. Ich melde mich mit neuen Infos...