summaryrefslogtreecommitdiff
path: root/Dockerfile
blob: f524dee4c56393b76bf6f38bbf58ae3ee27c0779 (plain)
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
FROM docker.io/library/debian:stable AS laminar
ENV DEBIAN_FRONTEND=noninteractive
RUN useradd --system --home-dir /var/lib/laminar --no-user-group --groups users --uid 100 laminar
RUN rm -rf /etc/cron.d/e2scrub_all

RUN apt-get update -yqq && apt-get install -yqq --no-install-recommends \
    build-essential \
    capnproto \
    cmake \
    git \
    libboost-dev \
    libcapnp-dev \
    libsqlite3-dev \
    ninja-build \
    pkg-config \
    rapidjson-dev \
    zlib1g-dev

ADD --keep-git-dir https://github.com/ohwgiles/laminar.git /opt/laminar/src

RUN cmake -B /opt/laminar/build -S /opt/laminar/src -G Ninja  \
    -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr && \
    cmake --build /opt/laminar/build && \
    cmake --install /opt/laminar/build --strip

FROM denoland/deno:debian AS liz-ci

RUN apt-get update -yqq && apt-get install libcapnp-0.9.2 libsqlite3-0 zlib1g
COPY --from=laminar /usr/sbin/laminard /usr/sbin/laminard
COPY --from=laminar /usr/bin/laminarc /usr/bin/laminarc
COPY --from=laminar /usr/share/man/man8/laminard.8.gz /usr/share/man/man8/laminard.8.gz
COPY --from=laminar /usr/share/man/man1/laminarc.1.gz /usr/share/man/man1/laminarc.1.gz
COPY --from=laminar /etc/laminar.conf /etc/laminar.conf
COPY --from=laminar /usr/share/bash-completion/completions/laminarc /usr/share/bash-completion/completions/laminarc
COPY --from=laminar /usr/share/zsh/site-functions/_laminarc /usr/share/zsh/site-functions/_laminarc

WORKDIR /app
COPY . /app

ENTRYPOINT [ "/bin/sh", "-c" ]