osu/Dockerfile

35 lines
1.2 KiB
Docker
Raw Normal View History

2019-12-13 21:08:17 +01:00
FROM mcr.microsoft.com/dotnet/core/sdk as builder
2019-11-15 22:46:02 +01:00
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
2019-11-30 13:28:16 +01:00
ARG CACHEBUST=1
RUN apt-get update \
&& apt-get -y install jq
RUN OSU_VERSION=$(curl -s https://api.github.com/repos/ppy/osu/releases/latest | jq -r .tag_name) \
&& git clone --single-branch -b ${OSU_VERSION} https://github.com/ppy/osu \
2019-11-15 22:46:02 +01:00
&& cd osu \
&& dotnet publish -c Release -r linux-x64 --self-contained true -o /opt/osu/ osu.Desktop /p:PublishTrimmed=true \
&& echo "Version ${OSU_VERSION}, Built on $(date '+%Y-%m-%d %H:%M')" > /opt/osu/version
2019-11-15 22:46:02 +01:00
2019-12-13 21:08:17 +01:00
FROM mcr.microsoft.com/dotnet/core/runtime-deps
2019-11-15 22:46:02 +01:00
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
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
COPY entrypoint.sh /usr/local/bin/
ENTRYPOINT ["entrypoint.sh"]