# syntax=docker/dockerfile:1 # --------------------------------------------------------------------------- # Builder # --------------------------------------------------------------------------- FROM debian:bookworm-slim AS builder RUN apt-get update && apt-get install -y --no-install-recommends \ cmake \ g++ \ make \ libmariadb-dev \ pkg-config \ && rm -rf /var/lib/apt/lists/* WORKDIR /src COPY CMakeLists.txt ./ COPY Src ./Src RUN cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \ && cmake --build build -j"$(nproc)" # --------------------------------------------------------------------------- # Runtime # --------------------------------------------------------------------------- FROM debian:bookworm-slim AS runtime RUN apt-get update && apt-get install -y --no-install-recommends \ libmariadb3 \ gettext-base \ && rm -rf /var/lib/apt/lists/* COPY --from=builder /src/build/loginserver /app/bin/loginserver COPY --from=builder /src/build/charserver /app/bin/charserver COPY --from=builder /src/build/worldserver /app/bin/worldserver COPY docker/conf/ /app/conf-templates/ COPY docker/entrypoint.sh /app/entrypoint.sh COPY Binary/clanmark/ /app/seed/clanmark/ RUN chmod +x /app/entrypoint.sh && mkdir -p /data /var/log/roseserver WORKDIR /data VOLUME ["/data", "/var/log/roseserver"] ENTRYPOINT ["/app/entrypoint.sh"] CMD ["world"]