Add run script

monorepo
Varun Patil 2023-10-20 14:14:28 -07:00
parent d388b6f233
commit ad79aa5827
1 changed files with 51 additions and 0 deletions

51
run.sh 100755
View File

@ -0,0 +1,51 @@
#!/bin/bash
# This script fetches the current version of go-vod from Nextcloud
# to the working directory and runs it. If go-vod exits with a restart
# code, the script will restart it.
# This script is intended to be run by systemd if running on bare metal.
HOST=$NEXTCLOUD_HOST # passed as environment variable
# check if host is set
if [[ -z $HOST ]]; then
echo "fatal: NEXTCLOUD_HOST is not set"
exit 1
fi
# add http:// if not present
if [[ ! $HOST == http://* ]] && [[ ! $HOST == https://* ]]; then
HOST="http://$HOST"
fi
# build URL to fetch binary from Nextcloud
ARCH=$(uname -m)
URL="$HOST/index.php/apps/memories/static/go-vod?arch=$ARCH"
# fetch binary, sleeping 10 seconds between retries
function fetch_binary {
while true; do
rm -f go-vod
curl -m 10 -s -o go-vod $URL
if [[ $? == 0 ]]; then
chmod +x go-vod
echo "Fetched $URL successfully!"
break
fi
echo "Failed to fetch $URL, retrying in 10 seconds"
echo "Are you sure the host is reachable and running Memories v6+?"
sleep 10
done
}
# infinite loop
while true; do
fetch_binary
./go-vod -version-monitor
if [[ $? != 12 ]]; then
break
fi
sleep 3 # throttle
done