mirror of
https://github.com/SuperBFG7/ympd
synced 2025-07-04 19:12:48 +00:00
Feat: Docker build
This commit is contained in:
parent
f21e96444f
commit
58390034b5
43
Dockerfile
Normal file
43
Dockerfile
Normal file
@ -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"]
|
11
contrib/docker/init.sh
Normal file
11
contrib/docker/init.sh
Normal file
@ -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
|
||||||
|
|
||||||
|
|
17
mkrelease.sh
17
mkrelease.sh
@ -1,4 +1,4 @@
|
|||||||
#/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
JAVABIN=$(which java 2> /dev/null)
|
JAVABIN=$(which java 2> /dev/null)
|
||||||
HASJAVA="$?"
|
HASJAVA="$?"
|
||||||
@ -18,11 +18,11 @@ function minify {
|
|||||||
then
|
then
|
||||||
perl -pe 's/^\s*//gm; s/\s*$//gm' $SRC > $DST
|
perl -pe 's/^\s*//gm; s/\s*$//gm' $SRC > $DST
|
||||||
ERROR="$?"
|
ERROR="$?"
|
||||||
elif [ "$TYPE" = "js" ] && [ "$HASJAVA" = "1" ]
|
elif [ "$TYPE" = "js" ] && [ "$HASJAVA" = "0" ]
|
||||||
then
|
then
|
||||||
$JAVABIN -jar dist/buildtools/closure-compiler.jar $SRC > $DST
|
$JAVABIN -jar dist/buildtools/closure-compiler.jar $SRC > $DST
|
||||||
ERROR="$?"
|
ERROR="$?"
|
||||||
elif [ "$TYPE" = "css" ] && [ "$HASJAVA" = "1" ]
|
elif [ "$TYPE" = "css" ] && [ "$HASJAVA" = "0" ]
|
||||||
then
|
then
|
||||||
$JAVABIN -jar dist/buildtools/closure-stylesheets.jar --allow-unrecognized-properties $SRC > $DST
|
$JAVABIN -jar dist/buildtools/closure-stylesheets.jar --allow-unrecognized-properties $SRC > $DST
|
||||||
ERROR="$?"
|
ERROR="$?"
|
||||||
@ -59,12 +59,19 @@ minify html htdocs/player.html dist/htdocs/player.html
|
|||||||
echo "Compiling and installing mympd"
|
echo "Compiling and installing mympd"
|
||||||
install -d release
|
install -d release
|
||||||
cd 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
|
make
|
||||||
|
if [ $INSTALL_PREFIX = "/usr" ]
|
||||||
|
then
|
||||||
sudo make install
|
sudo make install
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
sudo debian/postinst
|
sudo debian/postinst
|
||||||
|
else
|
||||||
|
# Container build implied when $INSTALL_PREFIX != /usr
|
||||||
|
make install
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -x /usr/bin/cppcheck ]
|
if [ -x /usr/bin/cppcheck ]
|
||||||
then
|
then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user