2017-06-27 00:49:38 +00:00
|
|
|
FROM alpine:3.6
|
2017-04-27 16:02:04 +00:00
|
|
|
|
2017-07-18 18:36:15 +00:00
|
|
|
MAINTAINER Rui Marinho <ruipmarinho@gmail.com> (@ruimarinho)
|
2017-04-27 16:02:04 +00:00
|
|
|
|
|
|
|
RUN adduser -S bitcoin
|
|
|
|
|
|
|
|
ENV BERKELEYDB_VERSION=db-4.8.30.NC
|
|
|
|
ENV BERKELEYDB_PREFIX=/opt/${BERKELEYDB_VERSION}
|
|
|
|
|
2017-06-21 01:17:01 +00:00
|
|
|
ENV BITCOIN_VERSION=0.14.2
|
2017-04-27 16:02:04 +00:00
|
|
|
ENV BITCOIN_PREFIX=/opt/bitcoin-${BITCOIN_VERSION}
|
|
|
|
ENV BITCOIN_DATA=/home/bitcoin/.bitcoin
|
|
|
|
ENV PATH=${BITCOIN_PREFIX}/bin:$PATH
|
|
|
|
|
|
|
|
RUN apk --no-cache --virtual build-dependendencies add autoconf \
|
|
|
|
automake \
|
|
|
|
boost-dev \
|
|
|
|
build-base \
|
|
|
|
chrpath \
|
|
|
|
file \
|
|
|
|
gnupg \
|
|
|
|
libevent-dev \
|
|
|
|
libtool \
|
|
|
|
linux-headers \
|
|
|
|
openssl \
|
|
|
|
openssl-dev \
|
|
|
|
protobuf-dev \
|
|
|
|
zeromq-dev \
|
|
|
|
&& mkdir -p /tmp/build \
|
|
|
|
&& mkdir -p /tmp/build/${BITCOIN_VERSION} \
|
|
|
|
&& wget -O /tmp/build/${BERKELEYDB_VERSION}.tar.gz http://download.oracle.com/berkeley-db/${BERKELEYDB_VERSION}.tar.gz \
|
|
|
|
&& tar -xzf /tmp/build/${BERKELEYDB_VERSION}.tar.gz -C /tmp/build/ \
|
|
|
|
&& sed s/__atomic_compare_exchange/__atomic_compare_exchange_db/g -i /tmp/build/${BERKELEYDB_VERSION}/dbinc/atomic.h \
|
|
|
|
&& mkdir -p ${BERKELEYDB_PREFIX} \
|
|
|
|
&& cd /tmp/build/${BERKELEYDB_VERSION}/build_unix \
|
|
|
|
&& ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=${BERKELEYDB_PREFIX} \
|
|
|
|
&& make install \
|
|
|
|
&& wget -O- https://bitcoin.org/laanwj-releases.asc | gpg --import \
|
|
|
|
&& wget -P /tmp/build/${BITCOIN_VERSION} https://bitcoin.org/bin/bitcoin-core-${BITCOIN_VERSION}/SHA256SUMS.asc \
|
|
|
|
&& wget -P /tmp/build/${BITCOIN_VERSION} https://bitcoin.org/bin/bitcoin-core-${BITCOIN_VERSION}/bitcoin-${BITCOIN_VERSION}.tar.gz \
|
|
|
|
&& gpg --verify /tmp/build/${BITCOIN_VERSION}/SHA256SUMS.asc \
|
|
|
|
&& cd /tmp/build/${BITCOIN_VERSION} \
|
|
|
|
&& grep " bitcoin-${BITCOIN_VERSION}.tar.gz\$" /tmp/build/${BITCOIN_VERSION}/SHA256SUMS.asc | sha256sum -c - \
|
|
|
|
&& tar -xzf bitcoin-${BITCOIN_VERSION}.tar.gz -C /tmp/build \
|
|
|
|
&& cd /tmp/build/bitcoin-${BITCOIN_VERSION} \
|
|
|
|
&& ./autogen.sh \
|
|
|
|
&& ./configure LDFLAGS=-L${BERKELEYDB_PREFIX}/lib/ CPPFLAGS=-I${BERKELEYDB_PREFIX}/include/ \
|
|
|
|
--prefix=${BITCOIN_PREFIX} \
|
|
|
|
--mandir=/usr/share/man \
|
|
|
|
--disable-tests \
|
|
|
|
--disable-bench \
|
|
|
|
--disable-ccache \
|
|
|
|
--with-gui=no \
|
|
|
|
--with-utils \
|
|
|
|
--with-libs \
|
|
|
|
--with-daemon \
|
|
|
|
&& make install \
|
|
|
|
&& cd / \
|
|
|
|
&& strip ${BITCOIN_PREFIX}/bin/bitcoin-cli ${BITCOIN_PREFIX}/bin/bitcoind ${BITCOIN_PREFIX}/bin/bitcoin-tx ${BITCOIN_PREFIX}/lib/libbitcoinconsensus.a ${BITCOIN_PREFIX}/lib/libbitcoinconsensus.so.0.0.0 \
|
|
|
|
&& rm -rf /tmp/build ${BERKELEYDB_PREFIX}/docs \
|
|
|
|
&& apk --no-cache --purge del build-dependendencies \
|
|
|
|
&& apk --no-cache add boost \
|
|
|
|
boost-program_options \
|
|
|
|
libevent \
|
|
|
|
libzmq \
|
2017-06-27 00:49:38 +00:00
|
|
|
openssl \
|
2017-04-27 16:02:04 +00:00
|
|
|
su-exec
|
|
|
|
|
|
|
|
VOLUME ["/home/bitcoin/.bitcoin"]
|
|
|
|
|
|
|
|
COPY docker-entrypoint.sh /entrypoint.sh
|
|
|
|
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
|
|
|
|
|
|
EXPOSE 8332 8333 18332 18333 18444
|
|
|
|
|
|
|
|
CMD ["bitcoind"]
|