github.com/evdatsion/aphelion-dpos-bft@v0.32.1/DOCKER/Dockerfile (about) 1 FROM alpine:3.9 2 LABEL maintainer="hello@tendermint.com" 3 4 # Tendermint will be looking for the genesis file in /config/genesis.json 5 # (unless you change `genesis_file` in config.toml). You can put your config.toml and 6 # private validator file into /config. 7 # 8 # The /data dir is used by tendermint to store state. 9 ENV TMHOME 10 11 # OS environment setup 12 # Set user right away for determinism, create directory for persistence and give our user ownership 13 # jq and curl used for extracting `pub_key` from private validator while 14 # deploying tendermint with Kubernetes. It is nice to have bash so the users 15 # could execute bash commands. 16 RUN apk update && \ 17 apk upgrade && \ 18 apk --no-cache add curl jq bash && \ 19 addgroup tmuser && \ 20 adduser -S -G tmuser tmuser -h "$TMHOME" 21 22 # Run the container with tmuser by default. (UID=100, GID=1000) 23 USER tmuser 24 25 # Expose the data directory as a volume since there's mutable state in there 26 VOLUME [ $TMHOME ] 27 28 WORKDIR $TMHOME 29 30 # p2p and rpc port 31 EXPOSE 26656 26657 32 33 ENTRYPOINT ["/usr/bin"] 34 CMD ["node", "--moniker=`hostname`"] 35 STOPSIGNAL SIGTERM 36 37 ARG BINARY=tendermint 38 COPY $BINARY /usr/bin 39