diff --git a/Dockerfile b/Dockerfile index 4dbe19e..97694b1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,41 @@ +FROM alpine:3.13 AS builder + +ENV VERSION=11.0.0-SNAPSHOT.20210504201650 +ENV SHA256_SUM=25e030eedcd556a48da4dc83e56bb7ee5e621744f974a2e3f0fa8201c04502dd +RUN apk add --no-cache \ + openjdk11-jdk \ + maven \ + git + +RUN git clone https://github.com/airsonic-advanced/airsonic-advanced + +WORKDIR /airsonic-advanced +RUN git checkout "$VERSION" +RUN mvn package + + FROM thallian/alpine-s6:latest -ENV JAVA_OPTIONS -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 +ENV JAVA_OPTIONS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 +ENV AIRSONIC_DIR=/home/airsonic -ENV VERSION v10.6.2 - -ENV AIRSONIC_DIR /home/airsonic -RUN apk add --no-cache openjdk8-jre libressl ca-certificates ffmpeg flac opus lame +RUN apk add --no-cache \ + openjdk11-jre-headless \ + ffmpeg \ + flac \ + opus \ + lame RUN addgroup -g 2222 airsonic -RUN adduser -h ${AIRSONIC_DIR} -S -D -u 2222 -G airsonic airsonic +RUN adduser -h "$AIRSONIC_DIR" -S -D -u 2222 -G airsonic airsonic -RUN wget https://github.com/airsonic/airsonic/releases/download/${VERSION}/airsonic.war -O ${AIRSONIC_DIR}/airsonic.war -RUN chown -R airsonic:airsonic ${AIRSONIC_DIR} +COPY --from=builder /airsonic-advanced/airsonic-main/target/airsonic.war "$AIRSONIC_DIR}/airsonic.war" +RUN chown -R airsonic:airsonic "$AIRSONIC_DIR" RUN mkdir -p $AIRSONIC_DIR/data/transcode -RUN ln -s /usr/bin/ffmpeg $AIRSONIC_DIR/data/transcode/ffmpeg +RUN ln -s /usr/bin/ffmpeg "$AIRSONIC_DIR/data/transcode/ffmpeg" ADD /rootfs / EXPOSE 8080 - -VOLUME ${AIRSONIC_DIR}/data ${AIRSONIC_DIR}/music ${AIRSONIC_DIR}/playlists ${AIRSONIC_DIR}/podcasts +VOLUME "$AIRSONIC_DIR/data" "$AIRSONIC_DIR/music" "$AIRSONIC_DIR/playlists" "$AIRSONIC_DIR/podcasts" diff --git a/rootfs/bin/restart-services b/rootfs/bin/restart-services deleted file mode 100755 index df6ae74..0000000 --- a/rootfs/bin/restart-services +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/with-contenv sh - -s6-svc -t /var/run/s6/services/murmur diff --git a/rootfs/etc/services.d/airsonic/run b/rootfs/etc/services.d/airsonic/run index c3a0715..0940e1d 100644 --- a/rootfs/etc/services.d/airsonic/run +++ b/rootfs/etc/services.d/airsonic/run @@ -1,6 +1,6 @@ #!/usr/bin/with-contenv sh -cd ${AIRSONIC_DIR} +cd "$AIRSONIC_DIR" exec s6-setuidgid airsonic java -Xmx512m \ -Dserver.host=0.0.0.0 \ -Dserver.port=8080 \