airsonic/Containerfile
Sebastian Hugentobler bc74bdc636
All checks were successful
Build Multiarch Container Image / call-reusable-workflow (push) Successful in 15m20s
push to 11.0.0-SNAPSHOT.20240424015024
2024-05-27 12:57:20 +02:00

43 lines
1.0 KiB
Docker

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"