Browse Source

Merge branch 'feat_mydojo_ip_addresses_params' into 'develop'

manage ip addresses of containers as dojo system parameters

See merge request dojo/samourai-dojo!200
umbrel
kenshin-samourai 4 years ago
parent
commit
309286a4da
  1. 35
      docker/my-dojo/.env
  2. 6
      docker/my-dojo/bitcoin/restart.sh
  3. 14
      docker/my-dojo/docker-compose.yaml
  4. 2
      docker/my-dojo/explorer/restart.sh
  5. 2
      docker/my-dojo/indexer/restart.sh
  6. 6
      docker/my-dojo/node/keys.index.js
  7. 2
      docker/my-dojo/overrides/bitcoind.install.yaml
  8. 2
      docker/my-dojo/overrides/explorer.install.yaml
  9. 2
      docker/my-dojo/overrides/indexer.install.yaml
  10. 2
      docker/my-dojo/overrides/whirlpool.install.yaml
  11. 18
      docker/my-dojo/tor/restart.sh
  12. 4
      docker/my-dojo/whirlpool/restart.sh

35
docker/my-dojo/.env

@ -11,14 +11,33 @@
COMPOSE_CONVERT_WINDOWS_PATHS=1 COMPOSE_CONVERT_WINDOWS_PATHS=1
DOJO_VERSION_TAG=1.10.0 DOJO_VERSION_TAG=1.10.0
DOJO_DB_VERSION_TAG=1.2.0 DOJO_DB_VERSION_TAG=1.3.0
DOJO_BITCOIND_VERSION_TAG=1.11.0 DOJO_BITCOIND_VERSION_TAG=1.12.0
DOJO_NODEJS_VERSION_TAG=1.9.0 DOJO_NODEJS_VERSION_TAG=1.10.0
DOJO_NGINX_VERSION_TAG=1.5.0 DOJO_NGINX_VERSION_TAG=1.6.0
DOJO_TOR_VERSION_TAG=1.7.0 DOJO_TOR_VERSION_TAG=1.8.0
DOJO_EXPLORER_VERSION_TAG=1.4.0 DOJO_EXPLORER_VERSION_TAG=1.5.0
DOJO_INDEXER_VERSION_TAG=1.2.0 DOJO_INDEXER_VERSION_TAG=1.3.0
DOJO_WHIRLPOOL_VERSION_TAG=1.3.0 DOJO_WHIRLPOOL_VERSION_TAG=1.4.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
######################################### #########################################

6
docker/my-dojo/bitcoin/restart.sh

@ -15,9 +15,9 @@ bitcoind_options=(
-mempoolexpiry=$BITCOIND_MEMPOOL_EXPIRY -mempoolexpiry=$BITCOIND_MEMPOOL_EXPIRY
-minrelaytxfee=$BITCOIND_MIN_RELAY_TX_FEE -minrelaytxfee=$BITCOIND_MIN_RELAY_TX_FEE
-port=8333 -port=8333
-proxy=172.28.1.4:9050 -proxy=$NET_DOJO_TOR_IPV4:9050
-rpcallowip=0.0.0.0/0 -rpcallowip=0.0.0.0/0
-rpcbind=172.28.1.5 -rpcbind=$NET_DOJO_BITCOIND_IPV4
-rpcpassword=$BITCOIND_RPC_PASSWORD -rpcpassword=$BITCOIND_RPC_PASSWORD
-rpcport=28256 -rpcport=28256
-rpcthreads=$BITCOIND_RPC_THREADS -rpcthreads=$BITCOIND_RPC_THREADS
@ -31,7 +31,7 @@ bitcoind_options=(
if [ "$BITCOIND_LISTEN_MODE" == "on" ]; then if [ "$BITCOIND_LISTEN_MODE" == "on" ]; then
bitcoind_options+=(-listen=1) 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/hsv2bitcoind/hostname))
bitcoind_options+=(-externalip=$(cat /var/lib/tor/hsv3bitcoind/hostname)) bitcoind_options+=(-externalip=$(cat /var/lib/tor/hsv3bitcoind/hostname))
fi fi

14
docker/my-dojo/docker-compose.yaml

@ -22,7 +22,7 @@ services:
max-file: "10" max-file: "10"
networks: networks:
dojonet: dojonet:
ipv4_address: 172.28.1.1 ipv4_address: ${NET_DOJO_MYSQL_IPV4}
node: node:
image: "samouraiwallet/dojo-nodejs:${DOJO_NODEJS_VERSION_TAG}" image: "samouraiwallet/dojo-nodejs:${DOJO_NODEJS_VERSION_TAG}"
@ -57,7 +57,7 @@ services:
- db - db
networks: networks:
dojonet: dojonet:
ipv4_address: 172.28.1.2 ipv4_address: ${NET_DOJO_NODE_IPV4}
nginx: nginx:
image: "samouraiwallet/dojo-nginx:${DOJO_NGINX_VERSION_TAG}" image: "samouraiwallet/dojo-nginx:${DOJO_NGINX_VERSION_TAG}"
@ -81,11 +81,11 @@ services:
- node - node
networks: networks:
whirlnet: whirlnet:
ipv4_address: 172.30.1.3 ipv4_address: ${NET_WHIRL_NGINX_IPV4}
dmznet: dmznet:
ipv4_address: 172.29.1.3 ipv4_address: ${NET_DMZ_NGINX_IPV4}
dojonet: dojonet:
ipv4_address: 172.28.1.3 ipv4_address: ${NET_DOJO_NGINX_IPV4}
tor: tor:
image: "samouraiwallet/dojo-tor:${DOJO_TOR_VERSION_TAG}" image: "samouraiwallet/dojo-tor:${DOJO_TOR_VERSION_TAG}"
@ -112,9 +112,9 @@ services:
max-file: "10" max-file: "10"
networks: networks:
dmznet: dmznet:
ipv4_address: 172.29.1.4 ipv4_address: ${NET_DMZ_TOR_IPV4}
dojonet: dojonet:
ipv4_address: 172.28.1.4 ipv4_address: ${NET_DOJO_TOR_IPV4}
networks: networks:
dojonet: dojonet:

2
docker/my-dojo/explorer/restart.sh

@ -4,7 +4,7 @@ cd /home/node/app
explorer_options=( explorer_options=(
--port 3002 --port 3002
--host 172.28.1.7 --host "$NET_DOJO_EXPLORER_IPV4"
--basic-auth-password "$EXPLORER_KEY" --basic-auth-password "$EXPLORER_KEY"
--coin BTC --coin BTC
--bitcoind-host "$BITCOIND_IP" --bitcoind-host "$BITCOIND_IP"

2
docker/my-dojo/indexer/restart.sh

@ -6,7 +6,7 @@ indexer_options=(
--index-batch-size="$INDEXER_BATCH_SIZE" --index-batch-size="$INDEXER_BATCH_SIZE"
--jsonrpc-import --jsonrpc-import
--db-dir="/home/indexer/db" --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" --daemon-rpc-addr="$BITCOIND_IP:$BITCOIND_RPC_PORT"
--cookie="$BITCOIND_RPC_USER:$BITCOIND_RPC_PASSWORD" --cookie="$BITCOIND_RPC_USER:$BITCOIND_RPC_PASSWORD"
--txid-limit="$INDEXER_TXID_LIMIT" --txid-limit="$INDEXER_TXID_LIMIT"

6
docker/my-dojo/node/keys.index.js

@ -190,7 +190,7 @@ module.exports = {
}, },
// Use a SOCKS5 proxy for all communications with external services // Use a SOCKS5 proxy for all communications with external services
// Values: null if no socks5 proxy used, otherwise the url of the socks5 proxy // 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 (mainnet)
oxt: process.env.NODE_URL_OXT_API, oxt: process.env.NODE_URL_OXT_API,
// Esplora (testnet) // Esplora (testnet)
@ -223,10 +223,10 @@ module.exports = {
minNbChildren: parseInt(process.env.NODE_ADDR_DERIVATION_MIN_CHILD), minNbChildren: parseInt(process.env.NODE_ADDR_DERIVATION_MIN_CHILD),
// Max number of child processes allowed // Max number of child processes allowed
maxNbChildren: parseInt(process.env.NODE_ADDR_DERIVATION_MAX_CHILD), maxNbChildren: parseInt(process.env.NODE_ADDR_DERIVATION_MAX_CHILD),
// Max duration // Max duration
acquireTimeoutMillis: 60000, acquireTimeoutMillis: 60000,
// Parallel derivation threshold // 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) // is greater than thresholdParalleDerivation)
thresholdParallelDerivation: parseInt(process.env.NODE_ADDR_DERIVATION_THRESHOLD), thresholdParallelDerivation: parseInt(process.env.NODE_ADDR_DERIVATION_THRESHOLD),
}, },

2
docker/my-dojo/overrides/bitcoind.install.yaml

@ -34,7 +34,7 @@ services:
- tor - tor
networks: networks:
dojonet: dojonet:
ipv4_address: 172.28.1.5 ipv4_address: ${NET_DOJO_BITCOIND_IPV4}
node: node:
depends_on: depends_on:

2
docker/my-dojo/overrides/explorer.install.yaml

@ -23,7 +23,7 @@ services:
max-file: "10" max-file: "10"
networks: networks:
dojonet: dojonet:
ipv4_address: 172.28.1.7 ipv4_address: ${NET_DOJO_EXPLORER_IPV4}
node: node:
depends_on: depends_on:

2
docker/my-dojo/overrides/indexer.install.yaml

@ -29,7 +29,7 @@ services:
- tor - tor
networks: networks:
dojonet: dojonet:
ipv4_address: 172.28.1.6 ipv4_address: ${NET_DOJO_INDEXER_IPV4}
volumes: volumes:
data-indexer: data-indexer:

2
docker/my-dojo/overrides/whirlpool.install.yaml

@ -26,7 +26,7 @@ services:
max-file: "10" max-file: "10"
networks: networks:
whirlnet: whirlnet:
ipv4_address: 172.30.1.8 ipv4_address: ${NET_WHIRL_WHIRLPOOL_IPV4}
volumes: volumes:
data-whirlpool: data-whirlpool:

18
docker/my-dojo/tor/restart.sh

@ -8,29 +8,29 @@ chmod 750 /var/lib/tor
echo "## Start tor #############################" echo "## Start tor #############################"
tor_options=( tor_options=(
--SocksPort 172.28.1.4:9050 --SocksPort "$NET_DOJO_TOR_IPV4:9050"
--SocksPolicy "accept 172.28.0.0/16" --SocksPolicy "accept 172.28.0.0/16"
--SocksPolicy "reject *" --SocksPolicy "reject *"
--DataDirectory /var/lib/tor/.tor --DataDirectory /var/lib/tor/.tor
--DataDirectoryGroupReadable 1 --DataDirectoryGroupReadable 1
--HiddenServiceDir /var/lib/tor/hsv2dojo --HiddenServiceDir /var/lib/tor/hsv2dojo
--HiddenServiceVersion 2 --HiddenServiceVersion 2
--HiddenServicePort "80 172.29.1.3:80" --HiddenServicePort "80 $NET_DMZ_NGINX_IPV4:80"
--HiddenServiceDir /var/lib/tor/hsv3dojo --HiddenServiceDir /var/lib/tor/hsv3dojo
--HiddenServiceVersion 3 --HiddenServiceVersion 3
--HiddenServicePort "80 172.29.1.3:80" --HiddenServicePort "80 $NET_DMZ_NGINX_IPV4:80"
) )
if [ "$BITCOIND_INSTALL" == "on" ]; then if [ "$BITCOIND_INSTALL" == "on" ]; then
if [ "$BITCOIND_LISTEN_MODE" == "on" ]; then if [ "$BITCOIND_LISTEN_MODE" == "on" ]; then
tor_options+=(--HiddenServiceDir /var/lib/tor/hsv2bitcoind) tor_options+=(--HiddenServiceDir /var/lib/tor/hsv2bitcoind)
tor_options+=(--HiddenServiceVersion 2) 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+=(--HiddenServiceDirGroupReadable 1)
tor_options+=(--HiddenServiceDir /var/lib/tor/hsv3bitcoind) tor_options+=(--HiddenServiceDir /var/lib/tor/hsv3bitcoind)
tor_options+=(--HiddenServiceVersion 3) 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) tor_options+=(--HiddenServiceDirGroupReadable 1)
fi fi
fi fi
@ -38,24 +38,24 @@ fi
if [ "$EXPLORER_INSTALL" == "on" ]; then if [ "$EXPLORER_INSTALL" == "on" ]; then
tor_options+=(--HiddenServiceDir /var/lib/tor/hsv2explorer) tor_options+=(--HiddenServiceDir /var/lib/tor/hsv2explorer)
tor_options+=(--HiddenServiceVersion 2) 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+=(--HiddenServiceDirGroupReadable 1)
tor_options+=(--HiddenServiceDir /var/lib/tor/hsv3explorer) tor_options+=(--HiddenServiceDir /var/lib/tor/hsv3explorer)
tor_options+=(--HiddenServiceVersion 3) 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) tor_options+=(--HiddenServiceDirGroupReadable 1)
fi fi
if [ "$WHIRLPOOL_INSTALL" == "on" ]; then if [ "$WHIRLPOOL_INSTALL" == "on" ]; then
tor_options+=(--HiddenServiceDir /var/lib/tor/hsv2whirlpool) tor_options+=(--HiddenServiceDir /var/lib/tor/hsv2whirlpool)
tor_options+=(--HiddenServiceVersion 2) 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+=(--HiddenServiceDirGroupReadable 1)
tor_options+=(--HiddenServiceDir /var/lib/tor/hsv3whirlpool) tor_options+=(--HiddenServiceDir /var/lib/tor/hsv3whirlpool)
tor_options+=(--HiddenServiceVersion 3) 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) tor_options+=(--HiddenServiceDirGroupReadable 1)
fi fi

4
docker/my-dojo/whirlpool/restart.sh

@ -16,10 +16,10 @@ whirlpool_options=(
if [ "$COMMON_BTC_NETWORK" == "testnet" ]; then if [ "$COMMON_BTC_NETWORK" == "testnet" ]; then
whirlpool_options+=(--cli.server="TESTNET") 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 else
whirlpool_options+=(--cli.server="MAINNET") 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 fi
if [ "$WHIRLPOOL_COORDINATOR_ONION" == "on" ]; then if [ "$WHIRLPOOL_COORDINATOR_ONION" == "on" ]; then

Loading…
Cancel
Save