From 4f70294c0756df7d19bc3733d8f772657d61f24a Mon Sep 17 00:00:00 2001 From: etienne-napoleone Date: Wed, 12 Sep 2018 17:10:02 +0700 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 100755 docker/bootnode/entrypoint.sh diff --git a/Dockerfile.bootnode b/Dockerfile.bootnode index c9b19345b8..783421dce2 100644 --- a/Dockerfile.bootnode +++ b/Dockerfile.bootnode @@ -5,6 +5,8 @@ RUN apk add --no-cache make gcc musl-dev linux-headers ADD . /tomochain RUN cd /tomochain && make bootnode +RUN chmod +x /tomochain/build/bin/bootnode + FROM alpine:latest LABEL maintainer="etienne@tomochain.com" @@ -13,10 +15,10 @@ WORKDIR /tomochain COPY --from=builder /tomochain/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"] +CMD ["-verbosity", "6", "-nodekey", "bootnode.key", "--addr", ":30301"] 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 100755 index 0000000000..e5f8ef40d8 --- /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 "$@"