mirror of https://github.com/SuperBFG7/ympd
Merge pull request #88 from rollenwiese/docker-build
Feat: Docker build
This commit is contained in:
commit
ff0e9bfd6d
|
@ -0,0 +1,43 @@
|
|||
FROM library/debian:9 as build
|
||||
RUN apt-get update
|
||||
RUN apt-get install git meson ninja-build gcc cmake libssl-dev -y
|
||||
RUN apt-get install openjdk-8-jre-headless perl -y
|
||||
ENV LANG=C.UTF-8
|
||||
ENV LC_ALL=C.UTF-8
|
||||
RUN mkdir /libmpdclient-dist
|
||||
RUN git clone https://github.com/MusicPlayerDaemon/libmpdclient.git
|
||||
WORKDIR /libmpdclient
|
||||
RUN meson . output
|
||||
RUN ninja -C output
|
||||
RUN ninja -C output install
|
||||
RUN mesonconf output -Dprefix=/libmpdclient-dist
|
||||
RUN ninja -C output
|
||||
RUN ninja -C output install
|
||||
WORKDIR /
|
||||
RUN tar -czvf /libmpdclient-master.tar.gz -C /libmpdclient-dist .
|
||||
COPY . /myMPD/
|
||||
ENV MYMPD_INSTALL_PREFIX=/myMPD-dist/usr
|
||||
RUN mkdir -p $MYMPD_INSTALL_PREFIX
|
||||
WORKDIR /myMPD
|
||||
RUN ./mkrelease.sh
|
||||
WORKDIR /
|
||||
RUN tar -czvf /mympd.tar.gz -C /myMPD-dist .
|
||||
|
||||
FROM library/debian:9-slim
|
||||
ENV MYMPD_COVERIMAGENAME=folder.jpg
|
||||
ENV MYMPD_MPDHOST=127.0.0.1
|
||||
ENV MYMPD_MPDPORT=6600
|
||||
ENV MYMPD_SSL=true
|
||||
ENV MYMPD_LOGLEVEL=1
|
||||
RUN apt-get update && apt-get install libssl-dev openssl -y
|
||||
COPY --from=build /libmpdclient-master.tar.gz /
|
||||
COPY --from=build /mympd.tar.gz /
|
||||
COPY --from=build /myMPD/debian/postinst /
|
||||
WORKDIR /
|
||||
RUN tar xfv libmpdclient-master.tar.gz -C /
|
||||
RUN tar xfv mympd.tar.gz -C /
|
||||
RUN rm libmpdclient-master.tar.gz
|
||||
RUN rm mympd.tar.gz
|
||||
COPY contrib/docker/init.sh /
|
||||
RUN chmod +x /init.sh
|
||||
ENTRYPOINT ["/init.sh"]
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
/postinst
|
||||
sed -i "s#mpdhost = 127.0.0.1#mpdhost = $MYMPD_MPDHOST#g" /etc/mympd/mympd.conf
|
||||
sed -i "s#mpdport = 6600#mpdport = $MYMPD_MPDPORT#g" /etc/mympd/mympd.conf
|
||||
sed -i "s#ssl = true#ssl = $MYMPD_SSL#g" /etc/mympd/mympd.conf
|
||||
sed -i "s#coverimagename = folder.jpg#coverimagename = $MYMPD_COVERIMAGENAME#g" /etc/mympd/mympd.conf
|
||||
sed -i "s#loglevel = 1#loglevel = $MYMPD_LOGLEVEL#g" /etc/mympd/mympd.conf
|
||||
mympd /etc/mympd/mympd.conf
|
||||
|
||||
|
23
mkrelease.sh
23
mkrelease.sh
|
@ -1,4 +1,4 @@
|
|||
#/bin/sh
|
||||
#!/bin/bash
|
||||
|
||||
JAVABIN=$(which java 2> /dev/null)
|
||||
HASJAVA="$?"
|
||||
|
@ -18,11 +18,11 @@ function minify {
|
|||
then
|
||||
perl -pe 's/^\s*//gm; s/\s*$//gm' $SRC > $DST
|
||||
ERROR="$?"
|
||||
elif [ "$TYPE" = "js" ] && [ "$HASJAVA" = "1" ]
|
||||
elif [ "$TYPE" = "js" ] && [ "$HASJAVA" = "0" ]
|
||||
then
|
||||
$JAVABIN -jar dist/buildtools/closure-compiler.jar $SRC > $DST
|
||||
ERROR="$?"
|
||||
elif [ "$TYPE" = "css" ] && [ "$HASJAVA" = "1" ]
|
||||
elif [ "$TYPE" = "css" ] && [ "$HASJAVA" = "0" ]
|
||||
then
|
||||
$JAVABIN -jar dist/buildtools/closure-stylesheets.jar --allow-unrecognized-properties $SRC > $DST
|
||||
ERROR="$?"
|
||||
|
@ -59,12 +59,19 @@ minify html htdocs/player.html dist/htdocs/player.html
|
|||
echo "Compiling and installing mympd"
|
||||
install -d release
|
||||
cd release
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=RELEASE ..
|
||||
INSTALL_PREFIX="${MYMPD_INSTALL_PREFIX:-/usr}"
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=$INSTALL_PREFIX -DCMAKE_BUILD_TYPE=RELEASE ..
|
||||
make
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
sudo debian/postinst
|
||||
if [ $INSTALL_PREFIX = "/usr" ]
|
||||
then
|
||||
sudo make install
|
||||
cd ..
|
||||
sudo debian/postinst
|
||||
else
|
||||
# Container build implied when $INSTALL_PREFIX != /usr
|
||||
make install
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if [ -x /usr/bin/cppcheck ]
|
||||
then
|
||||
|
|
Loading…
Reference in New Issue