diff --git a/docker-compose.arm64.yml b/docker-compose.arm64.yml new file mode 100644 index 0000000..1ec413c --- /dev/null +++ b/docker-compose.arm64.yml @@ -0,0 +1,21 @@ +services: + tgsearch_arm64: + image: "pandagroove/tgsearch:1.6.0-alpine-arm64" + environment: + - API_ID= + - API_HASH= + - STRINGSESSION= + - API_SESSION_V1= + - API_DOWNLOAD_IMAGE= + - API_DOWNLOAD_VIDEO= + - API_PROXY= + - CACHE_DIR=/cache + - ONLY_CHANNEL= + ports: + - 10199:10199 + expose: + - 10199 + restart: always + volumes: + - ./tmp:/tmp + - ./cache:/cache diff --git a/rundocker.arm64.sh b/rundocker.arm64.sh new file mode 100644 index 0000000..cd88168 --- /dev/null +++ b/rundocker.arm64.sh @@ -0,0 +1,83 @@ +#!/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 + diff --git a/stopdocker.arm64.sh b/stopdocker.arm64.sh new file mode 100644 index 0000000..e2b5c8e --- /dev/null +++ b/stopdocker.arm64.sh @@ -0,0 +1,43 @@ +#!/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 + +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, direct stop" + #exit 1 + fi +fi + +echo "compose:$compose" + +if [ "$compose" == "" ]; then + docker container stop tgsearch + docker container rm tgsearch + exit +fi +$compose -f docker-compose.arm64.yml down +docker container stop tgsearch >/dev/null 2>&1 +docker container rm tgsearch >/dev/null 2>&1 diff --git a/tgsearch.docker.arm64.1.6.0-alpine.tar.gz b/tgsearch.docker.arm64.1.6.0-alpine.tar.gz new file mode 100644 index 0000000..36748f9 Binary files /dev/null and b/tgsearch.docker.arm64.1.6.0-alpine.tar.gz differ