use debian instead of gcc for runtime

comment and organize it a bit
drop gcc to 12 since we are using debian 12 as well
This commit is contained in:
Aaron Kimbre 2024-01-02 09:42:03 -06:00
parent f7664ad838
commit ee9df8a082

View File

@ -1,4 +1,4 @@
FROM gcc:13 as build FROM gcc:12 as build
WORKDIR /app WORKDIR /app
@ -7,30 +7,38 @@ RUN set -ex; \
apt-get install -y cmake apt-get install -y cmake
COPY . /app/ COPY . /app/
COPY --chmod=0500 ./build.sh /app/
RUN sed -i 's/MARIADB_CONNECTOR_COMPILE_JOBS__=.*/MARIADB_CONNECTOR_COMPILE_JOBS__=2/' /app/CMakeVariables.txt RUN sed -i 's/MARIADB_CONNECTOR_COMPILE_JOBS__=.*/MARIADB_CONNECTOR_COMPILE_JOBS__=2/' /app/CMakeVariables.txt
RUN chmod +x build.sh
RUN ./build.sh RUN ./build.sh
FROM gcc:13 as runtime FROM debian:12 as runtime
WORKDIR /app WORKDIR /app
RUN --mount=type=cache,id=build-apt-cache,target=/var/cache/apt \
apt update && \
apt install -y libssl3 libcurl4 && \
rm -rf /var/lib/apt/lists/*
# Grab libraries and load them
COPY --from=build /app/build/mariadbcpp/src/mariadb_connector_cpp-build/libmariadb/libmariadb/libmariadb.so.3 /usr/local/lib
RUN ldconfig
# Server bins
COPY --from=build /app/build/*Server /app/ COPY --from=build /app/build/*Server /app/
# Necessary suplimentary files
COPY --from=build /app/build/*.ini /app/default-configs/ COPY --from=build /app/build/*.ini /app/default-configs/
COPY --from=build /app/build/*.so /usr/lib/
COPY --from=build /app/build/mariadbcpp/src/mariadb_connector_cpp-build/*.so /usr/lib/
COPY --from=build /app/build/mariadbcpp/src/mariadb_connector_cpp-build/mariadbcpp/plugin/*.so /usr/lib/
COPY --from=build /app/build/vanity /app/default-vanity COPY --from=build /app/build/vanity /app/default-vanity
COPY --from=build /app/build/navmeshes /app/navmeshes COPY --from=build /app/build/navmeshes /app/navmeshes
COPY --from=build /app/build/migrations /app/migrations COPY --from=build /app/build/migrations /app/migrations
COPY --from=build /app/build/*.dcf /app/ COPY --from=build /app/build/*.dcf /app/
COPY --chmod=0500 ./entrypoint.sh /app/
RUN ldconfig
# needed as the container runs with the root user # needed as the container runs with the root user
# and therefore sudo doesn't exist # and therefore sudo doesn't exist
ENV USE_SUDO_AUTH=0 ENV USE_SUDO_AUTH=0
COPY --chmod=0500 ./entrypoint.sh /app/
ENTRYPOINT [ "/app/entrypoint.sh" ] ENTRYPOINT [ "/app/entrypoint.sh" ]