84 lines
2.4 KiB
Bash
84 lines
2.4 KiB
Bash
#!/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
|
|
|