Files
Towards/Dockerfile
T
Martin Slachta a04f0dc262 initial
2026-07-18 14:31:15 +02:00

48 lines
1.4 KiB
Docker

# ── build stage ──────────────────────────────────────────────────────────────
FROM ubuntu:24.04 AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
gcc-13 g++-13 \
cmake \
ninja-build \
git \
mold \
libvulkan-dev \
libsdl2-dev \
libprotobuf-dev protobuf-compiler \
libpq-dev \
libpqxx-dev \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /src
COPY . .
RUN cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=gcc-13 \
-DCMAKE_CXX_COMPILER=g++-13 \
-DCMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu \
&& cmake --build build --target tw_server -j$(nproc)
# ── runtime stage ─────────────────────────────────────────────────────────────
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
libvulkan1 \
libsdl2-2.0-0 \
libprotobuf32t64 \
libpq5 \
libpqxx-dev \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /src/build/modules/server/tw_server /usr/local/bin/tw_server
EXPOSE 8101/udp 8102/udp
ENTRYPOINT ["tw_server"]