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"]