zai2api3 / init.sh
bg5's picture
部署 zai2api3 到 HF Space
ac613eb verified
Raw History Blame Contribute Delete
1.28 kB
#!/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