FROM alpine:3.6 MAINTAINER Rui Marinho (@ruimarinho) RUN adduser -S bitcoin ENV BERKELEYDB_VERSION=db-4.8.30.NC ENV BERKELEYDB_PREFIX=/opt/${BERKELEYDB_VERSION} ENV BITCOIN_VERSION=0.14.2 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 \ openssl \ su-exec VOLUME ["/home/bitcoin/.bitcoin"] COPY docker-entrypoint.sh /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] EXPOSE 8332 8333 18332 18333 18444 CMD ["bitcoind"]