lbry-docker/chainquery/quick-bootstrap.sh

73 lines
1.7 KiB
Bash
Raw Normal View History

2018-11-04 02:32:00 +01:00
#!/usr/bin/env bash
## Be Polite and ask for permission.
function QandA() {
read -r -p "Continue with $1 [y/N] " response
response=${response,,} # tolower
if [[ "$response" =~ ^(yes|y)$ ]]; then
echo "Continuing with this."
eval $1
else
echo "Skipping the $1."
fi
}
## Check your $PATH for required dependencies.
## Stop and complain for now, later automagically install them.
function test_for_deps() {
## Test for Command
if ! [ -x "$(command -v $1)" ]; then
echo "Error: $1 is not installed." >&2
echo "You must have $1 installed."
else
echo "Info: $1 is installed."
fi
}
## Declare Linux app dependencies to check for.
DEPENDENCIES=(
wget
unzip
docker
)
## Recommended.
BONUS_DEPENDENCIES=(
docker-compose
)
function check_deps() {
2018-11-04 02:32:00 +01:00
for i in "${!DEPENDENCIES[@]}"; do
echo ${DEPENDENCIES[$i]}"_KEY"
## Indirect references http://tldp.org/LDP/abs/html/ivr.html
eval TESTDEP=\$"${DEPENDENCIES[$i]}"
test_for_deps $TESTDEP
done
}
2018-11-04 02:32:00 +01:00
## Add ways to get into and out of a bind here.
case $1 in
2018-11-04 02:32:00 +01:00
getdata )
## Get DB Checkpoint data.
axel -a -n 6 http://chainquery-data.s3.amazonaws.com/data.zip -o ./chainquery.zip
2018-11-04 02:32:00 +01:00
;;
extract )
## Unpack the data again if need be.
unzip ./chainquery.zip
;;
cleanup )
## Remove any junk here.
rm chainquery.zip
;;
reset )
## Give up on everything and try again.
# rm -Rf ./data
# rm -f ./chainquery.zip
;;
* )
echo "=================================================="
echo "You look like you need usage examples let me help."
echo "=================================================="
echo "Add documentation on script params HERE"
;;
2018-11-04 02:32:00 +01:00
esac