mirror of
https://github.com/Retropex/dockerfile-deps.git
synced 2025-05-12 16:40:40 +02:00
Bump Elements to 0.18.1.12
This commit is contained in:
parent
3f7b0b7985
commit
a13d92fa97
65
Elements/0.18.1.12/docker-entrypoint.sh
Executable file
65
Elements/0.18.1.12/docker-entrypoint.sh
Executable file
@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
if [[ "$1" == "elements-cli" || "$1" == "elements-tx" || "$1" == "elementsd" || "$1" == "test_elements" ]]; then
|
||||
mkdir -p "$ELEMENTS_DATA"
|
||||
|
||||
CONFIG_PREFIX=""
|
||||
CHAIN="$ELEMENTS_CHAIN"
|
||||
NL=$'\n'
|
||||
if [[ "$CHAIN" ]]; then
|
||||
CONFIG_PREFIX="chain=$CHAIN\n[$CHAIN]"
|
||||
elif [[ "${ELEMENTS_NETWORK}" == "regtest" ]]; then
|
||||
CHAIN="${ELEMENTS_REGTEST_CHAIN:-regtest}"
|
||||
elif [[ "${ELEMENTS_NETWORK}" == "testnet" ]]; then
|
||||
CHAIN="${ELEMENTS_TESTNET_CHAIN:-testnet}"
|
||||
elif [[ "${ELEMENTS_NETWORK}" == "mainnet" ]]; then
|
||||
CHAIN="${ELEMENTS_MAINNET_CHAIN:-liquidv1}"
|
||||
else
|
||||
CHAIN=""
|
||||
fi
|
||||
|
||||
if [[ "$CHAIN" ]]; then
|
||||
CONFIG_PREFIX="chain=${CHAIN}${NL}[${CHAIN}]"
|
||||
fi
|
||||
|
||||
if [[ "$ELEMENTS_WALLETDIR" ]] && [[ "$CHAIN" ]]; then
|
||||
|
||||
WALLETDIR="$ELEMENTS_WALLETDIR/${CHAIN}"
|
||||
mkdir -p "$WALLETDIR"
|
||||
chown -R elements:elements "$WALLETDIR"
|
||||
CONFIG_PREFIX="${CONFIG_PREFIX}${NL}walletdir=${WALLETDIR}${NL}"
|
||||
fi
|
||||
|
||||
cat <<-EOF > "$ELEMENTS_DATA/elements.conf"
|
||||
${CONFIG_PREFIX}
|
||||
printtoconsole=1
|
||||
rpcallowip=::/0
|
||||
${ELEMENTS_EXTRA_ARGS}
|
||||
EOF
|
||||
chown elements:elements "$ELEMENTS_DATA/elements.conf"
|
||||
|
||||
if [[ "${ELEMENTS_TORCONTROL}" ]]; then
|
||||
# Because elementsd only accept torcontrol= host as an ip only, we resolve it here and add to config
|
||||
TOR_CONTROL_HOST=$(echo ${ELEMENTS_TORCONTROL} | cut -d ':' -f 1)
|
||||
TOR_CONTROL_PORT=$(echo ${ELEMENTS_TORCONTROL} | cut -d ':' -f 2)
|
||||
if [[ "$TOR_CONTROL_HOST" ]] && [[ "$TOR_CONTROL_PORT" ]]; then
|
||||
TOR_IP=$(getent hosts $TOR_CONTROL_HOST | cut -d ' ' -f 1)
|
||||
echo "torcontrol=$TOR_IP:$TOR_CONTROL_PORT" >> "$ELEMENTS_DATA/elements.conf"
|
||||
echo "Added "torcontrol=$TOR_IP:$TOR_CONTROL_PORT" to $ELEMENTS_DATA/elements.conf"
|
||||
else
|
||||
echo "Invalid ELEMENTS_TORCONTROL"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ensure correct ownership and linking of data directory
|
||||
# we do not update group ownership here, in case users want to mount
|
||||
# a host directory and still retain access to it
|
||||
chown -R elements "$ELEMENTS_DATA"
|
||||
ln -sfn "$ELEMENTS_DATA" /home/elements/.elements
|
||||
chown -h elements:elements /home/elements/.elements
|
||||
|
||||
exec gosu elements "$@"
|
||||
else
|
||||
exec "$@"
|
||||
fi
|
40
Elements/0.18.1.12/linuxamd64.Dockerfile
Normal file
40
Elements/0.18.1.12/linuxamd64.Dockerfile
Normal file
@ -0,0 +1,40 @@
|
||||
FROM debian:stretch-slim as builder
|
||||
|
||||
RUN set -ex \
|
||||
&& apt-get update \
|
||||
&& apt-get install -qq --no-install-recommends ca-certificates dirmngr gosu wget
|
||||
|
||||
ENV ELEMENTS_VERSION 0.18.1.12
|
||||
ENV ELEMENTS_URL https://github.com/ElementsProject/elements/releases/download/elements-0.18.1.12/elements-0.18.1.12-x86_64-linux-gnu.tar.gz
|
||||
ENV ELEMENTS_SHA256 b4038a34fcb3f1ed55acc0891cea8cd988ac8f164be2bb93d6dee24779744fae
|
||||
|
||||
# install elements binaries
|
||||
RUN set -ex \
|
||||
&& cd /tmp \
|
||||
&& wget -qO elements.tar.gz "$ELEMENTS_URL" \
|
||||
&& echo "$ELEMENTS_SHA256 elements.tar.gz" | sha256sum -c - \
|
||||
&& mkdir bin \
|
||||
&& tar -xzvf elements.tar.gz -C /tmp/bin --strip-components=2 "elements-$ELEMENTS_VERSION/bin/elements-cli" "elements-$ELEMENTS_VERSION/bin/elementsd" \
|
||||
&& cd bin \
|
||||
&& wget -qO gosu "https://github.com/tianon/gosu/releases/download/1.11/gosu-amd64" \
|
||||
&& echo "0b843df6d86e270c5b0f5cbd3c326a04e18f4b7f9b8457fa497b0454c4b138d7 gosu" | sha256sum -c -
|
||||
|
||||
FROM debian:stretch-slim
|
||||
COPY --from=builder "/tmp/bin" /usr/local/bin
|
||||
|
||||
RUN chmod +x /usr/local/bin/gosu && groupadd -r elements && useradd -r -m -g elements elements
|
||||
|
||||
# create data directory
|
||||
ENV ELEMENTS_DATA /data
|
||||
RUN mkdir "$ELEMENTS_DATA" \
|
||||
&& chown -R elements:elements "$ELEMENTS_DATA" \
|
||||
&& ln -sfn "$ELEMENTS_DATA" /home/elements/.elements \
|
||||
&& chown -h elements:elements /home/elements/.elements
|
||||
|
||||
VOLUME /data
|
||||
|
||||
COPY docker-entrypoint.sh /entrypoint.sh
|
||||
ENTRYPOINT ["bash", "/entrypoint.sh"]
|
||||
|
||||
EXPOSE 8332 8333 18332 18333 18443 18444
|
||||
CMD ["elementsd"]
|
44
Elements/0.18.1.12/linuxarm32v7.Dockerfile
Normal file
44
Elements/0.18.1.12/linuxarm32v7.Dockerfile
Normal file
@ -0,0 +1,44 @@
|
||||
# Use manifest image which support all architecture
|
||||
FROM debian:stretch-slim as builder
|
||||
|
||||
RUN set -ex \
|
||||
&& apt-get update \
|
||||
&& apt-get install -qq --no-install-recommends ca-certificates dirmngr gosu wget
|
||||
|
||||
ENV ELEMENTS_VERSION 0.18.1.12
|
||||
ENV ELEMENTS_URL https://github.com/ElementsProject/elements/releases/download/elements-0.18.1.12/elements-0.18.1.12-arm-linux-gnueabihf.tar.gz
|
||||
ENV ELEMENTS_SHA256 379f8d013f8afbaa6bf90734cb4e6b20ea16bca3a29584f5536efb290fcd54ce
|
||||
|
||||
# install elements binaries
|
||||
RUN set -ex \
|
||||
&& cd /tmp \
|
||||
&& wget -qO elements.tar.gz "$ELEMENTS_URL" \
|
||||
&& echo "$ELEMENTS_SHA256 elements.tar.gz" | sha256sum -c - \
|
||||
&& mkdir bin \
|
||||
&& tar -xzvf elements.tar.gz -C /tmp/bin --strip-components=2 "elements-$ELEMENTS_VERSION/bin/elements-cli" "elements-$ELEMENTS_VERSION/bin/elementsd" \
|
||||
&& cd bin \
|
||||
&& wget -qO gosu "https://github.com/tianon/gosu/releases/download/1.11/gosu-armhf" \
|
||||
&& echo "171b4a2decc920de0dd4f49278d3e14712da5fa48de57c556f99bcdabe03552e gosu" | sha256sum -c -
|
||||
|
||||
# Making sure the builder build an arm image despite being x64
|
||||
FROM arm32v7/debian:stretch-slim
|
||||
|
||||
COPY --from=builder "/tmp/bin" /usr/local/bin
|
||||
#EnableQEMU COPY qemu-arm-static /usr/bin
|
||||
|
||||
RUN chmod +x /usr/local/bin/gosu && groupadd -r elements && useradd -r -m -g elements elements
|
||||
|
||||
# create data directory
|
||||
ENV ELEMENTS_DATA /data
|
||||
RUN mkdir "$ELEMENTS_DATA" \
|
||||
&& chown -R elements:elements "$ELEMENTS_DATA" \
|
||||
&& ln -sfn "$ELEMENTS_DATA" /home/elements/.elements \
|
||||
&& chown -h elements:elements /home/elements/.elements
|
||||
|
||||
VOLUME /data
|
||||
|
||||
COPY docker-entrypoint.sh /entrypoint.sh
|
||||
ENTRYPOINT ["bash", "/entrypoint.sh"]
|
||||
|
||||
EXPOSE 8332 8333 18332 18333 18443 18444
|
||||
CMD ["elementsd"]
|
44
Elements/0.18.1.12/linuxarm64v8.Dockerfile
Normal file
44
Elements/0.18.1.12/linuxarm64v8.Dockerfile
Normal file
@ -0,0 +1,44 @@
|
||||
# Use manifest image which support all architecture
|
||||
FROM debian:stretch-slim as builder
|
||||
|
||||
RUN set -ex \
|
||||
&& apt-get update \
|
||||
&& apt-get install -qq --no-install-recommends ca-certificates dirmngr gosu wget
|
||||
|
||||
ENV ELEMENTS_VERSION 0.18.1.12
|
||||
ENV ELEMENTS_URL https://github.com/ElementsProject/elements/releases/download/elements-0.18.1.12/elements-0.18.1.12-aarch64-linux-gnu.tar.gz
|
||||
ENV ELEMENTS_SHA256 6d3f854169941a2aa536be04063ca373ffa09937c4e9be0bbcc8d6be30fd88ce
|
||||
|
||||
# install elements binaries
|
||||
RUN set -ex \
|
||||
&& cd /tmp \
|
||||
&& wget -qO elements.tar.gz "$ELEMENTS_URL" \
|
||||
&& echo "$ELEMENTS_SHA256 elements.tar.gz" | sha256sum -c - \
|
||||
&& mkdir bin \
|
||||
&& tar -xzvf elements.tar.gz -C /tmp/bin --strip-components=2 "elements-$ELEMENTS_VERSION/bin/elements-cli" "elements-$ELEMENTS_VERSION/bin/elementsd" \
|
||||
&& cd bin \
|
||||
&& wget -qO gosu "https://github.com/tianon/gosu/releases/download/1.11/gosu-arm64" \
|
||||
&& echo "5e279972a1c7adee65e3b5661788e8706594b458b7ce318fecbd392492cc4dbd gosu" | sha256sum -c -
|
||||
|
||||
# Making sure the builder build an arm image despite being x64
|
||||
FROM arm64v8/debian:stretch-slim
|
||||
|
||||
COPY --from=builder "/tmp/bin" /usr/local/bin
|
||||
#EnableQEMU COPY qemu-aarch64-static /usr/bin
|
||||
|
||||
RUN chmod +x /usr/local/bin/gosu && groupadd -r elements && useradd -r -m -g elements elements
|
||||
|
||||
# create data directory
|
||||
ENV ELEMENTS_DATA /data
|
||||
RUN mkdir "$ELEMENTS_DATA" \
|
||||
&& chown -R elements:elements "$ELEMENTS_DATA" \
|
||||
&& ln -sfn "$ELEMENTS_DATA" /home/elements/.elements \
|
||||
&& chown -h elements:elements /home/elements/.elements
|
||||
|
||||
VOLUME /data
|
||||
|
||||
COPY docker-entrypoint.sh /entrypoint.sh
|
||||
ENTRYPOINT ["bash", "/entrypoint.sh"]
|
||||
|
||||
EXPOSE 8332 8333 18332 18333 18443 18444
|
||||
CMD ["elementsd"]
|
Loading…
Reference in New Issue
Block a user