aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/Dockerfile2
-rw-r--r--core/entrypoint.sh17
2 files changed, 16 insertions, 3 deletions
diff --git a/core/Dockerfile b/core/Dockerfile
index b07f525..e9fd4a3 100644
--- a/core/Dockerfile
+++ b/core/Dockerfile
@@ -4,7 +4,7 @@ LABEL MAINTAINER="heckyel@riseup.net"
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
-RUN apk add --no-cache musl-dev build-base gcc libffi-dev python3-dev patch git py3-pip tor
+RUN apk add --no-cache musl-dev build-base gcc libffi-dev python3-dev patch git py3-pip tor curl
ARG APP_DIR="/srv/app"
ARG YT_REPO="https://git.sr.ht/~heckyel/yt-local"
diff --git a/core/entrypoint.sh b/core/entrypoint.sh
index bbe05d6..47c4dd1 100644
--- a/core/entrypoint.sh
+++ b/core/entrypoint.sh
@@ -87,6 +87,19 @@ ExcludeExitNodes {US}
StrictNodes 1
EOF
tor -f /etc/tor/torrc --runasdaemon 1
-fi
-exec /usr/bin/python3 /srv/app/server.py
+ # check health tor
+ while :; do
+ checkurl=$(curl --socks5 localhost:9050 -o /dev/null -s -w "%{http_code}\n" "${URL_CHECK:-https://www.youtube.com/results?search_query=rms}")
+ if [ "$checkurl" = '502' ] || [ "$checkurl" = '302' ]; then
+ pkill tor && tor -f /etc/tor/torrc --runasdaemon 0 2>&1
+ pkill python3 && /usr/bin/python3 /srv/app/server.py
+ else
+ pgrep python3 > /dev/null || exec /usr/bin/python3 /srv/app/server.py
+ fi
+ sleep 5
+ done
+
+else
+ exec /usr/bin/python3 /srv/app/server.py
+fi