|
1 |
| -FROM debian:stable-slim AS builder |
| 1 | +FROM debian:stretch-slim as builder |
2 | 2 |
|
3 |
| -# VERSION of Elements Core to be build |
| 3 | +# VERSION of Elements Core to be download |
4 | 4 | ARG VERSION=0.21.0
|
| 5 | +ARG TARGETPLATFORM |
5 | 6 |
|
6 |
| -RUN apt-get update && apt-get install -y wget curl libzmq3-dev build-essential libtool autotools-dev automake pkg-config bsdmainutils python3 libssl-dev libevent-dev libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-test-dev libboost-thread-dev libdb-dev libdb++-dev libdb4.8 |
| 7 | +RUN set -ex \ |
| 8 | + && if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then export TARGETPLATFORM=x86_64-linux-gnu; fi \ |
| 9 | + && if [ "${TARGETPLATFORM}" = "linux/arm64" ]; then export TARGETPLATFORM=aarch64-linux-gnu; fi \ |
| 10 | + && apt-get update \ |
| 11 | + && apt-get install -qq --no-install-recommends ca-certificates wget \ |
| 12 | + && cd /tmp \ |
| 13 | + && wget -qO elements.tar.gz "https://github.com/ElementsProject/elements/releases/download/elements-$VERSION/elements-elements-$VERSION-$TARGETPLATFORM.tar.gz" \ |
| 14 | + && mkdir bin \ |
| 15 | + && tar -xzvf elements.tar.gz -C /tmp/bin --strip-components=2 "elements-elements-$VERSION/bin/elements-cli" "elements-elements-$VERSION/bin/elementsd" |
7 | 16 |
|
8 |
| -RUN wget -qO- https://github.com/ElementsProject/elements/archive/elements-$VERSION.tar.gz | tar -xvz -C /tmp |
| 17 | +FROM debian:stretch-slim |
9 | 18 |
|
10 |
| -RUN cd /tmp/elements-elements-$VERSION/depends && make NO_QT=1 NO_UPNP=1 && cd .. && \ |
11 |
| - ./autogen.sh && \ |
12 |
| - ./configure --without-gui --with-incompatible-bdb && \ |
13 |
| - make && \ |
14 |
| - mv ./src/elementsd /elementsd && \ |
15 |
| - mv ./src/elements-cli /elements-cli |
| 19 | +COPY --from=builder "/tmp/bin" /usr/local/bin |
16 | 20 |
|
17 |
| -FROM debian:stable-slim |
18 |
| - |
19 |
| -RUN apt-get update && apt-get install -y libboost-filesystem-dev \ |
20 |
| - libboost-thread-dev \ |
21 |
| - libevent-dev \ |
22 |
| - libsodium-dev \ |
23 |
| - libzmq3-dev \ |
24 |
| - libdb-dev \ |
25 |
| - libdb++-dev |
26 |
| - |
27 |
| -RUN useradd -ms /bin/bash elements |
| 21 | +RUN groupadd -r elements && useradd -r -m -g elements elements |
28 | 22 |
|
29 | 23 | USER elements
|
30 | 24 |
|
31 |
| -COPY --from=builder /elementsd /usr/local/bin/elementsd |
32 |
| -COPY --from=builder /elements-cli /usr/local/bin/elements-cli |
33 |
| - |
34 |
| -# Prevents `VOLUME $HOME/.elements/` being created as owned by `root` |
35 |
| -RUN mkdir -p "$HOME/.elements/" |
| 25 | +RUN mkdir -p "$HOME/.elements/" \ |
| 26 | + && chown -R elements:elements /home/elements/.elements |
36 | 27 |
|
37 | 28 | ENTRYPOINT [ "elementsd" ]
|
| 29 | + |
| 30 | + |
0 commit comments