blob: 3611316dda09f88711edb83cdfb96479b339c30b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# -- <laminar_bin> --
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
RUN git clone -q https://github.com/ohwgiles/laminar /opt/laminar/src
RUN 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
# -- </laminar_bin> --
# -- <ci_base> --
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 > /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" ]
# -- </ci_base> --
|