From f6fff81c001a6ceaf9ae76ced85e9888cef20600 Mon Sep 17 00:00:00 2001 From: AnilChinchawale Date: Fri, 2 Nov 2018 15:53:21 +0530 Subject: [PATCH] refactor bootnode docker --- Dockerfile.bootnode | 8 +++++--- docker/bootnode/bootnodes/bootnodes | 0 docker/bootnode/entrypoint.sh | 24 ++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 docker/bootnode/bootnodes/bootnodes create mode 100644 docker/bootnode/entrypoint.sh diff --git a/Dockerfile.bootnode b/Dockerfile.bootnode index ce15b87496..6a3ce65c64 100644 --- a/Dockerfile.bootnode +++ b/Dockerfile.bootnode @@ -5,6 +5,8 @@ RUN apk add --no-cache make gcc musl-dev linux-headers ADD . /XDCchain RUN cd /XDCchain && make bootnode +RUN chmod +x /XDCchain/build/bin/bootnode + FROM alpine:latest LABEL maintainer="admin@xinfin.org" @@ -13,10 +15,10 @@ WORKDIR /XDCchain COPY --from=builder /XDCchain/build/bin/bootnode /usr/local/bin/bootnode -RUN chmod +x /usr/local/bin/bootnode +COPY docker/bootnode ./ EXPOSE 30301 -ENTRYPOINT ["/usr/local/bin/bootnode"] +ENTRYPOINT ["./entrypoint.sh"] -CMD ["--help"] \ No newline at end of file +CMD ["-verbosity", "6", "-nodekey", "bootnode.key", "--addr", ":30301" \ No newline at end of file diff --git a/docker/bootnode/bootnodes/bootnodes b/docker/bootnode/bootnodes/bootnodes new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docker/bootnode/entrypoint.sh b/docker/bootnode/entrypoint.sh new file mode 100644 index 0000000000..315f2ac05b --- /dev/null +++ b/docker/bootnode/entrypoint.sh @@ -0,0 +1,24 @@ +#!/bin/sh -x + + # file to env +for env in PRIVATE_KEY; do + file=$(eval echo "\$${env}_FILE") + if [[ -f $file ]] && [[ ! -z $file ]]; then + echo "Replacing $env by $file" + export $env=$(cat $file) + fi +done + + # private key +if [[ ! -z "$PRIVATE_KEY" ]]; then + echo "$PRIVATE_KEY" > bootnode.key +elif [[ ! -f ./bootnode.key ]]; then + bootnode -genkey bootnode.key +fi + + # dump address +address="enode://$(bootnode -nodekey bootnode.key -writeaddress)@[$(hostname -i)]:30301" + + echo "$address" > ./bootnodes/bootnodes + + exec bootnode "$@" \ No newline at end of file