From a2561e0b23b1fa03ca3efe70ba8b7288e1498cc5 Mon Sep 17 00:00:00 2001 From: Andrew Camilleri Date: Sun, 19 Jan 2020 11:54:29 +0100 Subject: [PATCH] Add RTL for C-Lightning (#254) --- Production/nginx.tmpl | 4 +- README.md | 5 ++- contrib/DockerFileBuildHelper/Program.cs | 8 ++++ .../build-all-images.sh | 44 ++++++++++++++++--- .../docker-fragments/bitcoin-clightning.yml | 40 +++++++++++++++++ .../docker-fragments/bitcoin-lnd.yml | 4 +- 6 files changed, 93 insertions(+), 12 deletions(-) rename contrib/{ => DockerFileBuildHelper}/build-all-images.sh (94%) mode change 100755 => 100644 diff --git a/Production/nginx.tmpl b/Production/nginx.tmpl index 1e439b3..a3622dd 100644 --- a/Production/nginx.tmpl +++ b/Production/nginx.tmpl @@ -34,9 +34,9 @@ proxy_pass http://lnd_bitcoin:8080/; } {{ end }} - {{ if (eq $serviceName "lnd_bitcoin_rtl") }} + {{ if (eq $serviceName "bitcoin_rtl") }} location /rtl/ { - proxy_pass http://lnd_bitcoin_rtl:3000/rtl/; + proxy_pass http://bitcoin_rtl:3000/rtl/; } {{ end }} {{ if (eq $serviceName "btcqbo") }} diff --git a/README.md b/README.md index 9c799b1..dc9ac50 100644 --- a/README.md +++ b/README.md @@ -310,9 +310,10 @@ We are trying to update our dependencies to run on `arm32v7` and `x64` boards. H | btcpayserver/lightning | v0.8.0 | [✔️](https://raw.githubusercontent.com/btcpayserver/lightning/basedon-v0.8.0/Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/lightning/basedon-v0.8.0/contrib/linuxarm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/lightning/basedon-v0.8.0/contrib/linuxarm64v8.Dockerfile) | [Github](https://github.com/btcpayserver/lightning) - [DockerHub](https://hub.docker.com/r/btcpayserver/lightning) | | shesek/lightning-charge | 0.4.11-standalone | [✔️](https://raw.githubusercontent.com/ElementsProject/lightning-charge/v0.4.11/Dockerfile) | [✔️](https://raw.githubusercontent.com/ElementsProject/lightning-charge/v0.4.11/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/ElementsProject/lightning-charge/v0.4.11/arm64v8.Dockerfile) | [Github](https://github.com/ElementsProject/lightning-charge) - [DockerHub](https://hub.docker.com/r/shesek/lightning-charge) | | shesek/spark-wallet | 0.2.9-standalone | [✔️](https://raw.githubusercontent.com/shesek/spark-wallet/v0.2.9/Dockerfile) | [✔️](https://raw.githubusercontent.com/shesek/spark-wallet/v0.2.9/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/shesek/spark-wallet/v0.2.9/arm64v8.Dockerfile) | [Github](https://github.com/shesek/spark-wallet) - [DockerHub](https://hub.docker.com/r/shesek/spark-wallet) | +| kukks/clightning-rest | 0.2.0 | [✔️](https://raw.githubusercontent.com/kukks/c-lightning-REST/v0.2.0/amd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/kukks/c-lightning-REST/v0.2.0/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/kukks/c-lightning-REST/v0.2.0/arm64v8.Dockerfile) | [Github](https://github.com/kukks/c-lightning-REST) - [DockerHub](https://hub.docker.com/r/kukks/clightning-rest) | +| shahanafarooqui/rtl | 0.6.3 | [✔️](https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.3/Dockerfile) | [✔️](https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.3/Dockerfile.arm32v7) | [✔️](https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.3/Dockerfile.arm64v8) | [Github](https://github.com/ShahanaFarooqui/RTL) - [DockerHub](https://hub.docker.com/r/shahanafarooqui/rtl) | | btcpayserver/lnd | v0.8.2-beta | [✔️](https://raw.githubusercontent.com/btcpayserver/lnd/basedon-v0.8.2-beta/linuxamd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/lnd/basedon-v0.8.2-beta/linuxarm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/lnd/basedon-v0.8.2-beta/linuxarm64v8.Dockerfile) | [Github](https://github.com/btcpayserver/lnd) - [DockerHub](https://hub.docker.com/r/btcpayserver/lnd) | -| shahanafarooqui/rtl | 0.6.1 | [✔️](https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.1/Dockerfile) | [✔️](https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.1/Dockerfile.arm32v7) | [✔️](https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.1/Dockerfile.arm64v8) | [Github](https://github.com/ShahanaFarooqui/RTL) - [DockerHub](https://hub.docker.com/r/shahanafarooqui/rtl) | -| btcpayserver/btcpayserver | 1.0.3.153 | [✔️](https://raw.githubusercontent.com/btcpayserver/btcpayserver/v1.0.3.153/amd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/btcpayserver/v1.0.3.153/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/btcpayserver/v1.0.3.153/arm64v8.Dockerfile) | [Github](https://github.com/btcpayserver/btcpayserver) - [DockerHub](https://hub.docker.com/r/btcpayserver/btcpayserver) | +| btcpayserver/btcpayserver | 1.0.3.151 | [✔️](https://raw.githubusercontent.com/btcpayserver/btcpayserver/v1.0.3.151/amd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/btcpayserver/v1.0.3.151/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/btcpayserver/v1.0.3.151/arm64v8.Dockerfile) | [Github](https://github.com/btcpayserver/btcpayserver) - [DockerHub](https://hub.docker.com/r/btcpayserver/btcpayserver) | | nicolasdorier/nbxplorer | 2.1.7 | [✔️](https://raw.githubusercontent.com/dgarage/nbxplorer/v2.1.7/Dockerfile.linuxamd64) | [✔️](https://raw.githubusercontent.com/dgarage/nbxplorer/v2.1.7/Dockerfile.linuxarm32v7) | [✔️](https://raw.githubusercontent.com/dgarage/nbxplorer/v2.1.7/Dockerfile.linuxarm64v8) | [Github](https://github.com/dgarage/nbxplorer) - [DockerHub](https://hub.docker.com/r/nicolasdorier/nbxplorer) | | nginx | 1.16.0 | [✔️](https://raw.githubusercontent.com/nginxinc/docker-nginx/1.16.0/stable/stretch/Dockerfile) | [✔️](https://raw.githubusercontent.com/nginxinc/docker-nginx/1.16.0/stable/stretch/Dockerfile) | [✔️](https://raw.githubusercontent.com/nginxinc/docker-nginx/1.16.0/stable/stretch/Dockerfile) | [Github](https://github.com/nginxinc/docker-nginx) - [DockerHub](https://hub.docker.com/_/nginx) | | btcpayserver/docker-gen | 0.7.7 | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-gen/v0.7.7/linuxamd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-gen/v0.7.7/linuxarm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-gen/v0.7.7/linuxarm64v8.Dockerfile) | [Github](https://github.com/btcpayserver/docker-gen) - [DockerHub](https://hub.docker.com/r/btcpayserver/docker-gen) | diff --git a/contrib/DockerFileBuildHelper/Program.cs b/contrib/DockerFileBuildHelper/Program.cs index b756b17..21a25a6 100644 --- a/contrib/DockerFileBuildHelper/Program.cs +++ b/contrib/DockerFileBuildHelper/Program.cs @@ -506,6 +506,14 @@ namespace DockerFileBuildHelper dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; dockerInfo.SupportedByUs = true; break; + case "clightning-rest": + dockerInfo.DockerFilePath = $"amd64.Dockerfile"; + dockerInfo.DockerFilePathARM32v7 = $"arm32v7.Dockerfile"; + dockerInfo.DockerFilePathARM64v8 = $"arm64v8.Dockerfile"; + dockerInfo.GitLink = "https://github.com/kukks/c-lightning-REST"; + dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; + dockerInfo.SupportedByUs = true; + break; default: if (firstTry) { diff --git a/contrib/build-all-images.sh b/contrib/DockerFileBuildHelper/build-all-images.sh old mode 100755 new mode 100644 similarity index 94% rename from contrib/build-all-images.sh rename to contrib/DockerFileBuildHelper/build-all-images.sh index 4cf859d..736ac78 --- a/contrib/build-all-images.sh +++ b/contrib/DockerFileBuildHelper/build-all-images.sh @@ -109,6 +109,38 @@ docker build -f "$DOCKERFILE" -t "shesek/spark-wallet:0.2.9-standalone" . cd - && cd .. +# Build clightning-rest +# https://raw.githubusercontent.com/kukks/c-lightning-REST/v0.2.0/amd64.Dockerfile +DOCKERFILE="amd64.Dockerfile" +# https://raw.githubusercontent.com/kukks/c-lightning-REST/v0.2.0/arm32v7.Dockerfile +[[ "$(uname -m)" == "armv7l" ]] && DOCKERFILE="arm32v7.Dockerfile" +# https://raw.githubusercontent.com/kukks/c-lightning-REST/v0.2.0/arm64v8.Dockerfile +[[ "$(uname -m)" == "aarch64" ]] && DOCKERFILE="arm64v8.Dockerfile" +echo "Building kukks/clightning-rest:0.2.0" +git clone https://github.com/kukks/c-lightning-REST clightning-rest +cd clightning-rest +git checkout v0.2.0 +cd "$(dirname $DOCKERFILE)" +docker build -f "$DOCKERFILE" -t "kukks/clightning-rest:0.2.0" . +cd - && cd .. + + +# Build rtl +# https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.3/Dockerfile +DOCKERFILE="Dockerfile" +# https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.3/Dockerfile.arm32v7 +[[ "$(uname -m)" == "armv7l" ]] && DOCKERFILE="Dockerfile.arm32v7" +# https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.3/Dockerfile.arm64v8 +[[ "$(uname -m)" == "aarch64" ]] && DOCKERFILE="Dockerfile.arm64v8" +echo "Building shahanafarooqui/rtl:0.6.3" +git clone https://github.com/ShahanaFarooqui/RTL rtl +cd rtl +git checkout v0.6.3 +cd "$(dirname $DOCKERFILE)" +docker build -f "$DOCKERFILE" -t "shahanafarooqui/rtl:0.6.3" . +cd - && cd .. + + # Build eclair # https://raw.githubusercontent.com/ACINQ/eclair/btcpay/Dockerfile DOCKERFILE="Dockerfile" @@ -138,18 +170,18 @@ cd - && cd .. # Build rtl -# https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.1/Dockerfile +# https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.5.4/Dockerfile DOCKERFILE="Dockerfile" -# https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.1/Dockerfile.arm32v7 +# https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.5.4/Dockerfile.arm32v7 [[ "$(uname -m)" == "armv7l" ]] && DOCKERFILE="Dockerfile.arm32v7" -# https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.6.1/Dockerfile.arm64v8 +# https://raw.githubusercontent.com/ShahanaFarooqui/RTL/v0.5.4/Dockerfile.arm64v8 [[ "$(uname -m)" == "aarch64" ]] && DOCKERFILE="Dockerfile.arm64v8" -echo "Building shahanafarooqui/rtl:0.6.1" +echo "Building shahanafarooqui/rtl:0.5.4" git clone https://github.com/ShahanaFarooqui/RTL rtl cd rtl -git checkout v0.6.1 +git checkout v0.5.4 cd "$(dirname $DOCKERFILE)" -docker build -f "$DOCKERFILE" -t "shahanafarooqui/rtl:0.6.1" . +docker build -f "$DOCKERFILE" -t "shahanafarooqui/rtl:0.5.4" . cd - && cd .. diff --git a/docker-compose-generator/docker-fragments/bitcoin-clightning.yml b/docker-compose-generator/docker-fragments/bitcoin-clightning.yml index 09c1977..254ddb3 100644 --- a/docker-compose-generator/docker-fragments/bitcoin-clightning.yml +++ b/docker-compose-generator/docker-fragments/bitcoin-clightning.yml @@ -37,6 +37,7 @@ services: - "9112" links: - clightning_bitcoin + clightning_bitcoin_spark: image: shesek/spark-wallet:0.2.9-standalone restart: unless-stopped @@ -50,18 +51,57 @@ services: - clightning_bitcoin expose: - "9737" + + clightning_bitcoin_rest: + image: kukks/clightning-rest:0.2.0 + restart: unless-stopped + environment: + PROTOCOL: "http" + NODE: clightning_bitcoin:9835 + links: + - clightning_bitcoin + volumes: + - "clightning_bitcoin_datadir:/root/.lightning" + - "bitcoin_datadir:/etc/bitcoin" + - "clightning_bitcoin_rest_datadir:/usr/src/app" + expose: + - "3001" + + bitcoin_rtl: + image: shahanafarooqui/rtl:0.6.3 + restart: unless-stopped + environment: + LN_IMPLEMENTATION: CLT + LN_SERVER_URL: http://clightning_bitcoin_rest:3001/v1 + MACAROON_PATH: /etc/clightning_bitcoin_rest/certs + RTL_CONFIG_PATH: /data/RTL.conf + BITCOIND_CONFIG_PATH: /etc/bitcoin/bitcoin.conf + RTL_SSO: 1 + RTL_COOKIE_PATH: /data/.cookie + LOGOUT_REDIRECT_LINK: /server/services + volumes: + - "bitcoin_datadir:/etc/bitcoin" + - "clightning_bitcoin_rtl_datadir:/data" + - "clightning_bitcoin_rest_datadir:/etc/clightning_bitcoin_rest" + expose: + - "3000" + btcpayserver: environment: BTCPAY_BTCLIGHTNING: "type=clightning;server=unix://etc/clightning_bitcoin/lightning-rpc" BTCPAY_BTCEXTERNALSPARK: "server=/spark/btc/;cookiefile=/etc/clightning_bitcoin_spark/.cookie" BTCPAY_BTCEXTERNALCHARGE: "server=/lightning-charge/btc/;cookiefilepath=/etc/clightning_bitcoin_charge/.cookie" + BTCPAY_BTCEXTERNALRTL: "server=/rtl/api/authenticate/cookie;cookiefile=/etc/clightning_bitcoin_rtl/.cookie" volumes: - "clightning_bitcoin_datadir:/etc/clightning_bitcoin" - "clightning_bitcoin_spark:/etc/clightning_bitcoin_spark" - "clightning_bitcoin_charge:/etc/clightning_bitcoin_charge" + - "clightning_bitcoin_rtl_datadir:/etc/clightning_bitcoin_rtl" links: - clightning_bitcoin volumes: clightning_bitcoin_datadir: clightning_bitcoin_spark: clightning_bitcoin_charge: + clightning_bitcoin_rtl_datadir: + clightning_bitcoin_rest_datadir: diff --git a/docker-compose-generator/docker-fragments/bitcoin-lnd.yml b/docker-compose-generator/docker-fragments/bitcoin-lnd.yml index 69a9a72..0c0ed4b 100644 --- a/docker-compose-generator/docker-fragments/bitcoin-lnd.yml +++ b/docker-compose-generator/docker-fragments/bitcoin-lnd.yml @@ -38,8 +38,8 @@ services: links: - bitcoind - lnd_bitcoin_rtl: - image: shahanafarooqui/rtl:0.6.1 + bitcoin_rtl: + image: shahanafarooqui/rtl:0.5.4 restart: unless-stopped environment: LND_SERVER_URL: http://lnd_bitcoin:8080/v1