-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f38d2f8
commit 628287b
Showing
1 changed file
with
44 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# Build OpenRCT2 | ||
FROM ubuntu:22.04 AS build-env | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
RUN apt-get update \ | ||
&& apt-get install --no-install-recommends -y git cmake pkg-config ninja-build clang-14 nlohmann-json3-dev libcurl4-openssl-dev libcrypto++-dev libfontconfig1-dev libfreetype6-dev libpng-dev libzip-dev libssl-dev libicu-dev libflac-dev libvorbis-dev \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& ln -s /usr/bin/clang-14 /usr/bin/clang \ | ||
&& ln -s /usr/bin/clang++-14 /usr/bin/clang++ | ||
|
||
ARG OPENRCT2_REF=v0.4.12 | ||
WORKDIR /openrct2 | ||
RUN git -c http.sslVerify=false clone --depth 1 -b $OPENRCT2_REF https://github.com/OpenRCT2/OpenRCT2 . \ | ||
&& mkdir build \ | ||
&& cd build \ | ||
&& cmake .. -G Ninja -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/openrct2-install/usr -DDISABLE_GUI=ON \ | ||
&& ninja -k0 install \ | ||
&& rm /openrct2-install/usr/lib/libopenrct2.a \ | ||
# HACK due to issue in cmakelists, move content from cli | ||
&& mv /openrct2-install/usr/share/openrct2-cli/* /openrct2-install/usr/share/openrct2 \ | ||
&& rm -rf /openrct2-install/usr/share/openrct2-cli | ||
|
||
# Build runtime image | ||
FROM ubuntu:22.04 | ||
# Install OpenRCT2 | ||
COPY --from=build-env /openrct2-install /openrct2-install | ||
RUN apt-get update \ | ||
&& apt-get install --no-install-recommends -y rsync ca-certificates libpng16-16 libzip4 libcurl4 libfreetype6 libfontconfig1 libicu70 \ | ||
&& rm -rf /var/lib/apt/lists/* \ | ||
&& rsync -a /openrct2-install/* / \ | ||
&& rm -rf /openrct2-install \ | ||
&& openrct2-cli --version | ||
|
||
# Set up ordinary user | ||
RUN useradd -m openrct2 | ||
USER openrct2 | ||
WORKDIR /home/openrct2 | ||
EXPOSE 11753 | ||
|
||
# Test run and scan | ||
RUN openrct2-cli --version \ | ||
&& openrct2-cli scan-objects | ||
|
||
# Done | ||
ENTRYPOINT ["openrct2-cli"] |