File size: 1,276 Bytes
bbe37cc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #!/usr/bin/env sh
set -eu
if [ -f /app/.env ]; then
set -a
. /app/.env
set +a
fi
: "${PORT:=7860}"
: "${CAPTCHA_INTERNAL_HOST:=127.0.0.1}"
: "${CAPTCHA_INTERNAL_PORT:=9876}"
: "${CAPTCHA_PROVIDER_URL:=http://${CAPTCHA_INTERNAL_HOST}:${CAPTCHA_INTERNAL_PORT}}"
: "${BROWSER_BACKEND:=cloak}"
: "${POOL_SIZE:=0}"
export PORT CAPTCHA_PROVIDER_URL BROWSER_BACKEND POOL_SIZE
mkdir -p /app/data
supervise_captcha() {
while true; do
echo "[space] starting captcha provider on ${CAPTCHA_INTERNAL_HOST}:${CAPTCHA_INTERNAL_PORT}"
set +e
(
cd /app/captcha-provider
HOST="${CAPTCHA_INTERNAL_HOST}" PORT="${CAPTCHA_INTERNAL_PORT}" node server.js
)
code="$?"
set -e
echo "[space] captcha provider exited with ${code}, restarting in 2s"
sleep 2
done
}
supervise_proxy() {
while true; do
echo "[space] starting zai2api proxy on 0.0.0.0:${PORT}"
set +e
/app/zai2api
code="$?"
set -e
echo "[space] zai2api proxy exited with ${code}, restarting in 2s"
sleep 2
done
}
cleanup() {
kill "${CAPTCHA_SUP_PID:-}" "${PROXY_SUP_PID:-}" 2>/dev/null || true
wait 2>/dev/null || true
}
trap 'cleanup; exit 0' INT TERM EXIT
supervise_captcha &
CAPTCHA_SUP_PID="$!"
supervise_proxy &
PROXY_SUP_PID="$!"
wait
|