From 7d63ec1d8b260616b91cd57b37bb9c7c5d8cd059 Mon Sep 17 00:00:00 2001 From: kenshin-samourai Date: Thu, 25 Feb 2021 10:04:15 +0100 Subject: [PATCH 1/2] manage ip addresses of containers as dojo system parameters --- docker/my-dojo/.env | 19 +++++++++++++++++++ docker/my-dojo/bitcoin/restart.sh | 6 +++--- docker/my-dojo/docker-compose.yaml | 14 +++++++------- docker/my-dojo/explorer/restart.sh | 2 +- docker/my-dojo/indexer/restart.sh | 2 +- docker/my-dojo/node/keys.index.js | 6 +++--- .../my-dojo/overrides/bitcoind.install.yaml | 2 +- .../my-dojo/overrides/explorer.install.yaml | 2 +- docker/my-dojo/overrides/indexer.install.yaml | 2 +- .../my-dojo/overrides/whirlpool.install.yaml | 2 +- docker/my-dojo/tor/restart.sh | 18 +++++++++--------- docker/my-dojo/whirlpool/restart.sh | 4 ++-- 12 files changed, 49 insertions(+), 30 deletions(-) diff --git a/docker/my-dojo/.env b/docker/my-dojo/.env index d6a4836..7dd1380 100644 --- a/docker/my-dojo/.env +++ b/docker/my-dojo/.env @@ -21,6 +21,25 @@ DOJO_INDEXER_VERSION_TAG=1.2.0 DOJO_WHIRLPOOL_VERSION_TAG=1.3.0 +######################################### +# NETWORKING +######################################### + +NET_DOJO_MYSQL_IPV4=172.28.1.1 +NET_DOJO_NODE_IPV4=172.28.1.2 +NET_DOJO_NGINX_IPV4=172.28.1.3 +NET_DOJO_TOR_IPV4=172.28.1.4 +NET_DOJO_BITCOIND_IPV4=172.28.1.5 +NET_DOJO_INDEXER_IPV4=172.28.1.6 +NET_DOJO_EXPLORER_IPV4=172.28.1.7 + +NET_DMZ_NGINX_IPV4=172.29.1.3 +NET_DMZ_TOR_IPV4=172.29.1.4 + +NET_WHIRL_NGINX_IPV4=172.30.1.3 +NET_WHIRL_WHIRLPOOL_IPV4=172.30.1.8 + + ######################################### # MYSQL ######################################### diff --git a/docker/my-dojo/bitcoin/restart.sh b/docker/my-dojo/bitcoin/restart.sh index db14dd3..df3e9c1 100644 --- a/docker/my-dojo/bitcoin/restart.sh +++ b/docker/my-dojo/bitcoin/restart.sh @@ -15,9 +15,9 @@ bitcoind_options=( -mempoolexpiry=$BITCOIND_MEMPOOL_EXPIRY -minrelaytxfee=$BITCOIND_MIN_RELAY_TX_FEE -port=8333 - -proxy=172.28.1.4:9050 + -proxy=$NET_DOJO_TOR_IPV4:9050 -rpcallowip=0.0.0.0/0 - -rpcbind=172.28.1.5 + -rpcbind=$NET_DOJO_BITCOIND_IPV4 -rpcpassword=$BITCOIND_RPC_PASSWORD -rpcport=28256 -rpcthreads=$BITCOIND_RPC_THREADS @@ -31,7 +31,7 @@ bitcoind_options=( if [ "$BITCOIND_LISTEN_MODE" == "on" ]; then bitcoind_options+=(-listen=1) - bitcoind_options+=(-bind=172.28.1.5) + bitcoind_options+=(-bind="$NET_DOJO_BITCOIND_IPV4") bitcoind_options+=(-externalip=$(cat /var/lib/tor/hsv2bitcoind/hostname)) bitcoind_options+=(-externalip=$(cat /var/lib/tor/hsv3bitcoind/hostname)) fi diff --git a/docker/my-dojo/docker-compose.yaml b/docker/my-dojo/docker-compose.yaml index 053a165..5b2cda9 100644 --- a/docker/my-dojo/docker-compose.yaml +++ b/docker/my-dojo/docker-compose.yaml @@ -22,7 +22,7 @@ services: max-file: "10" networks: dojonet: - ipv4_address: 172.28.1.1 + ipv4_address: ${NET_DOJO_MYSQL_IPV4} node: image: "samouraiwallet/dojo-nodejs:${DOJO_NODEJS_VERSION_TAG}" @@ -57,7 +57,7 @@ services: - db networks: dojonet: - ipv4_address: 172.28.1.2 + ipv4_address: ${NET_DOJO_NODE_IPV4} nginx: image: "samouraiwallet/dojo-nginx:${DOJO_NGINX_VERSION_TAG}" @@ -81,11 +81,11 @@ services: - node networks: whirlnet: - ipv4_address: 172.30.1.3 + ipv4_address: ${NET_WHIRL_NGINX_IPV4} dmznet: - ipv4_address: 172.29.1.3 + ipv4_address: ${NET_DMZ_NGINX_IPV4} dojonet: - ipv4_address: 172.28.1.3 + ipv4_address: ${NET_DOJO_NGINX_IPV4} tor: image: "samouraiwallet/dojo-tor:${DOJO_TOR_VERSION_TAG}" @@ -112,9 +112,9 @@ services: max-file: "10" networks: dmznet: - ipv4_address: 172.29.1.4 + ipv4_address: ${NET_DMZ_TOR_IPV4} dojonet: - ipv4_address: 172.28.1.4 + ipv4_address: ${NET_DOJO_TOR_IPV4} networks: dojonet: diff --git a/docker/my-dojo/explorer/restart.sh b/docker/my-dojo/explorer/restart.sh index 9d3722c..a1a7ae0 100644 --- a/docker/my-dojo/explorer/restart.sh +++ b/docker/my-dojo/explorer/restart.sh @@ -4,7 +4,7 @@ cd /home/node/app explorer_options=( --port 3002 - --host 172.28.1.7 + --host "$NET_DOJO_EXPLORER_IPV4" --basic-auth-password "$EXPLORER_KEY" --coin BTC --bitcoind-host "$BITCOIND_IP" diff --git a/docker/my-dojo/indexer/restart.sh b/docker/my-dojo/indexer/restart.sh index 0db33b1..cb1373e 100644 --- a/docker/my-dojo/indexer/restart.sh +++ b/docker/my-dojo/indexer/restart.sh @@ -6,7 +6,7 @@ indexer_options=( --index-batch-size="$INDEXER_BATCH_SIZE" --jsonrpc-import --db-dir="/home/indexer/db" - --indexer-rpc-addr="172.28.1.6:50001" + --indexer-rpc-addr="$NET_DOJO_INDEXER_IPV4:50001" --daemon-rpc-addr="$BITCOIND_IP:$BITCOIND_RPC_PORT" --cookie="$BITCOIND_RPC_USER:$BITCOIND_RPC_PASSWORD" --txid-limit="$INDEXER_TXID_LIMIT" diff --git a/docker/my-dojo/node/keys.index.js b/docker/my-dojo/node/keys.index.js index e37a1f3..00132b0 100644 --- a/docker/my-dojo/node/keys.index.js +++ b/docker/my-dojo/node/keys.index.js @@ -190,7 +190,7 @@ module.exports = { }, // Use a SOCKS5 proxy for all communications with external services // Values: null if no socks5 proxy used, otherwise the url of the socks5 proxy - socks5Proxy: 'socks5h://172.28.1.4:9050', + socks5Proxy: `socks5h://${process.env.NET_DOJO_TOR_IPV4}:9050`, // OXT (mainnet) oxt: process.env.NODE_URL_OXT_API, // Esplora (testnet) @@ -223,10 +223,10 @@ module.exports = { minNbChildren: parseInt(process.env.NODE_ADDR_DERIVATION_MIN_CHILD), // Max number of child processes allowed maxNbChildren: parseInt(process.env.NODE_ADDR_DERIVATION_MAX_CHILD), - // Max duration + // Max duration acquireTimeoutMillis: 60000, // Parallel derivation threshold - // (use parallel derivation if number of addresses to be derived + // (use parallel derivation if number of addresses to be derived // is greater than thresholdParalleDerivation) thresholdParallelDerivation: parseInt(process.env.NODE_ADDR_DERIVATION_THRESHOLD), }, diff --git a/docker/my-dojo/overrides/bitcoind.install.yaml b/docker/my-dojo/overrides/bitcoind.install.yaml index 639d0c8..a0c9654 100644 --- a/docker/my-dojo/overrides/bitcoind.install.yaml +++ b/docker/my-dojo/overrides/bitcoind.install.yaml @@ -34,7 +34,7 @@ services: - tor networks: dojonet: - ipv4_address: 172.28.1.5 + ipv4_address: ${NET_DOJO_BITCOIND_IPV4} node: depends_on: diff --git a/docker/my-dojo/overrides/explorer.install.yaml b/docker/my-dojo/overrides/explorer.install.yaml index 079d18c..48a4e39 100644 --- a/docker/my-dojo/overrides/explorer.install.yaml +++ b/docker/my-dojo/overrides/explorer.install.yaml @@ -23,7 +23,7 @@ services: max-file: "10" networks: dojonet: - ipv4_address: 172.28.1.7 + ipv4_address: ${NET_DOJO_EXPLORER_IPV4} node: depends_on: diff --git a/docker/my-dojo/overrides/indexer.install.yaml b/docker/my-dojo/overrides/indexer.install.yaml index dea14e5..488dbc1 100644 --- a/docker/my-dojo/overrides/indexer.install.yaml +++ b/docker/my-dojo/overrides/indexer.install.yaml @@ -29,7 +29,7 @@ services: - tor networks: dojonet: - ipv4_address: 172.28.1.6 + ipv4_address: ${NET_DOJO_INDEXER_IPV4} volumes: data-indexer: diff --git a/docker/my-dojo/overrides/whirlpool.install.yaml b/docker/my-dojo/overrides/whirlpool.install.yaml index b724b11..ced12af 100644 --- a/docker/my-dojo/overrides/whirlpool.install.yaml +++ b/docker/my-dojo/overrides/whirlpool.install.yaml @@ -26,7 +26,7 @@ services: max-file: "10" networks: whirlnet: - ipv4_address: 172.30.1.8 + ipv4_address: ${NET_WHIRL_WHIRLPOOL_IPV4} volumes: data-whirlpool: diff --git a/docker/my-dojo/tor/restart.sh b/docker/my-dojo/tor/restart.sh index ef1392b..a7754b9 100644 --- a/docker/my-dojo/tor/restart.sh +++ b/docker/my-dojo/tor/restart.sh @@ -8,29 +8,29 @@ chmod 750 /var/lib/tor echo "## Start tor #############################" tor_options=( - --SocksPort 172.28.1.4:9050 + --SocksPort "$NET_DOJO_TOR_IPV4:9050" --SocksPolicy "accept 172.28.0.0/16" --SocksPolicy "reject *" --DataDirectory /var/lib/tor/.tor --DataDirectoryGroupReadable 1 --HiddenServiceDir /var/lib/tor/hsv2dojo --HiddenServiceVersion 2 - --HiddenServicePort "80 172.29.1.3:80" + --HiddenServicePort "80 $NET_DMZ_NGINX_IPV4:80" --HiddenServiceDir /var/lib/tor/hsv3dojo --HiddenServiceVersion 3 - --HiddenServicePort "80 172.29.1.3:80" + --HiddenServicePort "80 $NET_DMZ_NGINX_IPV4:80" ) if [ "$BITCOIND_INSTALL" == "on" ]; then if [ "$BITCOIND_LISTEN_MODE" == "on" ]; then tor_options+=(--HiddenServiceDir /var/lib/tor/hsv2bitcoind) tor_options+=(--HiddenServiceVersion 2) - tor_options+=(--HiddenServicePort "8333 172.28.1.5:8333") + tor_options+=(--HiddenServicePort "8333 $NET_DOJO_BITCOIND_IPV4:8333") tor_options+=(--HiddenServiceDirGroupReadable 1) tor_options+=(--HiddenServiceDir /var/lib/tor/hsv3bitcoind) tor_options+=(--HiddenServiceVersion 3) - tor_options+=(--HiddenServicePort "8333 172.28.1.5:8333") + tor_options+=(--HiddenServicePort "8333 $NET_DOJO_BITCOIND_IPV4:8333") tor_options+=(--HiddenServiceDirGroupReadable 1) fi fi @@ -38,24 +38,24 @@ fi if [ "$EXPLORER_INSTALL" == "on" ]; then tor_options+=(--HiddenServiceDir /var/lib/tor/hsv2explorer) tor_options+=(--HiddenServiceVersion 2) - tor_options+=(--HiddenServicePort "80 172.29.1.3:9080") + tor_options+=(--HiddenServicePort "80 $NET_DMZ_NGINX_IPV4:9080") tor_options+=(--HiddenServiceDirGroupReadable 1) tor_options+=(--HiddenServiceDir /var/lib/tor/hsv3explorer) tor_options+=(--HiddenServiceVersion 3) - tor_options+=(--HiddenServicePort "80 172.29.1.3:9080") + tor_options+=(--HiddenServicePort "80 $NET_DMZ_NGINX_IPV4:9080") tor_options+=(--HiddenServiceDirGroupReadable 1) fi if [ "$WHIRLPOOL_INSTALL" == "on" ]; then tor_options+=(--HiddenServiceDir /var/lib/tor/hsv2whirlpool) tor_options+=(--HiddenServiceVersion 2) - tor_options+=(--HiddenServicePort "80 172.29.1.3:8898") + tor_options+=(--HiddenServicePort "80 $NET_DMZ_NGINX_IPV4:8898") tor_options+=(--HiddenServiceDirGroupReadable 1) tor_options+=(--HiddenServiceDir /var/lib/tor/hsv3whirlpool) tor_options+=(--HiddenServiceVersion 3) - tor_options+=(--HiddenServicePort "80 172.29.1.3:8898") + tor_options+=(--HiddenServicePort "80 $NET_DMZ_NGINX_IPV4:8898") tor_options+=(--HiddenServiceDirGroupReadable 1) fi diff --git a/docker/my-dojo/whirlpool/restart.sh b/docker/my-dojo/whirlpool/restart.sh index 406ba3e..b69a574 100644 --- a/docker/my-dojo/whirlpool/restart.sh +++ b/docker/my-dojo/whirlpool/restart.sh @@ -16,10 +16,10 @@ whirlpool_options=( if [ "$COMMON_BTC_NETWORK" == "testnet" ]; then whirlpool_options+=(--cli.server="TESTNET") - whirlpool_options+=(--cli.dojo.url="http://172.30.1.3:80/test/v2/") + whirlpool_options+=(--cli.dojo.url="http://$NET_WHIRL_NGINX_IPV4:80/test/v2/") else whirlpool_options+=(--cli.server="MAINNET") - whirlpool_options+=(--cli.dojo.url="http://172.30.1.3:80/v2/") + whirlpool_options+=(--cli.dojo.url="http://$NET_WHIRL_NGINX_IPV4:80/v2/") fi if [ "$WHIRLPOOL_COORDINATOR_ONION" == "on" ]; then From 48312f32f80ff482e007d134dc70e4c1ab85d0c0 Mon Sep 17 00:00:00 2001 From: kenshin-samourai Date: Thu, 25 Feb 2021 10:05:22 +0100 Subject: [PATCH 2/2] bump versions of dojo modules --- docker/my-dojo/.env | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker/my-dojo/.env b/docker/my-dojo/.env index 7dd1380..295dce6 100644 --- a/docker/my-dojo/.env +++ b/docker/my-dojo/.env @@ -11,14 +11,14 @@ COMPOSE_CONVERT_WINDOWS_PATHS=1 DOJO_VERSION_TAG=1.10.0 -DOJO_DB_VERSION_TAG=1.2.0 -DOJO_BITCOIND_VERSION_TAG=1.11.0 -DOJO_NODEJS_VERSION_TAG=1.9.0 -DOJO_NGINX_VERSION_TAG=1.5.0 -DOJO_TOR_VERSION_TAG=1.7.0 -DOJO_EXPLORER_VERSION_TAG=1.4.0 -DOJO_INDEXER_VERSION_TAG=1.2.0 -DOJO_WHIRLPOOL_VERSION_TAG=1.3.0 +DOJO_DB_VERSION_TAG=1.3.0 +DOJO_BITCOIND_VERSION_TAG=1.12.0 +DOJO_NODEJS_VERSION_TAG=1.10.0 +DOJO_NGINX_VERSION_TAG=1.6.0 +DOJO_TOR_VERSION_TAG=1.8.0 +DOJO_EXPLORER_VERSION_TAG=1.5.0 +DOJO_INDEXER_VERSION_TAG=1.3.0 +DOJO_WHIRLPOOL_VERSION_TAG=1.4.0 #########################################