fhem / fhem-docker

A basic Docker image for FHEM house automation system, based on Debian Linux.
https://fhem.de/
MIT License
84 stars 28 forks source link

Missing packages for BOSEST module #14

Closed hvorragend closed 5 years ago

hvorragend commented 5 years ago

Hallo,

mir fällt gerade auf, dass man das Bose-Modul BOSEST nicht in Betrieb nehmen kann. Es fehlen Packages unter Linux.

Beispiel: libmojolicious-perl

BOSEST
BOSEST is used to control a BOSE SoundTouch system (one or more SoundTouch 10, 20 or 30 devices)

Note: The followig libraries are required for this module:
libwww-perl
libmojolicious-perl
libxml-simple-perl
libnet-bonjour-perl
libev-perl
liburi-escape-xs-perl
sox
libsox-fmt-mp3

Könntest du hier aushelfen? Macht das eigentlich auf Dauer überhaupt Sinn, alle möglichen Pakete mit aufzunehmen? Oder könnte man das evtl. auslagern wie bspw. bei Homebridge (https://github.com/oznu/docker-homebridge#homebridge-plugins) Oder kann man bereits mittels "pre-init.sh" die Pakete hinzufügen ohne dafür ein eigenes Build durchzuführen? Kann man die "pre-init.sh" irgendwie rein-mounten?

jpawlowski commented 5 years ago

Du kannst absolut in das pre-init.sh script jeden Befehl reinschreiben, den du möchtest. So auch ein "apt install XYZ".

hvorragend commented 5 years ago

Du meinst also, dass ich das per -v einfach reinmounte und es dann durch deine Skripte ausführen lasse? Ich kann also weiterhin das Image nutzen und muss kein Build auf Basis deines Images (FROM fhem/fhem) durchführen?

jpawlowski commented 5 years ago

Die Module sind jetzt im Dev-Image bereits enthalten. Aber du kannst mit -v ein pre-init.sh script nach /pre-init.sh mounten und es wird dann entsprechend ausgeführt. Alternativ kannst du natürlich auch ein eigenes Docker Image, basierend auf diesem "Basis-Image" bauen:

Dockerfile:

FROM fhem/fhem:latest
RUN DEBIAN_FRONTEND=noninteractive apt-get update \
    && DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends \
        libwww-perl \
        libmojolicious-perl \
        libxml-simple-perl \
        libnet-bonjour-perl \
        libev-perl \
        liburi-escape-xs-perl \
        sox \
        libsox-fmt-mp3 \
    && apt-get autoremove -qqy && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*