Skip to content
Snippets Groups Projects
Dockerfile 2.88 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 tendermint

# set the repo and install tendermint -- should track vendored commit
ENV REPO_ALIAS github.com/tendermint/tendermint
ENV REPO github.com/eris-ltd/tendermint
Ethan Buchman's avatar
Ethan Buchman committed
#ENV COMMIT 4ee387d0770ed379e2d524f7077938517b38cd7c
ENV COMMIT working
# note, we want to lock in the same commit number
#  as eris-db has vendored.
WORKDIR $GOPATH/src/$REPO_ALIAS
RUN git clone --quiet https://$REPO . && \
  git checkout --quiet $COMMIT && \
  go build -o /usr/local/bin/tendermint ./cmd/tendermint
#-----------------------------------------------------------------------------
# install erisdb

# set the repo and install erisdb
ENV REPO $GOPATH/src/github.com/eris-ltd/eris-db
COPY . $REPO
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
Ethan Buchman's avatar
Ethan Buchman committed
ENV BRANCH develop
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:mint-peer; 46657:mint-rpc
EXPOSE 1337
EXPOSE 46656
EXPOSE 46657