docker-steemd/Dockerfile

107 lines
2.5 KiB
Docker

FROM phusion/baseimage:0.9.19
# steem:master as of 2016-08-18
ARG STEEMD_REPO=https://github.com/steemit/steem.git
ARG STEEMD_REV=045c2a340d254d11dfcd22e1253646132465f9b7
# secp256k1:master as of 2016-08-18
ARG SECP256K1_REPO=https://github.com/bitcoin/secp256k1
ARG SECP256K1_REV=7a49cacd3937311fcb1cb36b6ba3336fca811991
ARG UBUNTU_MIRROR=mirror://mirrors.ubuntu.com/mirrors.txt
RUN sed -i \
-e s#http://archive.ubuntu.com/ubuntu/#${UBUNTU_MIRROR}#g \
-e s#http://security.ubuntu.com/ubuntu/#${UBUNTU_MIRROR}#g \
/etc/apt/sources.list ; \
grep -v deb-src /etc/apt/sources.list > \
/etc/apt/sources.list.new && \
mv /etc/apt/sources.list.new /etc/apt/sources.list && \
cat /etc/apt/sources.list
RUN \
apt-get update && \
apt-get install -y \
autoconf \
automake \
autotools-dev \
bsdmainutils \
build-essential \
cmake \
doxygen \
git \
libboost-all-dev \
libreadline-dev \
libssl-dev \
libtool \
ncurses-dev \
python3 \
python3-dev \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN \
git clone \
$SECP256K1_REPO \
/usr/local/src/secp256k1 && \
cd /usr/local/src/secp256k1 && \
git checkout $SECP256K1_REV && \
./autogen.sh && \
./configure && \
make -j8 && \
./tests && \
make install && \
cd / && \
rm -rfv /usr/local/src/secp256k1
RUN \
git clone \
$STEEMD_REPO \
/usr/local/src/steem && \
cd /usr/local/src/steem && \
git checkout $STEEMD_REV && \
git submodule update --init --recursive && \
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DLOW_MEMORY_NODE=ON \
. \
&& \
make -j8 && \
make install && \
rm -rf /usr/local/src/steem
# FIXME run steemd tests as part of build
RUN \
apt-get remove -y \
automake \
autotools-dev \
bsdmainutils \
build-essential \
doxygen \
git \
libssl-dev \
libtool \
pkg-config \
python3-dev \
&& \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
ENV HOME /var/lib/steemd
RUN useradd -s /bin/bash -m -d /var/lib/steemd steemd
RUN chown steemd:steemd -R /var/lib/steemd
VOLUME ["/var/lib/steemd"]
# rpc service:
EXPOSE 8090
# p2p service:
EXPOSE 2001
RUN mkdir -p /etc/service/steemd
ADD steemd.run /etc/service/steemd/run
RUN chmod +x /etc/service/steemd/run