Einleitung

Mit der MariaDB kannst Du Deine Messwerte komfortabel und vor allem performant erfassen und in den Plots ausgeben. Darüber hinaus kannst Du auch mit anderen Systemen auf diese Daten zugreifen und darauf reagieren. Auswertungen über viele Jahre sind somit kein Problem mehr.

Zusätzlich zum Dockerfile benötigst Du noch folgende Dateien:
init.sql: Erstellt die initiale Datenbankstruktur sowie den DB-User (bitte Passwort ändern)
docker-entrypoint.sh: Dieses Script sorgt für die initiale Konfiguration

Den kompletten Code findest Du in meinem Git-Repository.

Dockerfile

###########################################################
##
## Copyright (c) 2018 Dr. Dennis Krannich
## 
## Created:         2019-01-05
## Last updated:    2019-01-06
## 
###########################################################
##
## MariaDB
##
###########################################################

FROM alpine:latest

MAINTAINER Dr. Dennis Krannich

ENV TZ 'Europe/Berlin'

RUN apk add --no-cache --update \
    tzdata \
    bash \
    ca-certificates \
    wget \
    nano
   
   
## Installing MariaDB and PasswordGenerator 
RUN apk --update --no-cache add \
    mariadb \
    mariadb-client \
    pwgen
      
        
## Clean up APT when done
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


## Configuring MariaDB
RUN \
    mkdir -p /etc/mysql/conf.d \
    && { \
        echo '[mysqld]'; \
        echo 'skip-host-cache'; \
        echo 'skip-name-resolve'; \
        echo 'user = mysql'; \
        echo 'datadir = /var/lib/mysql'; \
        echo '!includedir /etc/mysql/conf.d/'; \
    } > /etc/my.cnf


## Importing initial FHEM database
## and starting container
COPY ./files/docker-entrypoint.sh /usr/local/bin/

RUN chmod a+x /usr/local/bin/docker-entrypoint.sh

ENTRYPOINT ["docker-entrypoint.sh"]

EXPOSE 3306

CMD ["mysqld"]

# EOF

docker-compose.yml

mariadb:
        restart: always
        build: ./mariadb
        environment:
            MYSQL_ROOT_PASSWORD: fhem1234
        ports:
            - "3306:3306"
        volumes:
            - ./mariadb/data:/var/lib/mysql
            - ./mariadb/files/init.sql:/docker-entrypoint-initdb.d/fhem-init.sql
        networks:
            - fhem-network