Merge pull request #215 from zjeraar/add-dockerfile

Add dockerfile
This commit is contained in:
clemahieu 2017-12-11 00:20:36 -06:00 committed by GitHub
commit 02292f68e5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 81 additions and 0 deletions

58
Dockerfile Normal file
View file

@ -0,0 +1,58 @@
FROM debian:8.9
MAINTAINER Zjeraar <zjeraar@palmweb.nl>
ENV BOOST_BASENAME=boost_1_63_0 \
BOOST_ROOT=/tmp/boost \
BOOST_URL=http://sourceforge.net/projects/boost/files/boost/1.63.0/boost_1_63_0.tar.gz/download
RUN \
apt-get update && \
apt-get install -yq apt-utils && \
apt-get install -yq locales && \
apt-get install -yq build-essential && \
apt-get install -yq wget && \
apt-get install -yq git && \
apt-get install -yq cmake && \
apt-get install -yq g++ && \
apt-get install -yq curl && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
dpkg-reconfigure locales && \
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen && \
locale-gen
WORKDIR /tmp
RUN \
wget -O ${BOOST_BASENAME}.tar.gz ${BOOST_URL} && \
tar xzvf ${BOOST_BASENAME}.tar.gz && \
cd ${BOOST_BASENAME} && \
./bootstrap.sh && \
./b2 --prefix=${BOOST_ROOT} link=static install && \
rm -rf ${BOOST_BASENAME} && \
rm -f ${BOOST_BASENAME}.tar.gz && \
cd .. && \
mkdir app
ADD ./ /tmp/app
RUN \
cd app && \
git submodule update --init --recursive && \
cmake -DBOOST_ROOT=${BOOST_ROOT} -G "Unix Makefiles" && \
make rai_node && \
cp rai_node /usr/local/bin/rai_node && \
ln -s /usr/local/bin/rai_node /usr/bin/rai_node && \
cd .. && \
rm -rf app && \
rm -rf ${BOOST_ROOT}
ADD ./docker_init.sh /usr/local/bin/rai_node_init.sh
RUN chmod +x /usr/local/bin/rai_node_init.sh
WORKDIR /root
EXPOSE 7075 7076
ENTRYPOINT ["/bin/bash", "/usr/local/bin/rai_node_init.sh"]

23
docker_init.sh Normal file
View file

@ -0,0 +1,23 @@
#!/bin/bash
set -e
DATA_DIRECTORY="/root/RaiBlocks"
# check if data directory exist
if [[ ! $(ls -A "$DATA_DIRECTORY" 2> /dev/null) ]]; then
# this command is going to fail, but needed to initiate the data directory
/usr/local/bin/rai_node --daemon 2> /dev/null ||
echo "please ignore any errors above this line..."
# replace RPC address in config.json for docker
sed -i "s/\"address\": \"::1\"/\"address\": \"::ffff:0.0.0.0\"/g" "$DATA_DIRECTORY"/config.json
fi
if [[ $1 ]]; then
echo "executing command $1..."
exec $1
else
echo "running rai_node --daemon..."
exec /usr/local/bin/rai_node --daemon
fi