2015-06-10 12:06:28 -04:00
|
|
|
# Pull base image.
|
2015-07-10 05:36:15 +00:00
|
|
|
FROM golang:1.4
|
2015-06-10 12:06:28 -04:00
|
|
|
|
2015-09-21 19:46:14 +00:00
|
|
|
ENV USER tmuser
|
|
|
|
ENV DATA_ROOT /data/tendermint
|
2015-06-10 12:06:28 -04:00
|
|
|
|
|
|
|
# set user right away for determinism
|
2015-09-21 19:46:14 +00:00
|
|
|
RUN groupadd -r $USER \
|
|
|
|
&& useradd -r -s /bin/false -g $USER $USER
|
2015-06-10 12:06:28 -04:00
|
|
|
|
|
|
|
# create directory for persistence and give our user ownership
|
2015-09-21 19:46:14 +00:00
|
|
|
RUN mkdir -p $DATA_ROOT \
|
|
|
|
&& chown -R $USER:$USER $DATA_ROOT
|
2015-06-10 12:06:28 -04:00
|
|
|
|
|
|
|
# Set the env variables to non-interactive
|
|
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
|
|
ENV DEBIAN_PRIORITY critical
|
|
|
|
ENV DEBCONF_NOWARNINGS yes
|
|
|
|
ENV TERM linux
|
|
|
|
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
|
|
|
|
2015-09-21 19:46:14 +00:00
|
|
|
# grab deps (git)
|
2015-06-10 12:06:28 -04:00
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get install -y --no-install-recommends \
|
2015-09-21 19:46:14 +00:00
|
|
|
git && \
|
2015-06-10 12:06:28 -04:00
|
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
|
2016-02-04 20:27:35 -08:00
|
|
|
# grab deps (node)
|
|
|
|
RUN curl -sL https://deb.nodesource.com/setup_5.x | bash -
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get install -y --no-install-recommends \
|
|
|
|
nodejs && \
|
|
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
|
2015-09-21 19:46:14 +00:00
|
|
|
# copy run.sh
|
|
|
|
COPY ./run.sh $DATA_ROOT/run.sh
|
|
|
|
RUN chmod +x $DATA_ROOT/run.sh
|
2015-06-10 12:06:28 -04:00
|
|
|
|
|
|
|
# persist data, set user
|
2015-09-21 19:46:14 +00:00
|
|
|
WORKDIR $DATA_ROOT
|
|
|
|
VOLUME $DATA_ROOT
|
|
|
|
USER $USER
|
|
|
|
ENV TMROOT $DATA_ROOT
|
2015-06-10 12:06:28 -04:00
|
|
|
|
|
|
|
# run tendermint
|
2015-09-21 19:46:14 +00:00
|
|
|
CMD ["./run.sh"]
|