production setup
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
# syntax=docker/dockerfile:1.7
|
||||
FROM ubuntu:24.04 AS builder
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
||||
--mount=type=cache,target=/var/lib/apt/lists,sharing=locked \
|
||||
apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
cmake \
|
||||
git \
|
||||
libboost-filesystem-dev \
|
||||
libboost-iostreams-dev \
|
||||
libboost-locale-dev \
|
||||
libboost-program-options-dev \
|
||||
libboost-regex-dev \
|
||||
libboost-system-dev \
|
||||
libboost-thread-dev \
|
||||
libbz2-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libmariadb-dev \
|
||||
libmariadb-dev-compat \
|
||||
libncurses-dev \
|
||||
libreadline-dev \
|
||||
libssl-dev \
|
||||
zlib1g-dev \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /src
|
||||
COPY . .
|
||||
|
||||
RUN cmake -S . -B /build \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/sylvania \
|
||||
-DSERVERS=OFF \
|
||||
-DTOOLS=ON \
|
||||
&& cmake --build /build --parallel 2 \
|
||||
&& cmake --install /build
|
||||
|
||||
FROM ubuntu:24.04
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
libboost-filesystem1.83.0 \
|
||||
libboost-iostreams1.83.0 \
|
||||
libboost-program-options1.83.0 \
|
||||
libboost-regex1.83.0 \
|
||||
libboost-system1.83.0 \
|
||||
libbz2-1.0 \
|
||||
libssl3t64 \
|
||||
zlib1g \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=builder /opt/sylvania/bin /opt/sylvania/bin
|
||||
WORKDIR /client
|
||||
|
||||
Reference in New Issue
Block a user