fix(install): готовность приложения проверяется по адресу привязки

Установщик ждал /readyz на 127.0.0.1:8080, хотя во внешнем режиме и на
стенде приложение слушает адрес туннеля (--app-bind-addr): установка
всегда сообщала «приложение не ответило за 60 с» и «готовность не
подтверждена», хотя инстанс был жив.

Логика та же, что в deploy/update.sh, restore.sh и glchat-cli.sh
(0.0.0.0/пусто → 127.0.0.1); адрес печатается в сообщении, чтобы причина
была видна сразу.
This commit is contained in:
2026-09-26 15:32:59 +03:00
parent cca64451e2
commit 50265c66b8
+16 -4
View File
@@ -128,6 +128,17 @@ GLCHAT_UPDATES_DIR="${GLCHAT_UPDATES_DIR:-${TARGET_DIR}/updates}"
GLCHAT_INSTALL_LOG="${TARGET_DIR}/install.log" GLCHAT_INSTALL_LOG="${TARGET_DIR}/install.log"
GLCHAT_ENV_FILE="${TARGET_DIR}/.env" GLCHAT_ENV_FILE="${TARGET_DIR}/.env"
# app_check_url печатает адрес /readyz с учётом привязки приложения: во внешнем
# режиме и на стенде приложение слушает не localhost, а адрес туннеля, поэтому
# проверка 127.0.0.1 всегда падала бы (AGENT.md 10.13).
app_check_url() {
local port="$1" host="${2:-}"
case "$host" in
0.0.0.0 | "" | "::") host="127.0.0.1" ;;
esac
printf 'http://%s:%s/readyz' "$host" "$port"
}
usage() { usage() {
cat <<'EOF' cat <<'EOF'
install.sh — установка glchat (AGENT.md 10). install.sh — установка glchat (AGENT.md 10).
@@ -1660,16 +1671,17 @@ start_stack() {
restart_livekit_if_config_changed restart_livekit_if_config_changed
info "ожидаем готовности приложения" info "ожидаем готовности приложения"
local waited=0 local ready_url waited=0
until curl -fsS "http://127.0.0.1:${APP_PORT}/readyz" >/dev/null 2>&1; do ready_url="$(app_check_url "$APP_PORT" "$APP_BIND_ADDR")"
until curl -fsS "$ready_url" >/dev/null 2>&1; do
waited=$((waited + 2)) waited=$((waited + 2))
if [ "$waited" -ge 60 ]; then if [ "$waited" -ge 60 ]; then
warn "приложение не ответило за 60 с — смотрите: glchat logs app" warn "приложение не ответило за 60 с ($ready_url) — смотрите: glchat logs app"
break break
fi fi
sleep 2 sleep 2
done done
curl -fsS "http://127.0.0.1:${APP_PORT}/readyz" >/dev/null 2>&1 && ok "приложение готово" || warn "готовность не подтверждена" curl -fsS "$ready_url" >/dev/null 2>&1 && ok "приложение готово ($ready_url)" || warn "готовность не подтверждена ($ready_url)"
} }
bootstrap_admin() { bootstrap_admin() {