Files
tv/rundocker.arm64.sh

84 lines
2.4 KiB
Bash
Raw Normal View History

#!/bin/bash
prog="$0"
while [ -h "${prog}" ]; do
newProg=`/bin/ls -ld "${prog}"`
newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
if expr "x${newProg}" : 'x/' >/dev/null; then
prog="${newProg}"
else
progdir=`dirname "${prog}"`
prog="${progdir}/${newProg}"
fi
done
progdir=`dirname "${prog}"`
cd "${progdir}"
version=1.6.0-alpine
found=$(docker images |grep "pandagroove/tgsearch:${version}-arm64"|wc -l)
if [ $found -eq 0 ]; then
gzip -dc tgsearch.docker.arm64.${version}.tar.gz | docker load
fi
compose=""
have=$(docker compose -h |grep compose|wc -l)
if [ $have -gt 0 ]; then
compose="docker compose"
else
docker-compose -h 2>&1 >/dev/null
if [ $? -eq 0 ]; then
compose="docker-compose"
else
#echo "no docker compose, exit"
echo "no docker compose, direct run"
compose=""
#exit 1
fi
fi
echo "compose:$compose"
mkdir tmp >/dev/null 2>&1
chmod 777 tmp
mkdir cache >/dev/null 2>&1
chmod 777 cache
if [ "$compose" = "" ]; then
image=$(cat docker-compose.arm64.yml|grep "image: "|awk '{print $NF}'|tr -d "\"")
cat docker-compose.arm64.yml|grep -- "- API_"|awk '{print $NF}' > env.docker
cat docker-compose.arm64.yml|grep -- "- STRINGSESSION"|awk '{print $NF}' >> env.docker
cat docker-compose.arm64.yml|grep -- "- CACHE_"|awk '{print $NF}' >> env.docker
ports=$(cat docker-compose.arm64.yml|grep "ports:" -A 1|grep -- "- "|awk '{print $NF}'|tr -d "\"")
expose=$(cat docker-compose.arm64.yml|grep "expose:" -A 1|grep -- "- "|awk '{print $NF}'|tr -d "\"")
#echo $image
#cat env.docker
#echo $ports
#echo $expose
found=$(cat docker-compose.arm64.yml |grep "STRINGSESSION"|sed -e "s/.*STRINGSESSION//"|wc -c)
isdaemon=""
if [ $found -gt 10 ]; then
echo "session string is set, run in background"
isdaemon=" -d "
else
echo "session string is NOT set, run in foreground for see errors."
fi
docker container stop tgsearch >/dev/null 2>&1
docker container rm tgsearch >/dev/null 2>&1
docker run $isdaemon --name tgsearch --env-file env.docker --expose $expose -v "${progdir}/cache:/cache" -v "${progdir}/tmp:/tmp" $image /app/tgsearch
exit
fi
$compose -f docker-compose.arm64.yml down >/dev/null 2>&1
found=$(cat docker-compose.arm64.yml |grep "STRINGSESSION"|sed -e "s/.*STRINGSESSION//"|wc -c)
if [ $found -gt 10 ]; then
echo "session string is set, run in background"
$compose -f docker-compose.arm64.yml up -d
else
echo "session string is NOT set, run in foreground for see errors."
$compose -f docker-compose.arm64.yml up
fi