Comments (2)
Apparently Docker supports wait
:
https://docs.docker.com/engine/reference/commandline/wait/
Replace the entire above loop with just:
timeout 3m docker wait bitcoind
It'll wait till the container closes, or 3 minutes. Whichever is sooner.
from samourai-dojo.
Here is an example (untested) loop demonstration what @LaurentMT mentioned at the end:
# Stop
stop() {
if [ "$BITCOIND_INSTALL" == "on" ]; then
if [ "$BITCOIND_EPHEMERAL_HS" = "on" ]; then
docker exec -it tor rm -rf /var/lib/tor/hsv2bitcoind
fi
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."
terminationCount=180;
while [ "${?}" -eq "0" ] || [ "${terminationCount}" -le "0" ]; do
terminationCount="$((terminationCount - 1))";
sleep 1s;
docker exec -it bitcoind bitcoin-cli \
-rpcconnect=bitcoind \
--rpcport=28256 \
--rpcuser="$BITCOIND_RPC_USER" \
--rpcpassword="$BITCOIND_RPC_PASSWORD" \
uptime;
done;
fi
yamlFiles=$(select_yaml_files)
eval "docker-compose $yamlFiles down"
}
Potentially replace:
docker exec -it bitcoind bitcoin-cli \
-rpcconnect=bitcoind \
--rpcport=28256 \
--rpcuser="$BITCOIND_RPC_USER" \
--rpcpassword="$BITCOIND_RPC_PASSWORD" \
uptime;
with:
docker exec -it bitcoind true
Which will always return true
while the bitcoin-cli container exists, or replace it with something that actually checks the container status.
from samourai-dojo.
Related Issues (20)
- BTCPayServer-Docker integration HOT 3
- External bticoind not tracking new blocks HOT 10
- Dojo API: /auth/refresh throws error when refreshToken is supplied in request body HOT 5
- my-dojo tracker stops adding blocks and the db container shows connection abortion error HOT 6
- Failed import/rescan of unconfirmed transactions
- Maintenance Tool - XPUB & ADDRESS INFO check return NO tx & balance
- Dojo can't start after update HOT 1
- Add the option to use an Electrum server as a backend HOT 1
- Remove/uninstall btc-rpc-explorer HOT 4
- Add Dojo version number to admin UI HOT 1
- Change to doc/DOCKER_setup.md
- Make node services listen on localhost only by default HOT 1
- Avoid printing xpubs in the logs HOT 1
- ECONNREFUSED from external bitcoind HOT 2
- Can I change the password on the explorer service? HOT 2
- Dojo tracker no working on MyNode HOT 1
- Unable to connect to Dojo HOT 1
- Upgrade to version 1.18.0 fails
- Using Dojo with Electrum Personal Server HOT 2
- Add option --nolog to dojo.sh install command
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from samourai-dojo.