FROM docker.io/alpine:3.20 AS builder ENV VERSION=11.0.0-SNAPSHOT.20240424015024 RUN apk add --no-cache \ openjdk21-jdk \ maven \ git RUN git clone https://github.com/airsonic-advanced/airsonic-advanced WORKDIR /airsonic-advanced RUN git checkout "$VERSION" RUN mvn package -DskipTests FROM docker.io/thallian/confd-env:3.20-3.1.6.2 ENV JAVA_OPTIONS=-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 ENV AIRSONIC_DIR=/home/airsonic RUN apk add --no-cache \ ca-certificates \ openssl \ ffmpeg \ flac \ opus \ lame \ openjdk21-jre-headless RUN addgroup -g 2222 airsonic RUN adduser -h "$AIRSONIC_DIR" -S -D -u 2222 -G airsonic airsonic 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" ADD /rootfs / EXPOSE 8080 VOLUME "$AIRSONIC_DIR/data" "$AIRSONIC_DIR/music" "$AIRSONIC_DIR/playlists" "$AIRSONIC_DIR/podcasts"