Moin!
Nachdem Solarview vor einigen Jahren von meiner 7390 auf meine APU umgezogen war und dort mit QEMU lief, habe ich die APU vor kurzem mit OPNsense betankt (vorher IPFire). Da OPNsense auf FreeBSD basiert, musste Solarview mal wieder umziehen. Da mein Synology NAS DS415+ x86_64 basierend ist, stellte der Umzug auf das NAS im großen und ganzen kein Problem dar. Eine Ausnahme war wie immer CSmtp mit seiner harten Abhängigkeit zu libssl-1.0.0. Eigentlich könnte man CSmtp auf dem Sylology NAS durch ein einfachen Skript ersetzen, wäre da nicht die Eigenart, dass die eigentliche Nachricht CSmtp kodiert übergeben wird, Die Kodierung sieht auf den ersten Blick nach base64 aus, ist es aber wohl nicht nativ ( Manfred: besteht die Möglichkeit, dass Du die Kodierung öffentlich machst, um CSmtp durch eigene Skripte ersetzen zu können ? Das wäre sicherlich hilfreich!).
Einziger Ausweg raus aus der CSmtp Problematik war aus meiner Sicht Docker. Basierend auf i386/debian:8.10-slim lässt sich ein kleines Container Image zimmern. Diesem wird das Solarview Verzeichnis mit "-v" nach "/solarview" gemappt (Solarview selber ist also NICHT Bestandteil des Containers), und in dem Verzeichnis wird "start.sh" erwartet, das alle Solarview Komponenten startet. Zusätzlich sind natürlich die Ports für den Webserver und ggf. weitere (in meinem Fall UDP 24273 für den SMA) freizugeben. Das wars, dann läuft Solarview glücklich im Docker Container. Da bei Debian 8 die GLIBC Version und libssl zu CSmtp passen, klappt es dann auch wieder mit den Mails. Anbei das Dockerfile für den Container, so es jemand das nachbauen möchte:
FROM i386/debian:8.10-slim
MAINTAINER Mailadresse <mail@wasauchimmer.de>
RUN apt-get -q update \
&& apt-get -qy upgrade \
&& apt-get -qy --no-install-recommends install \
libssl1.0.0 \
netcat \
net-tools \
psmisc \
&& rm -rf /var/lib/apt/lists/*
COPY bootstrap.sh /
CMD /bootstrap.sh
Alles anzeigen
Das bootstrap.sh ist auch recht einfach gestrickt und referenziert nur das start.sh: