14edbc24de
(cherry picked from commit 019de0faac3b284fbfd0b005c46531a31c662900)
84 lines
2.3 KiB
Docker
84 lines
2.3 KiB
Docker
FROM ubuntu:24.04 AS builder
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
ARG SOURCE_DATE_EPOCH=1700000000
|
|
ENV SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH}
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
autoconf \
|
|
automake \
|
|
build-essential \
|
|
ca-certificates \
|
|
cmake \
|
|
libboost-all-dev \
|
|
libdb++-dev \
|
|
libevent-dev \
|
|
libleveldb-dev \
|
|
liblz4-dev \
|
|
liblzma-dev \
|
|
libminiupnpc-dev \
|
|
librocksdb-dev \
|
|
libsnappy-dev \
|
|
libsqlite3-dev \
|
|
libssl-dev \
|
|
libtool \
|
|
libzstd-dev \
|
|
ninja-build \
|
|
pkg-config \
|
|
zlib1g-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /src
|
|
COPY . .
|
|
|
|
RUN test -s src/secp256k1/CMakeLists.txt \
|
|
&& test -s src/tor/tor-src/configure.ac
|
|
|
|
RUN LIBEVENT_DIR=/usr OPENSSL_DIR=/usr ZLIB_DIR=/usr \
|
|
bash src/tor/build-libtor.sh
|
|
|
|
RUN cmake -S . -B build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DBUILD_QT=OFF \
|
|
-DBUILD_DAEMON=ON \
|
|
-DBUILD_CLI=ON \
|
|
-DBUILD_TESTS=OFF \
|
|
-DUSE_UPNP=OFF \
|
|
-DUSE_I2P_EMBEDDED=OFF \
|
|
&& cmake --build build --parallel 2
|
|
|
|
RUN install -D -m 0755 build/bin/trianglesd /opt/triangles/bin/trianglesd \
|
|
&& install -D -m 0755 build/bin/triangles-cli /opt/triangles/bin/triangles-cli \
|
|
&& mkdir -p /opt/triangles/rootfs \
|
|
&& { ldd /opt/triangles/bin/trianglesd; ldd /opt/triangles/bin/triangles-cli; } \
|
|
| awk '/=> \// {print $3} /^\// {print $1}' \
|
|
| sort -u \
|
|
| while IFS= read -r library; do \
|
|
cp --parents -L "${library}" /opt/triangles/rootfs; \
|
|
done
|
|
|
|
FROM ubuntu:24.04
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& groupadd --gid 10001 triangles \
|
|
&& useradd --uid 10001 --gid triangles --home-dir /var/lib/triangles \
|
|
--no-create-home --shell /usr/sbin/nologin triangles \
|
|
&& install -d -m 0700 -o triangles -g triangles /var/lib/triangles
|
|
|
|
COPY --from=builder /opt/triangles/rootfs/ /
|
|
COPY --from=builder /opt/triangles/bin/ /usr/local/bin/
|
|
RUN ldconfig
|
|
|
|
USER triangles
|
|
WORKDIR /var/lib/triangles
|
|
|
|
EXPOSE 24112
|
|
VOLUME ["/var/lib/triangles"]
|
|
STOPSIGNAL SIGTERM
|
|
|
|
ENTRYPOINT ["/usr/local/bin/trianglesd"]
|
|
CMD ["-datadir=/var/lib/triangles", "-printtoconsole", "-upnp=0", "-rest=0", "-rpcbind=127.0.0.1"]
|