From e5e36d95019cdd2e7456c20d1047aecabe040c54 Mon Sep 17 00:00:00 2001 From: "Andreas M. Antonopoulos" Date: Mon, 2 Mar 2020 07:43:25 -0600 Subject: [PATCH] Separate dockerfiles and docker-compose --- code/docker/bitcoind-base/Dockerfile | 36 +++++++++++++++++++ code/docker/c-lightning-base/Dockerfile | 25 +++++++++++++ code/{ => docker}/devenv/Dockerfile | 1 + code/docker/docker-compose/docker-compose.yml | 26 ++++++++++++++ code/docker/eclair-base/Dockerfile | 23 ++++++++++++ code/docker/lnd-base/Dockerfile | 28 +++++++++++++++ 6 files changed, 139 insertions(+) create mode 100644 code/docker/bitcoind-base/Dockerfile create mode 100644 code/docker/c-lightning-base/Dockerfile rename code/{ => docker}/devenv/Dockerfile (96%) create mode 100644 code/docker/docker-compose/docker-compose.yml create mode 100644 code/docker/eclair-base/Dockerfile create mode 100644 code/docker/lnd-base/Dockerfile diff --git a/code/docker/bitcoind-base/Dockerfile b/code/docker/bitcoind-base/Dockerfile new file mode 100644 index 0000000..f18aa81 --- /dev/null +++ b/code/docker/bitcoind-base/Dockerfile @@ -0,0 +1,36 @@ +FROM ubuntu:18.04 + +# Install development tools prerequisites +RUN apt-get update && apt-get install -y \ + build-essential \ + libtool \ + autotools-dev \ + automake \ + pkg-config \ + python3 \ + wget \ + git \ + curl \ + unzip + +# Install additional Bitcoin Core (bitcoind) requirements +RUN apt-get install -y \ + libssl-dev \ + libevent-dev \ + bsdmainutils \ + libboost-system-dev \ + libboost-filesystem-dev \ + libboost-chrono-dev \ + libboost-test-dev \ + libboost-thread-dev \ + libminiupnpc-dev \ + libzmq3-dev + +# Install software-properties-common to add apt repositories +RUN apt-get install -y \ + software-properties-common + +# Add Bitcoin Core PPA repository +RUN add-apt-repository ppa:bitcoin/bitcoin +RUN apt-get update && apt-get install -y \ + bitcoind diff --git a/code/docker/c-lightning-base/Dockerfile b/code/docker/c-lightning-base/Dockerfile new file mode 100644 index 0000000..848cdba --- /dev/null +++ b/code/docker/c-lightning-base/Dockerfile @@ -0,0 +1,25 @@ +FROM ubuntu:18.04 + +# Install development tools prerequisites +RUN apt-get update && apt-get install -y \ + build-essential \ + libtool \ + autotools-dev \ + automake \ + pkg-config \ + python3 \ + wget \ + git \ + curl \ + unzip + + +# Install software-properties-common to add apt repositories +RUN apt-get install -y \ + software-properties-common + + +# c-lightning +RUN add-apt-repository -u ppa:lightningnetwork/ppa +RUN apt-get install -y \ + lightningd diff --git a/code/devenv/Dockerfile b/code/docker/devenv/Dockerfile similarity index 96% rename from code/devenv/Dockerfile rename to code/docker/devenv/Dockerfile index 9dbd247..4896237 100644 --- a/code/devenv/Dockerfile +++ b/code/docker/devenv/Dockerfile @@ -1,3 +1,4 @@ +# syntax = docker/dockerfile:1.0-experimental FROM ubuntu:18.04 # Install development tools prerequisites diff --git a/code/docker/docker-compose/docker-compose.yml b/code/docker/docker-compose/docker-compose.yml new file mode 100644 index 0000000..73245e5 --- /dev/null +++ b/code/docker/docker-compose/docker-compose.yml @@ -0,0 +1,26 @@ +version: "3.3" +services: + bitcoind-base: + container_name: bitcoind-base + build: + context: ../bitcoind-base/. + dockerfile: ./Dockerfile + image: lnbook/bitcoind_base:latest + c-lightning-base: + container_name: c-lightning-base + build: + context: ../c-lightning-base + dockerfile: ./Dockerfile + image: lnbook/c-lightning_base:latest + lnd-base: + container_name: lnd-base + build: + context: ../lnd-base + dockerfile: ./Dockerfile + image: lnbook/lnd_base:latest + eclair-base: + container_name: eclair-base + build: + context: ../eclair-base + dockerfile: ./Dockerfile + image: lnbook/eclair_base:latest diff --git a/code/docker/eclair-base/Dockerfile b/code/docker/eclair-base/Dockerfile new file mode 100644 index 0000000..f6f7fdc --- /dev/null +++ b/code/docker/eclair-base/Dockerfile @@ -0,0 +1,23 @@ +FROM ubuntu:18.04 + +# Install development tools prerequisites +RUN apt-get update && apt-get install -y \ + build-essential \ + libtool \ + autotools-dev \ + automake \ + pkg-config \ + python3 \ + wget \ + git \ + curl \ + unzip + +# OpenJDK11 for eclair +RUN apt install -y \ + openjdk-11-jdk + +# eclair-node +RUN mkdir -p /usr/src/eclair +WORKDIR /usr/src/eclair +RUN curl -SLO https://github.com/ACINQ/eclair/releases/download/v0.3.3/eclair-node-0.3.3-12ac145.jar diff --git a/code/docker/lnd-base/Dockerfile b/code/docker/lnd-base/Dockerfile new file mode 100644 index 0000000..218ba27 --- /dev/null +++ b/code/docker/lnd-base/Dockerfile @@ -0,0 +1,28 @@ +FROM ubuntu:18.04 + +# Install development tools prerequisites +RUN apt-get update && apt-get install -y \ + build-essential \ + libtool \ + autotools-dev \ + automake \ + pkg-config \ + python3 \ + wget \ + git \ + curl \ + unzip + + +# Go 1.13 for LND +RUN curl -SL https://dl.google.com/go/go1.13.linux-amd64.tar.gz \ + | tar -xzC /usr/local +ENV PATH $PATH:/usr/local/go/bin +ENV GOPATH /gocode +RUN mkdir -p $GOPATH +ENV PATH $PATH:$GOPATH/bin + +# LND +RUN go get -d github.com/lightningnetwork/lnd +WORKDIR $GOPATH/src/github.com/lightningnetwork/lnd +RUN make && make install