fix and update

This commit is contained in:
lendry
2026-06-30 13:48:50 +03:00
parent 6a4bbd05b8
commit 2a88c87e94
3 changed files with 81 additions and 107 deletions

View File

@@ -4,6 +4,7 @@ set -eu
NGINX_CONTAINER="${NGINX_CONTAINER:-lendry-id-nginx}"
GATEWAY_CONTAINER="${GATEWAY_CONTAINER:-lendry-id-api-gateway}"
BOOT_WAIT_SEC="${BOOT_WAIT_SEC:-55}"
GATEWAY_HEALTH_URL="http://${GATEWAY_CONTAINER}:3000/health"
reload_nginx() {
if docker exec "$NGINX_CONTAINER" nginx -s reload 2>/dev/null; then
@@ -15,19 +16,35 @@ reload_nginx() {
}
verify_gateway() {
docker exec "$NGINX_CONTAINER" wget -qO- --timeout=5 "http://${GATEWAY_CONTAINER}:3000/health" 2>/dev/null \
|| echo "[nginx-gateway-sync] предупреждение: nginx пока не достучался до ${GATEWAY_CONTAINER}:3000/health"
if docker exec "$NGINX_CONTAINER" wget -qO- --timeout=5 "$GATEWAY_HEALTH_URL" 2>/dev/null \
| grep -q '"status"'; then
echo "[nginx-gateway-sync] nginx → ${GATEWAY_CONTAINER}:3000/health OK"
else
echo "[nginx-gateway-sync] предупреждение: nginx пока не достучался до ${GATEWAY_HEALTH_URL}"
fi
}
on_gateway_start() {
echo "[nginx-gateway-sync] ${GATEWAY_CONTAINER} перезапущен, ждём Nest (${BOOT_WAIT_SEC}s)..."
sleep "$BOOT_WAIT_SEC"
reload_nginx
sleep 2
verify_gateway
}
echo "[nginx-gateway-sync] слежение за ${GATEWAY_CONTAINER} (boot wait ${BOOT_WAIT_SEC}s)..."
# Первый запуск стека: gateway уже healthy, но nginx мог стартовать раньше — синхронизируем.
(
sleep "$BOOT_WAIT_SEC"
reload_nginx
sleep 2
verify_gateway
) &
docker events \
--filter "container=${GATEWAY_CONTAINER}" \
--filter event=start \
--format '{{.Time}}' | while read -r _; do
echo "[nginx-gateway-sync] ${GATEWAY_CONTAINER} перезапущен, ждём Nest..."
sleep "$BOOT_WAIT_SEC"
reload_nginx
sleep 2
verify_gateway
on_gateway_start
done