45 lines
1.1 KiB
Docker
45 lines
1.1 KiB
Docker
FROM docker.io/alpine:3.19 AS builder
|
|
|
|
ENV VERSION=11.0.0-SNAPSHOT.20230217142243
|
|
RUN apk add --no-cache \
|
|
openjdk17-jdk \
|
|
maven \
|
|
git
|
|
|
|
RUN git clone https://github.com/airsonic-advanced/airsonic-advanced
|
|
|
|
WORKDIR /airsonic-advanced
|
|
COPY mvn.patch .
|
|
RUN git checkout "$VERSION"
|
|
RUN git apply mvn.patch
|
|
RUN mvn package -DskipTests
|
|
|
|
|
|
FROM docker.io/thallian/confd-env:3.19-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 \
|
|
openjdk17-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"
|