fix and update
This commit is contained in:
33
infra/nginx-gateway-sync/entrypoint.sh
Normal file
33
infra/nginx-gateway-sync/entrypoint.sh
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
NGINX_CONTAINER="${NGINX_CONTAINER:-lendry-id-nginx}"
|
||||
GATEWAY_CONTAINER="${GATEWAY_CONTAINER:-lendry-id-api-gateway}"
|
||||
BOOT_WAIT_SEC="${BOOT_WAIT_SEC:-55}"
|
||||
|
||||
reload_nginx() {
|
||||
if docker exec "$NGINX_CONTAINER" nginx -s reload 2>/dev/null; then
|
||||
echo "[nginx-gateway-sync] nginx reload OK"
|
||||
else
|
||||
echo "[nginx-gateway-sync] nginx reload failed — пробуем restart"
|
||||
docker restart "$NGINX_CONTAINER" >/dev/null 2>&1 || true
|
||||
fi
|
||||
}
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
echo "[nginx-gateway-sync] слежение за ${GATEWAY_CONTAINER} (boot wait ${BOOT_WAIT_SEC}s)..."
|
||||
|
||||
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
|
||||
done
|
||||
Reference in New Issue
Block a user