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 AIRSONIC_DIR=/home/airsonic

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

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"