cpp
This commit is contained in:
39
jtlsrv-cpp/Dockerfile
Normal file
39
jtlsrv-cpp/Dockerfile
Normal file
@@ -0,0 +1,39 @@
|
||||
FROM ubuntu:24.04
|
||||
|
||||
# Install build deps
|
||||
RUN apt-get update && apt-get install -y \
|
||||
build-essential cmake pkg-config \
|
||||
libuv1-dev libssl-dev \
|
||||
libodbc2 unixodbc-dev \
|
||||
libvips-dev \
|
||||
curl gnupg2 gdbserver \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Microsoft ODBC Driver 18
|
||||
RUN curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg \
|
||||
&& echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/ubuntu/24.04/prod noble main" > /etc/apt/sources.list.d/mssql-release.list \
|
||||
&& apt-get update \
|
||||
&& ACCEPT_EULA=Y apt-get install -y msodbcsql18 mssql-tools18 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy source
|
||||
WORKDIR /build
|
||||
COPY CMakeLists.txt .
|
||||
COPY vendor/ vendor/
|
||||
COPY src/ src/
|
||||
|
||||
# Build (default Debug for gdb, override with --build-arg CMAKE_BUILD_TYPE=Release)
|
||||
ARG CMAKE_BUILD_TYPE=Debug
|
||||
RUN mkdir -p build && cd build \
|
||||
&& cmake .. -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
|
||||
&& cmake --build . -j$(nproc) \
|
||||
&& cp jtlsrv /usr/local/bin/
|
||||
|
||||
# Copy certs and env
|
||||
WORKDIR /app
|
||||
COPY certs/ certs/
|
||||
COPY .env.docker .env
|
||||
|
||||
EXPOSE 4443
|
||||
|
||||
CMD ["jtlsrv"]
|
||||
Reference in New Issue
Block a user