Browse Source

Merge pull request #111 from Samourai-Wallet/imp_mydojo_ronin

enable autostart of dojo
umbrel
kenshin samourai 5 years ago
committed by GitHub
parent
commit
70f608e992
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      docker/my-dojo/bitcoin/restart.sh
  2. 38
      docker/my-dojo/dojo.sh
  3. 2
      docker/my-dojo/overrides/bitcoind.install.yaml

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

@ -40,3 +40,13 @@ if [ "$COMMON_BTC_NETWORK" == "testnet" ]; then
fi
bitcoind "${bitcoind_options[@]}"
exitCode=$?
if [ $exitCode -eq 0 ]; then
# Loop keeping the container up
# after bitcoind has been stopped
while true
do
tail -f /dev/null > /dev/null
done
fi

38
docker/my-dojo/dojo.sh

@ -55,30 +55,50 @@ start() {
# Stop
stop() {
# Shutdown the bitcoin daemon
if [ "$BITCOIND_INSTALL" == "on" ]; then
# Renewal of bitcoind onion address
if [ "$BITCOIND_EPHEMERAL_HS" = "on" ]; then
docker exec -it tor rm -rf /var/lib/tor/hsv2bitcoind
fi
# Stop the bitcoin daemon
echo "Preparing shutdown of dojo. Please wait."
docker exec -it bitcoind bitcoin-cli \
-rpcconnect=bitcoind \
--rpcport=28256 \
--rpcuser="$BITCOIND_RPC_USER" \
--rpcpassword="$BITCOIND_RPC_PASSWORD" \
stop
echo "Preparing shutdown of dojo. Please wait."
bitcoindDown=$(timeout 3m docker wait bitcoind)
if [ $bitcoindDown -eq 0 ]; then
# Check if the bitcoin daemon is still up
# wait 3mn max
i="0"
while [ $i -lt 18 ]
do
# Check if bitcoind rpc api is responding
timeout 5 docker exec -it bitcoind bitcoin-cli \
-rpcconnect=bitcoind \
--rpcport=28256 \
--rpcuser="$BITCOIND_RPC_USER" \
--rpcpassword="$BITCOIND_RPC_PASSWORD" \
getblockchaininfo > /dev/null
# rpc api is down
if [[ $? > 0 ]]; then
echo "Bitcoin server stopped."
else
break
fi
# Pause before next try
sleep 5
i=$[$i+1]
done
# Bitcoin daemon is still up
# => force close
if [ $i -eq 18 ]; then
echo "Force shutdown of Bitcoin server."
fi
fi
# Stop docker containers
yamlFiles=$(select_yaml_files)
eval "docker-compose $yamlFiles down"
eval "docker-compose $yamlFiles stop"
}
# Restart dojo

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

@ -10,7 +10,7 @@ services:
- ./.env
- ./conf/docker-common.conf
- ./conf/docker-bitcoind.conf
restart: on-failure
restart: always
command: "/wait-for-it.sh tor:9050 --timeout=720 --strict -- /restart.sh"
expose:
- "8333"

Loading…
Cancel
Save