# -- -- FROM debian:trixie-slim AS laminar_bin ENV DEBIAN_FRONTEND=noninteractive RUN rm -rf /etc/cron.d/e2scrub_all RUN apt-get update -qq > /dev/null && \ apt-get install -qq --no-install-recommends \ build-essential \ capnproto \ cmake \ git \ curl \ ca-certificates \ libboost-dev \ libcapnp-dev \ libsqlite3-dev \ ninja-build \ pkg-config \ rapidjson-dev \ zlib1g-dev > /dev/null RUN mkdir /opt/laminar # b1ae75e links a SQLite3::SQLite3 target that FindSQLite3 doesn't define ARG LAMINAR_REV=3392b899b201568b5ecb1850d1d166d5466b8fa4 RUN git clone -q https://github.com/ohwgiles/laminar /opt/laminar/src && \ git -C /opt/laminar/src checkout -q ${LAMINAR_REV} RUN bash -o pipefail -c '\ cmake -B /opt/laminar/build -S /opt/laminar/src -G Ninja \ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \ -Wno-dev --log-level=WARNING > /dev/null && \ cmake --build /opt/laminar/build 2>&1 | { grep -v "^\\[" || true; } && \ cmake --install /opt/laminar/build --strip > /dev/null' # -- -- # -- -- FROM node:24-trixie-slim AS ci_base RUN apt-get update -qq > /dev/null && \ apt-get install -qq --no-install-recommends \ libcapnp-1.1.0 libsqlite3-0 zlib1g curl bash git jq ca-certificates > /dev/null COPY --from=laminar_bin /usr/sbin/laminard /usr/sbin/laminard COPY --from=laminar_bin /usr/bin/laminarc /usr/bin/laminarc COPY --from=laminar_bin /usr/share/man/man8/laminard.8.gz /usr/share/man/man8/laminard.8.gz COPY --from=laminar_bin /usr/share/man/man1/laminarc.1.gz /usr/share/man/man1/laminarc.1.gz COPY --from=laminar_bin /etc/laminar.conf /etc/laminar.conf COPY --from=laminar_bin /usr/share/bash-completion/completions/laminarc /usr/share/bash-completion/completions/laminarc COPY --from=laminar_bin /usr/share/zsh/site-functions/_laminarc /usr/share/zsh/site-functions/_laminarc WORKDIR /app COPY . /app RUN npm ci --quiet RUN npm run build ENTRYPOINT [ "/bin/bash", "-c" ] # -- --