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"]