mirror of
				https://github.com/SuperBFG7/ympd
				synced 2025-10-31 05:43:01 +00:00 
			
		
		
		
	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 | ||||
|  | ||||
|  | ||||
							
								
								
									
										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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 gregory
					gregory