globedtest / Dockerfile
ccprojects's picture
Update Dockerfile
16782be verified
FROM ubuntu:22.04
WORKDIR /app
# Install system dependencies (except cmake)
RUN apt-get update && apt-get install -y \
build-essential clang git wget libsodium-dev libboost-all-dev \
&& rm -rf /var/lib/apt/lists/*
# Install CMake 3.27.9 manually
RUN wget https://github.com/Kitware/CMake/releases/download/v3.27.9/cmake-3.27.9-linux-x86_64.sh && \
chmod +x cmake-3.27.9-linux-x86_64.sh && \
./cmake-3.27.9-linux-x86_64.sh --skip-license --prefix=/usr/local && \
rm cmake-3.27.9-linux-x86_64.sh
# Clone Globed2 and Geode SDK
RUN git clone https://github.com/GlobedGD/globed2.git && \
git clone https://github.com/geode-sdk/geode.git
# Patch CMakeLists.txt to allow Linux build
WORKDIR /app/globed2
RUN sed -i '/Unsupported operating system/d' CMakeLists.txt && \
sed -i '/if (NOT (${CMAKE_SYSTEM_NAME}/,/endif()/d' CMakeLists.txt
# Set Geode SDK path
ENV GEODE_SDK=/app/geode
# Build project
RUN mkdir build
WORKDIR /app/globed2/build
RUN cmake .. && make -j$(nproc)
EXPOSE 4000
CMD ["./globed_server", "--port", "4000"]