tendermint/DOCKER/Dockerfile

55 lines
1.2 KiB
Docker
Raw Normal View History

2015-06-10 09:06:28 -07:00
# Pull base image.
FROM golang:1.6
2015-06-10 09:06:28 -07:00
2015-09-21 12:46:14 -07:00
ENV USER tmuser
ENV DATA_ROOT /data/tendermint
2015-06-10 09:06:28 -07:00
2016-02-04 22:11:47 -08:00
# Set user right away for determinism
2015-09-21 12:46:14 -07:00
RUN groupadd -r $USER \
&& useradd -r -s /bin/false -g $USER $USER
2015-06-10 09:06:28 -07:00
2016-02-04 22:11:47 -08:00
# Create home directory for USER
# Needed for nodejs/nom
RUN mkdir -p /home/$USER \
&& chown -R $USER:$USER /home/$USER
# Create directory for persistence and give our user ownership
2015-09-21 12:46:14 -07:00
RUN mkdir -p $DATA_ROOT \
&& chown -R $USER:$USER $DATA_ROOT
2015-06-10 09:06:28 -07: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
2016-02-04 22:11:47 -08:00
# Grab deps (git)
2015-06-10 09:06:28 -07:00
RUN apt-get update && \
apt-get install -y --no-install-recommends \
2015-09-21 12:46:14 -07:00
git && \
2015-06-10 09:06:28 -07:00
rm -rf /var/lib/apt/lists/*
2016-02-04 22:11:47 -08:00
# Grab deps (node)
2016-02-04 20:27:35 -08:00
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/*
2016-02-04 22:11:47 -08:00
# Copy run.sh
2015-09-21 12:46:14 -07:00
COPY ./run.sh $DATA_ROOT/run.sh
RUN chmod +x $DATA_ROOT/run.sh
2015-06-10 09:06:28 -07:00
2016-02-04 22:11:47 -08:00
# Persist data, set user
2015-09-21 12:46:14 -07:00
WORKDIR $DATA_ROOT
VOLUME $DATA_ROOT
USER $USER
ENV TMROOT $DATA_ROOT
2015-06-10 09:06:28 -07:00
2016-02-05 20:46:45 -08:00
EXPOSE 46656
EXPOSE 46657
2016-02-04 22:11:47 -08:00
# Run tendermint
2015-09-21 12:46:14 -07:00
CMD ["./run.sh"]