commit
						b84137076e
					
				| @ -0,0 +1,4 @@ | ||||
| .gitignore | ||||
| pom.xml | ||||
| target/ | ||||
| !target/dependency/* | ||||
| @ -0,0 +1,29 @@ | ||||
| FROM alpine:3.6 | ||||
| 
 | ||||
| LABEL description="Airsonic is a free, web-based media streamer, providing ubiquitious access to your music." \ | ||||
|       url="https://github.com/airsonic/airsonic" | ||||
| 
 | ||||
| ENV AIRSONIC_PORT=4040 AIRSONIC_DIR=/airsonic | ||||
| 
 | ||||
| WORKDIR $AIRSONIC_DIR | ||||
| 
 | ||||
| RUN apk --no-cache add \ | ||||
|     ffmpeg \ | ||||
|     lame \ | ||||
|     bash \ | ||||
|     libressl \ | ||||
|     ca-certificates \ | ||||
|     tini \ | ||||
|     openjdk8-jre | ||||
| 
 | ||||
| COPY run.sh /usr/local/bin/run.sh | ||||
| 
 | ||||
| RUN chmod +x /usr/local/bin/run.sh | ||||
| 
 | ||||
| COPY target/dependency/airsonic-main.war airsonic.war | ||||
| 
 | ||||
| EXPOSE $AIRSONIC_PORT | ||||
| 
 | ||||
| VOLUME $AIRSONIC_DIR/data $AIRSONIC_DIR/music $AIRSONIC_DIR/playlists $AIRSONIC_DIR/podcasts | ||||
| 
 | ||||
| ENTRYPOINT ["tini", "--", "run.sh"] | ||||
| @ -0,0 +1,66 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | ||||
| 
 | ||||
|     <modelVersion>4.0.0</modelVersion> | ||||
|     <parent> | ||||
|         <relativePath>../../pom.xml</relativePath> | ||||
|         <artifactId>airsonic</artifactId> | ||||
|         <version>6.3-SNAPSHOT</version> | ||||
|         <groupId>org.airsonic.player</groupId> | ||||
|     </parent> | ||||
|     <packaging>pom</packaging> | ||||
|     <artifactId>airsonic-docker</artifactId> | ||||
|     <name>Airsonic Docker Image</name> | ||||
| 
 | ||||
|     <dependencies> | ||||
|         <dependency> | ||||
|             <groupId>org.airsonic.player</groupId> | ||||
|             <artifactId>airsonic-main</artifactId> | ||||
|             <version>6.3-SNAPSHOT</version> | ||||
|             <type>war</type> | ||||
|         </dependency> | ||||
|     </dependencies> | ||||
| 
 | ||||
|     <build> | ||||
|         <plugins> | ||||
|             <plugin> | ||||
|                 <groupId>com.spotify</groupId> | ||||
|                 <artifactId>dockerfile-maven-plugin</artifactId> | ||||
|                 <version>1.3.4</version> | ||||
|                 <executions> | ||||
|                     <execution> | ||||
|                         <id>default</id> | ||||
|                         <goals> | ||||
|                             <goal>build</goal> | ||||
|                         </goals> | ||||
|                         <phase>package</phase> | ||||
|                     </execution> | ||||
|                 </executions> | ||||
|                 <configuration> | ||||
|                     <repository>airsonic/airsonic</repository> | ||||
|                     <tag>${project.version}</tag> | ||||
|                     <retryCount>0</retryCount> | ||||
|                 </configuration> | ||||
|             </plugin> | ||||
|             <plugin> | ||||
|                 <artifactId>maven-dependency-plugin</artifactId> | ||||
|                 <groupId>org.apache.maven.plugins</groupId> | ||||
|                 <version>3.0.1</version> | ||||
|                 <configuration> | ||||
|                     <stripClassifier>true</stripClassifier> | ||||
|                     <stripVersion>true</stripVersion> | ||||
|                 </configuration> | ||||
|                 <executions> | ||||
|                     <execution> | ||||
|                         <id>copy</id> | ||||
|                         <phase>generate-sources</phase> | ||||
|                         <goals> | ||||
|                             <goal>copy-dependencies</goal> | ||||
|                         </goals> | ||||
|                     </execution> | ||||
|                 </executions> | ||||
|             </plugin> | ||||
|         </plugins> | ||||
|     </build> | ||||
| 
 | ||||
| </project> | ||||
| @ -0,0 +1,28 @@ | ||||
| #!/bin/bash | ||||
| 
 | ||||
| set -e | ||||
| 
 | ||||
| mkdir -p $AIRSONIC_DIR/data/transcode | ||||
| ln -fs /usr/bin/ffmpeg $AIRSONIC_DIR/data/transcode/ffmpeg | ||||
| ln -fs /usr/bin/lame $AIRSONIC_DIR/data/transcode/lame | ||||
| 
 | ||||
| if [[ $# -lt 1 ]] || [[ ! "$1" == "java"* ]]; then | ||||
| 
 | ||||
|     java_opts_array=() | ||||
|     while IFS= read -r -d '' item; do | ||||
|         java_opts_array+=( "$item" ) | ||||
|     done < <([[ $JAVA_OPTS ]] && xargs printf '%s\0' <<<"$JAVA_OPTS") | ||||
|     exec java -Xmx256m \ | ||||
|      -Dserver.host=0.0.0.0 \ | ||||
|      -Dserver.port=$AIRSONIC_PORT \ | ||||
|      -Dserver.contextPath=/ \ | ||||
|      -Dairsonic.home=$AIRSONIC_DIR/data \ | ||||
|      -Dairsonic.defaultMusicFolder=$AIRSONIC_DIR/musics \ | ||||
|      -Dairsonic.defaultPodcastFolder=$AIRSONIC_DIR/podcasts \ | ||||
|      -Dairsonic.defaultPlaylistFolder=$AIRSONIC_DIR/playlists \ | ||||
|      -Djava.awt.headless=true \ | ||||
|      "${java_opts_array[@]}" \ | ||||
|      -jar airsonic.war "$@" | ||||
| fi | ||||
| 
 | ||||
| exec "$@" | ||||
					Loading…
					
					
				
		Reference in new issue