1
0

Add Bluewallet LNDHub (#472)

* Add Bluewallet LND Hub to BTCPay Server

Anyone else want to use native Bluewallet Lightning with their BTC Pay Server, this will enable it.

* Add Bluewallet LND Hub to BTCPay Server

Use non-custodial LND Lightning directly from your Bluewallet, and freely let others open accounts on your node.

* Update README.md

* Update opt-add-bluewallet-lndhub.yml

* Update opt-add-bluewallet-lndhub.yml

* Testing defects fixed

Remove init (not compatible with v3 of docker-compose)

Update compatibility table

* Update README.md

* Nginx RP Fixes

* Update nginx.tmpl

* Fixed stylesheet and QR code display issues

* Requested changes from Kukks

* Add missing images to docker builder and build

* move required key to bottom of fragment

Co-authored-by: Andrew Camilleri <kukks@btcpayserver.org>
Co-authored-by: Kukks <evilkukka@gmail.com>
This commit is contained in:
maltokyo
2021-05-11 09:56:31 +02:00
committed by GitHub
parent 9fca47533b
commit 420ae328b1
5 changed files with 114 additions and 9 deletions

View File

@@ -94,6 +94,16 @@
}
{{ end }}
{{ if (eq $serviceName "bluewallet_lndhub_app") }}
location /bluewallet_lndhub_app/ {
proxy_pass http://bluewallet_lndhub_app:3000/;
sub_filter 'href="../' 'href="/bluewallet_lndhub_app/';
sub_filter 'src="/' 'src="/bluewallet_lndhub_app/';
sub_filter_once off;
}
{{ end }}
{{ if (eq $serviceName "sphinxrelay") }}
location /sphinxrelay/ {
proxy_set_header Host $host;

View File

@@ -172,6 +172,7 @@ Available `BTCPAYGEN_ADDITIONAL_FRAGMENTS` currently are:
* [opt-add-electrum-bwt](docker-compose-generator/docker-fragments/opt-add-bwt.yml), to integrate the [Bitcoin Wallet Tracker](https://github.com/bwt-dev/bwt) Electrum server, which uses a personal wallet index model similar to that of EPS. You will need to set `BWT_XPUB` with your XPUB/YPUB/ZPUB (see environment variables section). The server will only be available locally and through an onion service.
* [opt-add-configurator](docker-compose-generator/docker-fragments/opt-add-configurator.yml), to integrate the [BTCPay Server Configurator](https://install.btcpayserver.org) to manage your BTCPay deployment through a UI, and to allow new deployments elsewhere easily.
* [opt-add-pihole](docker-compose-generator/docker-fragments/opt-add-pihole.yml) ([See the documentation](docs/pihole.md))
* [opt-add-bluewallet-lndhub](docker-compose-generator/docker-fragments/opt-add-bluewallet-lndhub.yml) for [Bluewallet LNDHub](https://github.com/BlueWallet/LndHub) - Use non-custodial LND Lightning directly from your Bluewallet, and freely let others open accounts on your node. Fragment maintained by [maltokyo](https://github.com/maltokyo).
* [opt-add-ndlc](docker-compose-generator/docker-fragments/opt-add-ndlc.yml) ([See the documentation](docs/ndlc.md))
* [opt-add-sphinxrelay](docker-compose-generator/docker-fragments/opt-add-sphinxrelay.yml) for [Sphinx Relay](https://github.com/stakwork/sphinx-relay). Maintained by [dennisreimann](https://github.com/dennisreimann).
* [opt-add-thunderhub](docker-compose-generator/docker-fragments/opt-add-thunderhub.yml) for a LND Lightning Node Manager in your Browser. Maintained by [apotdevin](https://github.com/apotdevin).
@@ -363,14 +364,16 @@ We are trying to update our dependencies to run on `arm32v7` and `x64` boards. H
| btcpayserver/litecoin | 0.17.1-1 | [✔️](https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Litecoin/0.17.1-1/Litecoin/0.17.1/linuxamd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Litecoin/0.17.1-1/Litecoin/0.17.1/linuxarm32v7.Dockerfile) | ️❌ | [Github](https://github.com/btcpayserver/dockerfile-deps) - [DockerHub](https://hub.docker.com/r/btcpayserver/litecoin) |
| wakiyamap/docker-monacoin | 0.17.1 | [✔️](https://raw.githubusercontent.com/wakiyamap/docker-bitcoin/master/monacoin/0.17.1/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/wakiyamap/docker-bitcoin) - [DockerHub](https://hub.docker.com/r/wakiyamap/docker-monacoin) |
| btcpayserver/monero | 0.17.2.0 | [✔️](https://raw.githubusercontent.com/Kukks/monero-docker/x86_64/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/Kukks/monero-docker) - [DockerHub](https://hub.docker.com/r/btcpayserver/monero) |
| redis | 6.2.2-buster@sha256:e10f55f92478715698a2cef97c2bbdc48df2a05081edd884938903aa60df6396 | [✔️](https://raw.githubusercontent.com/docker-library/redis/f1a8498333ae3ab340b5b39fbac1d7e1dc0d628c/5.0/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/docker-library/redis) - [DockerHub](https://hub.docker.com/_/redis) |
| bluewalletorganization/lndhub | v1.3.3@sha256:b99408dfb53f503def405668f5fc4d8185de39a87843d4ea8774544a5df1fe36 | [✔️](https://raw.githubusercontent.com/BlueWallet/LndHub/v1.3.3/Dockerfile) | [✔️](https://raw.githubusercontent.com/BlueWallet/LndHub/v1.3.3/Dockerfile) | ️❌ | [Github](https://github.com/BlueWallet/LndHub) - [DockerHub](https://hub.docker.com/r/bluewalletorganization/lndhub) |
| jvandrew/btcqbo | 0.3.36 | [✔️](https://raw.githubusercontent.com/JeffVandrewJr/btcqbo/v0.3.36/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/JeffVandrewJr/btcqbo) - [DockerHub](https://hub.docker.com/r/jvandrew/btcqbo) |
| redis | 5.0.2-alpine | [✔️](https://raw.githubusercontent.com/docker-library/redis/f1a8498333ae3ab340b5b39fbac1d7e1dc0d628c/5.0/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/docker-library/redis) - [DockerHub](https://hub.docker.com/_/redis) |
| shesek/bwt | 0.2.2-electrum | [✔️](https://raw.githubusercontent.com/bwt-dev/bwt/v0.2.2/docker/Dockerfile) | [✔️](https://raw.githubusercontent.com/bwt-dev/bwt/v0.2.2/docker/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/bwt-dev/bwt/v0.2.2/docker/arm64v8.Dockerfile) | [Github](https://github.com/bwt-dev/bwt) - [DockerHub](https://hub.docker.com/r/shesek/bwt) |
| lukechilds/electrumx | latest | [✔️](https://raw.githubusercontent.com/lukechilds/docker-electrumx/master/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/lukechilds/docker-electrumx) - [DockerHub](https://hub.docker.com/r/lukechilds/electrumx) |
| jvandrew/librepatron | 0.7.39 | [✔️](https://raw.githubusercontent.com/JeffVandrewJr/patron/v0.7.39/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/JeffVandrewJr/patron) - [DockerHub](https://hub.docker.com/r/jvandrew/librepatron) |
| jvandrew/isso | atron.22 | [✔️](https://raw.githubusercontent.com/JeffVandrewJr/isso/patron.22/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/JeffVandrewJr/isso) - [DockerHub](https://hub.docker.com/r/jvandrew/isso) |
| sphinxlightning/sphinx-relay | v2.0.13 | [✔️](https://raw.githubusercontent.com/stakwork/sphinx-relay/v2.0.13/Dockerfile) | ️❌ | [✔️](https://raw.githubusercontent.com/stakwork/sphinx-relay/v2.0.13/Dockerfile) | [Github](https://github.com/stakwork/sphinx-relay) - [DockerHub](https://hub.docker.com/r/sphinxlightning/sphinx-relay) |
| talaia/python-teos | latest | [✔️](https://raw.githubusercontent.com/talaia-labs/python-teos/master/docker/Dockerfile) | [✔️](https://raw.githubusercontent.com/talaia-labs/python-teos/master/docker/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/talaia-labs/python-teos/master/docker/arm64v8.Dockerfile) | [Github](https://github.com/talaia-labs/python-teos) - [DockerHub](https://hub.docker.com/r/talaia/python-teos) |
| apotdevin/thunderhub | base-v0.12.15 | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.15/Dockerfile) | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.15/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.15/arm64v8.Dockerfile) | [Github](https://github.com/apotdevin/thunderhub) - [DockerHub](https://hub.docker.com/r/apotdevin/thunderhub) |
| apotdevin/thunderhub | base-v0.12.16 | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.16/Dockerfile) | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.16/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.16/arm64v8.Dockerfile) | [Github](https://github.com/apotdevin/thunderhub) - [DockerHub](https://hub.docker.com/r/apotdevin/thunderhub) |
| btcpayserver/docker-woocommerce | 3.0.12 | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-woocommerce/v3.0.12/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/btcpayserver/docker-woocommerce) - [DockerHub](https://hub.docker.com/r/btcpayserver/docker-woocommerce) |
| mariadb | 10.3 | [✔️](https://raw.githubusercontent.com/docker-library/mariadb/master/10.3/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/docker-library/mariadb) - [DockerHub](https://hub.docker.com/_/mariadb) |
| zammad/zammad-docker-compose | zammad-postgresql-3.4.0-4 | [✔️](https://raw.githubusercontent.com/zammad/zammad-docker-compose/master/containers/zammad-postgresql/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/zammad/zammad-docker-compose) - [DockerHub](https://hub.docker.com/r/zammad/zammad-docker-compose) |
@@ -378,7 +381,6 @@ We are trying to update our dependencies to run on `arm32v7` and `x64` boards. H
| traefik | latest | [✔️](https://raw.githubusercontent.com/containous/traefik-library-image/master/scratch/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/containous/traefik-library-image) - [DockerHub](https://hub.docker.com/_/traefik) |
| chekaz/docker-trezarcoin | 0.13.0 | [✔️](https://raw.githubusercontent.com/ChekaZ/docker/master/trezarcoin/1.2.0/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/ChekaZ/docker) - [DockerHub](https://hub.docker.com/r/chekaz/docker-trezarcoin) |
| romanornr/docker-viacoin | 0.15.2 | [✔️](https://raw.githubusercontent.com/viacoin/docker-viacoin/master/viacoin/0.15.2/docker-viacoin) | ️❌ | ️❌ | [Github](https://github.com/viacoin/docker-viacoin) - [DockerHub](https://hub.docker.com/r/romanornr/docker-viacoin) |
| stakwork/sphinx-relay | 2.0.13 | [✔️](https://github.com/stakwork/sphinx-relay/blob/v2.0.13/Dockerfile) | ❌ | ❌ | [Github](https://github.com/stakwork/sphinx-relay) - [DockerHub](https://hub.docker.com/r/sphinxlightning/sphinx-relay/) |
# FAQ

View File

@@ -600,6 +600,19 @@ namespace DockerFileBuildHelper
dockerInfo.GitLink = "https://github.com/bwt-dev/bwt";
dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}";
break;
case "sphinx-relay":
dockerInfo.DockerFilePath = $"Dockerfile";
dockerInfo.DockerFilePathARM64v8 = $"Dockerfile";
dockerInfo.DockerFilePathARM64v8 = $"Dockerfile";
dockerInfo.GitLink = "https://github.com/stakwork/sphinx-relay";
dockerInfo.GitRef = $"{image.Tag}";
break;
case "lndhub":
dockerInfo.DockerFilePath = $"Dockerfile";
dockerInfo.DockerFilePathARM32v7 = $"Dockerfile";
dockerInfo.GitLink = "https://github.com/BlueWallet/LndHub";
dockerInfo.GitRef = $"{image.Tag.Split("@")[0]}";
break;
default:
if (firstTry)
{

View File

@@ -531,6 +531,32 @@ docker build -f "$DOCKERFILE" -t "btcpayserver/docker-gen:0.7.8" .
cd - && cd ..
# Build redis
# https://raw.githubusercontent.com/docker-library/redis/f1a8498333ae3ab340b5b39fbac1d7e1dc0d628c/5.0/Dockerfile
DOCKERFILE="5.0/Dockerfile"
echo "Building redis:6.2.2-buster@sha256:e10f55f92478715698a2cef97c2bbdc48df2a05081edd884938903aa60df6396"
git clone https://github.com/docker-library/redis redis
cd redis
git checkout f1a8498333ae3ab340b5b39fbac1d7e1dc0d628c
cd "$(dirname $DOCKERFILE)"
docker build -f "$DOCKERFILE" -t "redis:6.2.2-buster@sha256:e10f55f92478715698a2cef97c2bbdc48df2a05081edd884938903aa60df6396" .
cd - && cd ..
# Build lndhub
# https://raw.githubusercontent.com/BlueWallet/LndHub/v1.3.3/Dockerfile
DOCKERFILE="Dockerfile"
# https://raw.githubusercontent.com/BlueWallet/LndHub/v1.3.3/Dockerfile
[[ "$(uname -m)" == "armv7l" ]] && DOCKERFILE="Dockerfile"
echo "Building bluewalletorganization/lndhub:v1.3.3@sha256:b99408dfb53f503def405668f5fc4d8185de39a87843d4ea8774544a5df1fe36"
git clone https://github.com/BlueWallet/LndHub lndhub
cd lndhub
git checkout v1.3.3
cd "$(dirname $DOCKERFILE)"
docker build -f "$DOCKERFILE" -t "bluewalletorganization/lndhub:v1.3.3@sha256:b99408dfb53f503def405668f5fc4d8185de39a87843d4ea8774544a5df1fe36" .
cd - && cd ..
# Build btcqbo
# https://raw.githubusercontent.com/JeffVandrewJr/btcqbo/v0.3.36/Dockerfile
DOCKERFILE="Dockerfile"
@@ -687,6 +713,20 @@ docker build -f "$DOCKERFILE" -t "pihole/pihole:v5.7" .
cd - && cd ..
# Build sphinx-relay
# https://raw.githubusercontent.com/stakwork/sphinx-relay/v2.0.13/Dockerfile
DOCKERFILE="Dockerfile"
# https://raw.githubusercontent.com/stakwork/sphinx-relay/v2.0.13/Dockerfile
[[ "$(uname -m)" == "aarch64" ]] && DOCKERFILE="Dockerfile"
echo "Building sphinxlightning/sphinx-relay:v2.0.13"
git clone https://github.com/stakwork/sphinx-relay sphinx-relay
cd sphinx-relay
git checkout v2.0.13
cd "$(dirname $DOCKERFILE)"
docker build -f "$DOCKERFILE" -t "sphinxlightning/sphinx-relay:v2.0.13" .
cd - && cd ..
# Build python-teos
# https://raw.githubusercontent.com/talaia-labs/python-teos/master/docker/Dockerfile
DOCKERFILE="docker/Dockerfile"
@@ -704,18 +744,18 @@ cd - && cd ..
# Build thunderhub
# https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.15/Dockerfile
# https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.16/Dockerfile
DOCKERFILE="Dockerfile"
# https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.15/arm32v7.Dockerfile
# https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.16/arm32v7.Dockerfile
[[ "$(uname -m)" == "armv7l" ]] && DOCKERFILE="arm32v7.Dockerfile"
# https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.15/arm64v8.Dockerfile
# https://raw.githubusercontent.com/apotdevin/thunderhub/v0.12.16/arm64v8.Dockerfile
[[ "$(uname -m)" == "aarch64" ]] && DOCKERFILE="arm64v8.Dockerfile"
echo "Building apotdevin/thunderhub:base-v0.12.15"
echo "Building apotdevin/thunderhub:base-v0.12.16"
git clone https://github.com/apotdevin/thunderhub thunderhub
cd thunderhub
git checkout v0.12.15
git checkout v0.12.16
cd "$(dirname $DOCKERFILE)"
docker build -f "$DOCKERFILE" -t "apotdevin/thunderhub:base-v0.12.15" .
docker build -f "$DOCKERFILE" -t "apotdevin/thunderhub:base-v0.12.16" .
cd - && cd ..

View File

@@ -0,0 +1,40 @@
version: "3"
services:
bluewallet_lndhub_redis:
container_name: bluewallet_lndhub_redis
image: "redis:6.2.2-buster@sha256:e10f55f92478715698a2cef97c2bbdc48df2a05081edd884938903aa60df6396"
command: "redis-server --requirepass S7bk49NBp29khUci4Zw28vsBviCnYfZ2QLTEsQNizq9ni5ur"
restart: "on-failure"
stop_grace_period: "1m"
volumes:
- "bluewallet_lndhub_redisdir:/data"
bluewallet_lndhub_app:
container_name: bluewallet_lndhub_app
image: "bluewalletorganization/lndhub:v1.3.3@sha256:b99408dfb53f503def405668f5fc4d8185de39a87843d4ea8774544a5df1fe36"
user: "0:0"
depends_on: [ "bluewallet_lndhub_redis" ]
restart: "on-failure"
stop_grace_period: "1m"
volumes:
- "lnd_bitcoin_datadir:/lnd:ro"
environment:
PORT: "3000"
#TOR_URL: "${APP_HIDDEN_SERVICE}"
LND_CERT_FILE: "/lnd/tls.cert"
LND_ADMIN_MACAROON_FILE: "/lnd/admin.macaroon"
CONFIG: '{ "rateLimit": 10000, "postRateLimit": 10000, "redis": { "port": 6379, "host": "bluewallet_lndhub_redis", "family": 4, "password": "S7bk49NBp29khUci4Zw28vsBviCnYfZ2QLTEsQNizq9ni5ur", "db": 0 }, "lnd": { "url": "lnd_bitcoin:10009", "password": ""}}'
btcpayserver:
environment:
BTCPAY_EXTERNALSERVICES: "Blue Wallet LNDHub:${BTCPAY_PROTOCOL:-https}://${BTCPAY_HOST}/bluewallet_lndhub_app;"
# use docker native volumes
volumes:
bluewallet_lndhub_redisdir:
required:
- "bitcoin-lnd"