ballistica/Dockerfile
Loup-Garou911XD 7cb9cc9391 success!!
2024-05-17 09:23:02 +05:30

68 lines
1.6 KiB
Docker

# Start with the base image
FROM ubuntu:24.04 AS builder
ENV LANG en_US.utf8
ENV LANGUAGE=en_US
# Install build dependencies
RUN DEBIAN_FRONTEND=noninteractive \
apt-get update -y && \
apt-get install -y \
python3.12-dev \
python3.12-venv \
python3-pip \
libsdl2-dev \
libvorbisfile3 \
freeglut3-dev \
libopenal-dev \
make \
curl \
rsync \
clang-format \
cmake \
libvorbis-dev
# Copy source code
COPY ./ /home/ubuntu/ballistica
WORKDIR /home/ubuntu/ballistica
# Compile the application
RUN ./do_stuff
# Create a new stage for the runtime environment
FROM ubuntu:24.04
ENV LANG en_US.utf8
ENV LANGUAGE=en_US
WORKDIR /home/ubuntu/ballistica
ARG BOMBSQUAD_VERSION=N/A
LABEL bombsquad_version=${BOMBSQUAD_VERSION}
# Copy apt cache from builder to avoid redownloading
COPY --from=builder /var/cache/apt/ /var/cache/apt/
COPY --from=builder /var/lib/apt/lists/ /var/lib/apt/lists/
# Install runtime dependencies
RUN DEBIAN_FRONTEND=noninteractive \
apt-get install -y \
python3.12-venv \
python3-pip \
libsdl2-dev \
libvorbisfile3 \
freeglut3-dev \
libopenal1 \
curl
# Copy the compiled application from the builder stage
COPY --from=builder /home/ubuntu/ballistica/build/cmake/server-debug/staged/ /home/ubuntu/ballistica
COPY --from=builder /home/ubuntu/ballistica/build/cmake/server-debug/ballisticakit_headless /home/ubuntu/ballistica/dist
# Expose the necessary port
EXPOSE 43210/udp
# Set the default command to run the application
CMD [ "./ballisticakit_server" ]