Skip to content
Snippets Groups Projects
Dockerfile 2.32 KiB
Newer Older
FROM quay.io/eris/base
MAINTAINER Eris Industries <support@erisindustries.com>
Androlo's avatar
Androlo committed

#-----------------------------------------------------------------------------
# dependencies
Androlo's avatar
Androlo committed
RUN apt-get update && \
  apt-get install -y --no-install-recommends \
    libgmp3-dev jq && \
Androlo's avatar
Androlo committed
  rm -rf /var/lib/apt/lists/*

#-----------------------------------------------------------------------------
# install erisdb
#
ENV GO15VENDOREXPERIMENT 1
# set the repo and install erisdb
ENV REPO $GOPATH/src/github.com/eris-ltd/eris-db
WORKDIR $REPO
RUN cd ./cmd/erisdb && go build -o /usr/local/bin/erisdb && \
androlo's avatar
androlo committed
  cd ../erisdbss && go build -o /usr/local/bin/erisdbss && cd ../..
#-----------------------------------------------------------------------------
# install mint-client tools

# set the repo and install mint-client
ENV REPO github.com/eris-ltd/mint-client
ENV BRANCH master
RUN mkdir --parents $GOPATH/src/$REPO
WORKDIR $GOPATH/src/$REPO
RUN git clone --quiet https://$REPO . && \
  git checkout --quiet $BRANCH && \
  go install ./... && \
  mv $GOPATH/bin/mint* /usr/local/bin && \
  mv ./mint-client /usr/local/bin/

#-----------------------------------------------------------------------------
RUN rm -rf $GOPATH/src/* && \
  unset REPO && \
  unset COMMIT && \
#-----------------------------------------------------------------------------
# start script

# install the wrapper/start script
COPY DOCKER/start.sh /usr/local/bin/erisdb-wrapper

#-----------------------------------------------------------------------------
# chain manager scripts and default mint config

ENV ECM_PATH /usr/local/lib/ecm
COPY DOCKER/chain_* $ECM_PATH/
COPY DOCKER/config.toml $ECM_PATH/
COPY DOCKER/version.sh $ECM_PATH/
Ethan Buchman's avatar
Ethan Buchman committed

#-----------------------------------------------------------------------------
# permission the directories
RUN chown -R eris /usr/local/bin
RUN chown -R eris $ECM_PATH

#-----------------------------------------------------------------------------
# root dir

# persist data, set user
VOLUME /home/$USER/.eris
WORKDIR /home/$USER/.eris
USER $USER
RUN mkdir --parents /home/$USER/.eris/chains/tendermint
ENV TMROOT /home/$USER/.eris/chains/tendermint
# ports: 1337:eris-db API; 46656:tendermint-peer; 46657:tendermint-rpc
EXPOSE 1337
EXPOSE 46656
EXPOSE 46657
ENTRYPOINT ["erisdb"]