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
|
|
|
|
|
2020-01-05 23:33:05 +01:00
|
|
|
RUN apt-get update \
|
|
|
|
&& apt-get -y install jq
|
|
|
|
|
2020-09-13 11:36:02 +02:00
|
|
|
COPY disable-deployed-build.patch /tmp/
|
|
|
|
|
2020-03-21 12:14:23 +01:00
|
|
|
ARG CACHEBUST=1
|
2020-09-13 15:02:53 +02:00
|
|
|
ENV CACHEBUST=$CACHEBUST
|
2020-03-21 12:14:23 +01:00
|
|
|
|
2020-01-05 23:33:05 +01:00
|
|
|
RUN OSU_VERSION=$(curl -s https://api.github.com/repos/ppy/osu/releases/latest | jq -r .tag_name) \
|
2020-07-10 22:38:12 +02:00
|
|
|
&& git clone --depth=1 --single-branch -b ${OSU_VERSION} https://github.com/ppy/osu \
|
2019-11-15 22:46:02 +01:00
|
|
|
&& cd osu \
|
2020-08-25 13:57:02 +02:00
|
|
|
&& curl https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/games/osu-lazer/bypass-tamper-detection.patch | git apply \
|
2020-09-13 11:36:02 +02:00
|
|
|
&& git apply /tmp/disable-deployed-build.patch \
|
2020-08-25 13:29:27 +02:00
|
|
|
&& dotnet publish \
|
|
|
|
-c Release \
|
|
|
|
-r linux-x64 \
|
2020-09-13 15:09:55 +02:00
|
|
|
--no-self-contained \
|
2020-08-25 13:29:27 +02:00
|
|
|
-o /opt/osu/ \
|
|
|
|
-p:Version=${OSU_VERSION} \
|
|
|
|
osu.Desktop
|
2019-11-15 22:46:02 +01:00
|
|
|
|
2020-09-13 15:35:43 +02:00
|
|
|
RUN for ruleset in \
|
|
|
|
"Bosu|https://github.com/EVAST9919/bosu" \
|
|
|
|
"Hitokori|https://github.com/Flutterish/Hitokori" \
|
|
|
|
"Karaoke|https://github.com/karaoke-dev/karaoke" \
|
|
|
|
"Mvis|https://github.com/EVAST9919/lazer-m-vis" \
|
|
|
|
"Rush|https://github.com/swoolcock/rush" \
|
|
|
|
"Sentakki|https://github.com/LumpBloom7/sentakki" \
|
|
|
|
"Swing|https://github.com/EVAST9919/lazer-swing" \
|
|
|
|
"Tau|https://github.com/Altenhh/tau" \
|
|
|
|
; do \
|
|
|
|
repo_url="$(echo $ruleset | cut -d'|' -f2)" \
|
|
|
|
&& assembly_name="osu.Game.Rulesets.$(echo $ruleset | cut -d'|' -f1)" \
|
|
|
|
&& git clone --depth=1 "$repo_url" ruleset \
|
|
|
|
&& cd ruleset \
|
|
|
|
&& dotnet build \
|
|
|
|
-c Release \
|
|
|
|
"$assembly_name" \
|
|
|
|
&& cp "${assembly_name}"/bin/Release/net*/"${assembly_name}".dll /opt/osu/ \
|
|
|
|
&& cd .. \
|
|
|
|
&& rm -rf ruleset \
|
|
|
|
; done
|
|
|
|
|
2020-09-13 15:09:55 +02:00
|
|
|
FROM mcr.microsoft.com/dotnet/core/runtime
|
2019-11-15 22:46:02 +01:00
|
|
|
|
|
|
|
RUN apt-get update \
|
|
|
|
&& apt-get -y install --no-install-recommends \
|
|
|
|
ffmpeg \
|
2020-08-25 13:19:30 +02:00
|
|
|
libegl1-mesa-dev \
|
|
|
|
libgbm1 \
|
2019-11-15 22:46:02 +01:00
|
|
|
libgl1 \
|
|
|
|
pulseaudio \
|
2020-06-10 16:21:55 +02:00
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
2019-11-15 22:46:02 +01:00
|
|
|
|
|
|
|
COPY --from=builder /opt/osu/ /opt/osu/
|
|
|
|
|
|
|
|
RUN adduser --disabled-password --gecos '' osu
|
|
|
|
USER osu
|
|
|
|
|
2020-08-25 13:29:27 +02:00
|
|
|
ENTRYPOINT ["/opt/osu/osu!"]
|