|
|
- FROM alpine:3.6
-
- # This is the release of tendermint to pull in.
- ENV TM_VERSION 0.12.0
- ENV TM_SHA256SUM be17469e92f04fc2a3663f891da28edbaa6c37c4d2f746736571887f4790555a
-
- # Tendermint will be looking for genesis file in /tendermint (unless you change
- # `genesis_file` in config.toml). You can put your config.toml and private
- # validator file into /tendermint.
- #
- # The /tendermint/data dir is used by tendermint to store state.
- ENV DATA_ROOT /tendermint
- ENV TMHOME $DATA_ROOT
-
- # Set user right away for determinism
- RUN addgroup tmuser && \
- adduser -S -G tmuser tmuser
-
- # Create directory for persistence and give our user ownership
- RUN mkdir -p $DATA_ROOT && \
- chown -R tmuser:tmuser $DATA_ROOT
-
- # jq and curl used for extracting `pub_key` from private validator while
- # deploying tendermint with Kubernetes. It is nice to have bash so the users
- # could execute bash commands.
- RUN apk add --no-cache bash curl jq
-
- RUN apk add --no-cache openssl && \
- wget https://s3-us-west-2.amazonaws.com/tendermint/binaries/tendermint/v${TM_VERSION}/tendermint_${TM_VERSION}_linux_amd64.zip && \
- echo "${TM_SHA256SUM} tendermint_${TM_VERSION}_linux_amd64.zip" | sha256sum -c && \
- unzip -d /bin tendermint_${TM_VERSION}_linux_amd64.zip && \
- apk del openssl && \
- rm -f tendermint_${TM_VERSION}_linux_amd64.zip
-
- # Expose the data directory as a volume since there's mutable state in there
- VOLUME $DATA_ROOT
-
- # p2p port
- EXPOSE 46656
- # rpc port
- EXPOSE 46657
-
- ENTRYPOINT ["tendermint"]
-
- CMD ["node", "--moniker=`hostname`"]
|