Simon Bruder
9b29cff93e
This allows using an already built image that was built with cachebust set without rebuilding osu.
44 lines
1.2 KiB
Docker
44 lines
1.2 KiB
Docker
FROM mcr.microsoft.com/dotnet/core/sdk as builder
|
|
|
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
|
|
|
|
RUN apt-get update \
|
|
&& apt-get -y install jq
|
|
|
|
COPY disable-deployed-build.patch /tmp/
|
|
|
|
ARG CACHEBUST=1
|
|
ENV CACHEBUST=$CACHEBUST
|
|
|
|
RUN OSU_VERSION=$(curl -s https://api.github.com/repos/ppy/osu/releases/latest | jq -r .tag_name) \
|
|
&& git clone --depth=1 --single-branch -b ${OSU_VERSION} https://github.com/ppy/osu \
|
|
&& cd osu \
|
|
&& curl https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/games/osu-lazer/bypass-tamper-detection.patch | git apply \
|
|
&& git apply /tmp/disable-deployed-build.patch \
|
|
&& dotnet publish \
|
|
-c Release \
|
|
-r linux-x64 \
|
|
--self-contained true \
|
|
-o /opt/osu/ \
|
|
-p:PublishTrimmed=true \
|
|
-p:Version=${OSU_VERSION} \
|
|
osu.Desktop
|
|
|
|
FROM mcr.microsoft.com/dotnet/core/runtime-deps
|
|
|
|
RUN apt-get update \
|
|
&& apt-get -y install --no-install-recommends \
|
|
ffmpeg \
|
|
libegl1-mesa-dev \
|
|
libgbm1 \
|
|
libgl1 \
|
|
pulseaudio \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=builder /opt/osu/ /opt/osu/
|
|
|
|
RUN adduser --disabled-password --gecos '' osu
|
|
USER osu
|
|
|
|
ENTRYPOINT ["/opt/osu/osu!"]
|