mirror of
				https://github.com/SuperBFG7/ympd
				synced 2025-10-30 21:33:00 +00:00 
			
		
		
		
	Merge pull request #88 from rollenwiese/docker-build
Feat: Docker build
This commit is contained in:
		
							
								
								
									
										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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jürgen Mang
					Jürgen Mang