33 lines
1.2 KiB
Bash
Executable file
33 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# entrypoint for scribe Docker image
|
|
|
|
set -euo pipefail
|
|
|
|
SNAPSHOT_URL="${SNAPSHOT_URL:-}" #off by default. latest snapshot at https://lbry.com/snapshot/hub
|
|
|
|
if [[ "$HUB_COMMAND" == "scribe" ]] && [[ -n "$SNAPSHOT_URL" ]] && [[ ! -d /database/lbry-rocksdb ]]; then
|
|
files="$(ls)"
|
|
echo "Downloading hub snapshot from $SNAPSHOT_URL"
|
|
wget --no-verbose --trust-server-names --content-disposition "$SNAPSHOT_URL"
|
|
echo "Extracting snapshot..."
|
|
filename="$(grep -vf <(echo "$files") <(ls))" # finds the file that was not there before
|
|
case "$filename" in
|
|
*.tgz|*.tar.gz|*.tar.bz2 ) tar xvf "$filename" --directory /database ;;
|
|
*.zip ) unzip "$filename" -d /database/ ;;
|
|
* ) echo "Don't know how to extract ${filename}. SNAPSHOT COULD NOT BE LOADED" && exit 1 ;;
|
|
esac
|
|
rm "$filename"
|
|
fi
|
|
|
|
if [ -z "$HUB_COMMAND" ]; then
|
|
echo "HUB_COMMAND env variable must be scribe, herald, or scribe-elastic-sync"
|
|
exit 1
|
|
fi
|
|
|
|
case "$HUB_COMMAND" in
|
|
scribe ) exec /home/lbry/.local/bin/scribe "$@" ;;
|
|
herald ) exec /home/lbry/.local/bin/herald "$@" ;;
|
|
scribe-elastic-sync ) exec /home/lbry/.local/bin/scribe-elastic-sync "$@" ;;
|
|
* ) "HUB_COMMAND env variable must be scribe, herald, or scribe-elastic-sync" && exit 1 ;;
|
|
esac
|