Add Lightning Watchtower TEOS + add zmq fragment (#320)

* Add Lightning Watchtower TEOS + add zmq fragment

* add txindex requirement

* update port

* add zmqpubhashblock

* update zmq port

* expose port

* Update opt-add-zmq.yml

* update image

* update local docker builder
This commit is contained in:
Andrew Camilleri 2020-07-02 05:43:58 +02:00 committed by GitHub
parent 20bb6db9e0
commit 1f55d7bc0e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 130 additions and 45 deletions

View File

@ -168,6 +168,7 @@ Available `BTCPAYGEN_ADDITIONAL_FRAGMENTS` currently are:
* [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-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-pihole](docker-compose-generator/docker-fragments/opt-add-pihole.yml) ([See the documentation](docs/pihole.md))
* [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). * [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).
* [opt-add-teos](docker-compose-generator/docker-fragments/opt-add-teos.yml) for [The Eye Of Satoshi](https://github.com/talaia-labs/python-teos), a BOLT13 Lightning Watchtower. Use port 9814 on your server or Tor to connect.
You can also create your own [custom fragments](#how-can-i-customize-the-generated-docker-compose-file). You can also create your own [custom fragments](#how-can-i-customize-the-generated-docker-compose-file).
@ -357,6 +358,7 @@ We are trying to update our dependencies to run on `arm32v7` and `x64` boards. H
| 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) | | 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/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) | | 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) |
| 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/Dockerfile) | [✔️](https://raw.githubusercontent.com/talaia-labs/python-teos/master/docker/Dockerfile) | [Github](https://github.com/talaia-labs/python-teos) - [DockerHub](https://hub.docker.com/r/talaia/python-teos) |
| apotdevin/thunderhub | v0.8.5 | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.8.5/Dockerfile) | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.8.5/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.8.5/arm64v8.Dockerfile) | [Github](https://github.com/apotdevin/thunderhub) - [DockerHub](https://hub.docker.com/r/apotdevin/thunderhub) | | apotdevin/thunderhub | v0.8.5 | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.8.5/Dockerfile) | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.8.5/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/apotdevin/thunderhub/v0.8.5/arm64v8.Dockerfile) | [Github](https://github.com/apotdevin/thunderhub) - [DockerHub](https://hub.docker.com/r/apotdevin/thunderhub) |
| btcpayserver/docker-woocommerce | 3.0.6-3 | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-woocommerce/v3.0.6-3/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/btcpayserver/docker-woocommerce) - [DockerHub](https://hub.docker.com/r/btcpayserver/docker-woocommerce) | | btcpayserver/docker-woocommerce | 3.0.6-3 | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-woocommerce/v3.0.6-3/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) | | 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) |

View File

@ -551,6 +551,14 @@ namespace DockerFileBuildHelper
dockerInfo.GitLink = "https://github.com/apotdevin/thunderhub"; dockerInfo.GitLink = "https://github.com/apotdevin/thunderhub";
dockerInfo.GitRef = $"{image.Tag.Split('-')[0]}"; dockerInfo.GitRef = $"{image.Tag.Split('-')[0]}";
dockerInfo.SupportedByUs = false; dockerInfo.SupportedByUs = false;
break;
case "python-teos":
dockerInfo.DockerFilePath = $"docker/Dockerfile";
dockerInfo.DockerFilePathARM32v7 = $"docker/Dockerfile";
dockerInfo.DockerFilePathARM64v8 = $"docker/Dockerfile";
dockerInfo.GitLink = "https://github.com/talaia-labs/python-teos";
dockerInfo.GitRef = $"master";
dockerInfo.SupportedByUs = false;
break; break;
default: default:
if (firstTry) if (firstTry)

View File

@ -639,6 +639,22 @@ docker build -f "$DOCKERFILE" -t "pihole/pihole:v5.0" .
cd - && cd .. cd - && cd ..
# Build python-teos
# https://raw.githubusercontent.com/talaia-labs/python-teos/master/docker/Dockerfile
DOCKERFILE="docker/Dockerfile"
# https://raw.githubusercontent.com/talaia-labs/python-teos/master/docker/Dockerfile
[[ "$(uname -m)" == "armv7l" ]] && DOCKERFILE="docker/Dockerfile"
# https://raw.githubusercontent.com/talaia-labs/python-teos/master/docker/Dockerfile
[[ "$(uname -m)" == "aarch64" ]] && DOCKERFILE="docker/Dockerfile"
echo "Building talaia/python-teos:latest"
git clone https://github.com/talaia-labs/python-teos python-teos
cd python-teos
git checkout master
cd "$(dirname $DOCKERFILE)"
docker build -f "$DOCKERFILE" -t "talaia/python-teos:latest" .
cd - && cd ..
# Build thunderhub # Build thunderhub
# https://raw.githubusercontent.com/apotdevin/thunderhub/v0.8.5/Dockerfile # https://raw.githubusercontent.com/apotdevin/thunderhub/v0.8.5/Dockerfile
DOCKERFILE="Dockerfile" DOCKERFILE="Dockerfile"

View File

@ -31,21 +31,11 @@ services:
btcpayserver: btcpayserver:
environment: environment:
BTCPAY_BTCLIGHTNING: "type=lnd-rest;server=http://lnd_bitcoingold:8080/;macaroonfilepath=/etc/lnd_bitcoingold/admin.macaroon;allowinsecure=true" BTCPAY_BTGLIGHTNING: "type=lnd-rest;server=http://lnd_bitcoingold:8080/;macaroonfilepath=/etc/lnd_bitcoingold/admin.macaroon;allowinsecure=true"
volumes: volumes:
- "lnd_bitcoingold_datadir:/etc/lnd_bitcoingold" - "lnd_bitcoingold_datadir:/etc/lnd_bitcoingold"
links: links:
- lnd_bitcoingold - lnd_bitcoingold
bgoldd:
environment:
BITCOIN_EXTRA_ARGS: |
zmqpubrawtx=tcp://0.0.0.0:28332
zmqpubrawblock=tcp://0.0.0.0:28332
zmqpubrawtxlock=tcp://0.0.0.0:28332
zmqpubhashblock=tcp://0.0.0.0:28332
expose:
- "28332"
nginx: nginx:
links: links:
@ -59,4 +49,7 @@ services:
- "lnd_bitcoingold_datadir:/lnd" - "lnd_bitcoingold_datadir:/lnd"
volumes: volumes:
lnd_bitcoingold_datadir: lnd_bitcoingold_datadir:
required:
- "opt-add-zmq"

View File

@ -4,10 +4,7 @@ services:
bitcoind: bitcoind:
environment: environment:
BITCOIN_EXTRA_ARGS: | BITCOIN_EXTRA_ARGS: |
zmqpubrawblock=tcp://0.0.0.0:28332
zmqpubrawtx=tcp://0.0.0.0:28333
rpcauth=eclair:d3a244200d5c946f6bef48e6583ec979$$215049513aef33245dfec8ff3ab5e749458fde51ede931dec04c767c0732d468 rpcauth=eclair:d3a244200d5c946f6bef48e6583ec979$$215049513aef33245dfec8ff3ab5e749458fde51ede931dec04c767c0732d468
txindex=1
eclair_bitcoin: eclair_bitcoin:
container_name: btcpayserver_eclair_bitcoin container_name: btcpayserver_eclair_bitcoin
restart: unless-stopped restart: unless-stopped
@ -51,5 +48,9 @@ services:
- eclair_bitcoin - eclair_bitcoin
volumes: volumes:
eclair_bitcoin_datadir: eclair_bitcoin_datadir:
incompatible: incompatible:
- pruning - pruning
required:
- "opt-add-zmq"
- "opt-txindex"

View File

@ -76,16 +76,11 @@ services:
bitcoind: bitcoind:
environment: environment:
BITCOIN_EXTRA_ARGS: | BITCOIN_EXTRA_ARGS: |
zmqpubrawblock=tcp://0.0.0.0:28332
zmqpubrawtx=tcp://0.0.0.0:28333
# rpcuser=lnd # rpcuser=lnd
# rpcpassword=afixedpasswordbecauselndsuckswithcookiefile # rpcpassword=afixedpasswordbecauselndsuckswithcookiefile
# We need to use rpcauth because we also need cookieauth. rpcpassword disabled cookie file auth. # We need to use rpcauth because we also need cookieauth. rpcpassword disabled cookie file auth.
# Be careful if you copy the line below from the docker-compose.yml! A dollar sign is escaped. # Be careful if you copy the line below from the docker-compose.yml! A dollar sign is escaped.
rpcauth=lnd:d031f7567c5b02ba95524170e51c77f4$$827ce5412f653d6613c2f480e521eb437c866b999bdeb2ee4f9c41d3b00dff1c rpcauth=lnd:d031f7567c5b02ba95524170e51c77f4$$827ce5412f653d6613c2f480e521eb437c866b999bdeb2ee4f9c41d3b00dff1c
expose:
- "28332"
- "28333"
nginx: nginx:
links: links:
@ -101,3 +96,6 @@ services:
volumes: volumes:
lnd_bitcoin_datadir: lnd_bitcoin_datadir:
lnd_bitcoin_rtl_datadir: lnd_bitcoin_rtl_datadir:
required:
- "opt-add-zmq"

View File

@ -4,10 +4,7 @@ services:
groestlcoind: groestlcoind:
environment: environment:
GROESTLCOIN_EXTRA_ARGS: | GROESTLCOIN_EXTRA_ARGS: |
zmqpubrawblock=tcp://0.0.0.0:21441
zmqpubrawtx=tcp://0.0.0.0:21441
rpcauth=eclair:d3a244200d5c946f6bef48e6583ec979$$215049513aef33245dfec8ff3ab5e749458fde51ede931dec04c767c0732d468 rpcauth=eclair:d3a244200d5c946f6bef48e6583ec979$$215049513aef33245dfec8ff3ab5e749458fde51ede931dec04c767c0732d468
txindex=1
eclair_groestlcoin: eclair_groestlcoin:
container_name: btcpayserver_eclair_groestlcoin container_name: btcpayserver_eclair_groestlcoin
restart: unless-stopped restart: unless-stopped
@ -51,5 +48,7 @@ services:
- eclair_groestlcoin - eclair_groestlcoin
volumes: volumes:
eclair_groestlcoin_datadir: eclair_groestlcoin_datadir:
incompatible:
- pruning required:
- "opt-add-zmq"
- "opt-txindex"

View File

@ -46,16 +46,6 @@ services:
links: links:
- lnd_groestlcoin - lnd_groestlcoin
groestlcoind:
environment:
BITCOIN_EXTRA_ARGS: |
zmqpubrawtx=tcp://0.0.0.0:21441
zmqpubrawblock=tcp://0.0.0.0:21441
zmqpubrawtxlock=tcp://0.0.0.0:21441
zmqpubhashblock=tcp://0.0.0.0:21441
expose:
- "21441"
nginx: nginx:
links: links:
- "lnd_groestlcoin" - "lnd_groestlcoin"
@ -69,3 +59,6 @@ services:
volumes: volumes:
lnd_groestlcoin_datadir: lnd_groestlcoin_datadir:
required:
- "opt-add-zmq"

View File

@ -45,14 +45,8 @@ services:
links: links:
- lnd_litecoin - lnd_litecoin
litecoind:
environment:
BITCOIN_EXTRA_ARGS: |
zmqpubrawblock=tcp://0.0.0.0:28332
zmqpubrawtx=tcp://0.0.0.0:28333
expose:
- "28332"
- "28333"
volumes: volumes:
lnd_litecoin_datadir: lnd_litecoin_datadir:
required:
- "opt-add-zmq"

View File

@ -0,0 +1,35 @@
version: "3"
services:
bitcoin_teos:
restart: unless-stopped
image: talaia/python-teos:latest
environment:
API_BIND: "0.0.0.0"
API_PORT: 9814
BTC_NETWORK: ${NBITCOIN_NETWORK:-regtest}
BTC_RPC_CONNECT: "bitcoind"
BTC_RPC_PORT: 43782
BTC_RPC_USER: "teos"
BTC_RPC_PASSWORD: "teos"
BTC_FEED_CONNECT: "bitcoind"
BTC_FEED_PORT: 28334
volumes:
- "bitcoin_teos_datadir:/root/.teos"
ports:
- "9814:9814"
bitcoind:
environment:
BITCOIN_EXTRA_ARGS: |
# rpcuser=teos
# rpcpassword=teos
# We need to use rpcauth because we also need cookieauth. rpcpassword disabled cookie file auth.
# Be careful if you copy the line below from the docker-compose.yml! A dollar sign is escaped.
rpcauth=teos:504ff14fe34faa90e5bbe124e94be6a4$$bdac33da901ff27b4a27ca160cd706b2ba41d9e363556815cab5b7ef1e4dcf23
volumes:
bitcoin_teos_datadir:
required:
- "opt-add-zmq"
- "bitcoin"
- "opt-txindex"

View File

@ -159,6 +159,13 @@ services:
HIDDENSERVICE_PORT: 50002 HIDDENSERVICE_PORT: 50002
HIDDENSERVICE_VIRTUAL_PORT: 50002 HIDDENSERVICE_VIRTUAL_PORT: 50002
bitcoin_teos:
environment:
HIDDENSERVICE_NAME: teos
HIDDENSERVICE_PORT: 9814
volumes:
- "tor_servicesdir:/var/lib/tor/hidden_services"
- "tor_torrcdir:/usr/local/etc/tor/"
volumes: volumes:
tor_datadir: tor_datadir:
tor_torrcdir: tor_torrcdir:

View File

@ -0,0 +1,39 @@
version: "3"
services:
bitcoind:
environment:
BITCOIN_EXTRA_ARGS: |
zmqpubrawblock=tcp://0.0.0.0:28332
zmqpubrawtx=tcp://0.0.0.0:28333
zmqpubhashblock=tcp://0.0.0.0:28334
expose:
- "28332"
- "28333"
- "28334"
litecoind:
environment:
BITCOIN_EXTRA_ARGS: |
zmqpubrawblock=tcp://0.0.0.0:28332
zmqpubrawtx=tcp://0.0.0.0:28333
expose:
- "28332"
- "28333"
groestlcoind:
environment:
BITCOIN_EXTRA_ARGS: |
zmqpubrawtx=tcp://0.0.0.0:21441
zmqpubrawblock=tcp://0.0.0.0:21441
zmqpubrawtxlock=tcp://0.0.0.0:21441
zmqpubhashblock=tcp://0.0.0.0:21441
expose:
- "21441"
bgoldd:
environment:
BITCOIN_EXTRA_ARGS: |
zmqpubrawtx=tcp://0.0.0.0:28332
zmqpubrawblock=tcp://0.0.0.0:28332
zmqpubrawtxlock=tcp://0.0.0.0:28332
zmqpubhashblock=tcp://0.0.0.0:28332
expose:
- "28332"