FROM alpine/git as open-m3u8Git WORKDIR /app RUN git clone https://github.com/0xboobface/open-m3u8.git FROM gradle:4.10-jdk10 as open-m3u8Build WORKDIR /app/open-m3u8 COPY --from=open-m3u8Git --chown=gradle:gradle /app /app RUN gradle install FROM alpine/git as ctbrecGit WORKDIR /app RUN git clone https://github.com/0xboobface/ctbrec.git FROM maven:3-jdk-11-slim as ctbrecBuild ARG ctbrec ARG versionM3u8 WORKDIR /app/master COPY --from=ctbrecGit /app/ctbrec /app COPY --from=open-m3u8Build /app/open-m3u8/build/libs/ /app/common/libs/ RUN mvn clean install:install-file -Dfile=/app/common/libs/open-m3u8-${versionM3u8}.jar -DgroupId=com.iheartradio.m3u8 -DartifactId=open-m3u8 -Dversion=${versionM3u8} -Dpackaging=jar -DgeneratePom=true RUN mvn clean RUN mvn install FROM openjdk:12-alpine WORKDIR /app ARG memory ARG version ENV artifact ctbrec-server-${version}-final.jar ENV path /app/server/target/${artifact} COPY --from=ctbrecBuild ${path} ./${artifact} EXPOSE 8080 CMD java ${memory} -cp ${artifact} -Dctbrec.config=/server.json ctbrec.recorder.server.HttpServer