Einleitung
Damit Du FHEM im Docker-Container betreiben kannst, empfehle ich Dir den eigentlichen FHEM-Code in den Docker-Container zu verknüpfen. Diesen legst Du in dem Ordner „core“ ab. Zudem habe ich die Meteocons, die ich für die Anzeige auf dem Kindle benötige in dem Ordner „fonts“ abgelegt.
Bitte achte darauf, dass ich auch noch eine Datei namens backup.sh im core-Ordner habe, die sich um das Backup kümmert.
Den kompletten Code findest Du in meinem Git-Repository.
Dockerfile
###########################################################
##
## Copyright (c) 2019 Dr.-Ing. Dennis Krannich
##
## Created: 2018-12-08
## Last updated: 2019-03-10
##
###########################################################
##
## FHEM 5.8
##
## with:
## + ImageMagick (for status screen on Kindle)
## + libXML (for reading XML files)
## + libCrypt-Rijndael (for Keymatic)
## + mariadb support
##
###########################################################
FROM alpine:latest
MAINTAINER Dr.-Ing. Dennis Krannich
ENV \
TERM=xterm\
TZ=Europe/Berlin
RUN apk add --no-cache --update \
tzdata \
bash \
sudo \
sed \
ca-certificates \
wget \
nano \
make \
perl \
perl-socket \
perl-switch \
perl-sys-hostname-long \
perl-json \
perl-io-socket-ssl \
perl-crypt-openssl-rsa \
perl-crypt-openssl-dsa \
perl-xml-simple \
perl-libwww \
perl-class-inspector \
perl-socket \
perl-crypt-rijndael \
perl-lwp-protocol-https \
perl-device-serialport \
perl-net-telnet \
perl-dbi \
perl-dbd-mysql \
busybox-extras \
imagemagick \
ttf-dejavu
## Installing XML-Parser-Lite for Perl
RUN \
wget https://cpan.metacpan.org/authors/id/P/PH/PHRED/XML-Parser-Lite-0.722.tar.gz && \
tar -xzvf XML-Parser-Lite-0.722.tar.gz && \
cd XML-Parser-Lite-0.722 && \
perl Makefile.PL && \
make && \
make install
## Installing SOAP for Perl
RUN \
wget https://cpan.metacpan.org/authors/id/P/PH/PHRED/SOAP-Lite-1.27.tar.gz && \
tar -xzvf SOAP-Lite-1.27.tar.gz && \
cd SOAP-Lite-1.27 && \
perl Makefile.PL && \
make && \
make install
## Cleaning up APK
RUN \
rm -rf /var/cache/apk/* /tmp/* /var/tmp/*
## Customizing console
RUN \
echo "alias ll='ls -lah --color=auto'" >> /root/.bashrc
## Setting timezone
RUN \
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime && \
echo "Europe/Brussels" > /etc/timezone
## Installing fonts for Kindle status screen
COPY ./fonts/meteocons/ /usr/share/fonts/truetype/
RUN chmod -R a+r /usr/share/fonts/*
RUN fc-cache -f -v
# Installing backup script for local backup
COPY ./core/backup.sh /opt/fhem/backup.sh
RUN chmod +x /opt/fhem/backup.sh
## Starting container
WORKDIR "/opt/fhem"
EXPOSE 8083 7072
ENTRYPOINT ["/opt/fhem/start-fhem.sh"]
## EOF
docker-compose.yml
fhem:
restart: always
expose:
- "8088"
ports:
- "8083:8083"
- "7072:7072"
build: ./fhem
privileged: true
devices:
#- "/dev/ttyAMA0:/dev/ttyAMA0"
- "/dev/ttyACM0:/dev/ttyACM0"
#- "/dev/ttyUSB0:/dev/ttyUSB0"
volumes:
- ./fhem/core/:/opt/fhem/
- /etc/localtime:/etc/localtime:ro
- /sys/class/gpio:/sys/class/gpio
#- /dev/serial/by-id:/dev/serial/by-id
entrypoint:
- /opt/fhem/start-fhem.sh
networks:
- fhem-network
Danke für’s teilen.
Die Druckfunktion ( [Teilen:] >> [Teile „FHEM im Docker-Container betreiben“ via Print] ) scheint nicht richtig zu funktionieren, Jedenfalls habe ich beim Druck über einen PDF-Treiber (im Firefox, neueste Version) viele leere Seiten und nur eine Seite mit Inhalt.
mit Chrome scheint es besser zu funktionieren.
Hi,
ich habe dazu Fragen:
– Warum nimmst Du nicht das offizielle Docker-Image von FHEM?
– Was ist bei Deinem Image anders/besser?
– Wie funktioniert denn der Update der FHEM-Module?
Hallo
funktioniert das auch mit der aktuellen Version DSM 7.1?
Beste Grüße
RolandDDDd
Warum sollte man überhaupt noch mehr Ballast auf das RPi packen? Fhem läuft schon ohne Docker mehr schlecht als Recht.
Hi,
im Prinzip hast Du Recht. Habe inzwischen auch keinen RPI mehr für FHEM. Aber es lief bei mir recht gut. Würde es jetzt aber eher mit einem anderen System umsetzen. Mit dem Kodlix GN41 MiniPC läuft es ganz gut.
Viele Grüße
Dennis