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