Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 33 additions & 18 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,27 +16,39 @@ ENV TZ=Etc/UTC

# build tools
RUN apt-get update \
&& apt-get -y install --no-install-recommends --no-install-suggests build-essential cmake g++ gcc make pkg-config \
&& apt-get -y install --no-install-recommends --no-install-suggests \
build-essential ca-certificates curl g++ gcc gpg \
lsb-release make pkg-config \
# CMAKE from Kitware repository
&& curl --proto "=https" -fsSL https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null \
| gpg --dearmor -o /usr/share/keyrings/kitware-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu $(lsb_release -cs) main" \
> /etc/apt/sources.list.d/kitware.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends cmake \
## clean up
&& apt-get -y autoremove curl lsb-release \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& make --version \
&& cmake --version \
&& gcc --version \
&& g++ --version

# vcpkg Package Manager
ENV VCPKG_FORCE_SYSTEM_BINARIES=1
ENV VCPKG_VERSION=2025.07.25
ENV VCPKG_VERSION=2026.07.29
ENV VCPKG_ROOT=/opt/vcpkg

# vcpkg Package Manager
RUN apt-get -y update && \
apt-get -y install --no-install-recommends --no-install-suggests \
ca-certificates curl git ninja-build unzip zip && \
rm -rf /var/lib/apt/lists/* && \
mkdir /opt/vcpkg && \
git clone --branch "${VCPKG_VERSION}" https://github.com/microsoft/vcpkg "${VCPKG_ROOT}" && \
/opt/vcpkg/bootstrap-vcpkg.sh && \
ln -s /opt/vcpkg/vcpkg /usr/local/bin/vcpkg && \
ca-certificates curl git ninja-build unzip zip \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir /opt/vcpkg \
&& git clone --branch "${VCPKG_VERSION}" https://github.com/microsoft/vcpkg "${VCPKG_ROOT}" \
&& /opt/vcpkg/bootstrap-vcpkg.sh \
&& apt-get -y autoremove curl \
&& ln -s /opt/vcpkg/vcpkg /usr/local/bin/vcpkg && \
rm -rf /var/lib/apt/lists/* && \
vcpkg version

Expand Down Expand Up @@ -70,15 +82,18 @@ RUN apt-get update && \
apt-get -y install --no-install-recommends --no-install-suggests gnupg software-properties-common && \
rm -rf /var/lib/apt/lists/*

RUN mkdir -p /etc/apt/keyrings && \
curl -fsSL --proto "=https" https://apt.llvm.org/llvm-snapshot.gpg.key \
| gpg --dearmor -o /etc/apt/keyrings/llvm-snapshot.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main" \
| tee /etc/apt/sources.list.d/llvm.list && \
apt-get -y update && \
apt-get -y install --no-install-recommends --no-install-suggests clang-format-22 && \
update-alternatives --install /usr/bin/clang-format clang-format $(which clang-format-22) 100 && \
rm -rf /var/lib/apt/lists/*
RUN apt-get -y update \
&& apt-get -y install --no-install-recommends --no-install-suggests curl \
&& mkdir -p /etc/apt/keyrings \
&& curl -fsSL --proto "=https" https://apt.llvm.org/llvm-snapshot.gpg.key \
| gpg --dearmor -o /etc/apt/keyrings/llvm-snapshot.gpg \
&& echo "deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main" \
| tee /etc/apt/sources.list.d/llvm.list \
&& apt-get -y update \
&& apt-get -y install --no-install-recommends --no-install-suggests clang-format-22 \
&& update-alternatives --install /usr/bin/clang-format clang-format $(which clang-format-22) 100 \
&& apt-get -y autoremove curl \
&& rm -rf /var/lib/apt/lists/*

ADD https://deb.nodesource.com/setup_26.x nodesource_setup.sh
RUN bash nodesource_setup.sh && \
Expand Down
Loading