FROM debian:testing-slim as builder ENV DOTNET_CLI_TELEMETRY_OPTOUT 1 RUN apt-get update \ && apt-get -y install \ git \ gnupg2 \ wget \ && wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \ && wget -qO /etc/apt/sources.list.d/microsoft.list https://packages.microsoft.com/config/debian/10/prod.list \ && apt-get -y purge \ gnupg2 \ wget \ && apt-get update \ && apt-get -y install \ dotnet-sdk-3.0 \ && apt-get -y autoremove --purge \ && rm -rf /var/lib/apt/lists/* ARG CACHEBUST=1 ARG GIT_COMMIT=master ARG CONFIGURATION=Release RUN git clone --depth=50 https://github.com/ppy/osu \ && cd osu \ && git checkout ${GIT_COMMIT} \ && dotnet publish -c ${CONFIGURATION} -r linux-x64 --self-contained true -o /opt/osu/ osu.Desktop FROM debian:testing-slim RUN apt-get update \ && apt-get -y install --no-install-recommends \ ca-certificates \ ffmpeg \ libgl1 \ pulseaudio \ && rm -rf /var/lib/apt/lists/* \ && find /usr/lib/x86_64-linux-gnu/ -type l -name 'libav*.so*' -exec sh -c 'cp {} $(echo {}|sed 's/\.[^\.]*$//')' \; \ && find /usr/lib/x86_64-linux-gnu/ -type l -name 'libswscale.so*' -exec sh -c 'cp {} $(echo {}|sed 's/\.[^\.]*$//')' \; COPY --from=builder /opt/osu/ /opt/osu/ RUN adduser --disabled-password --gecos '' osu USER osu ENTRYPOINT ["/opt/osu/osu!"]