fix: post-check через pg_isready и curl на хосте

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
shop
2026-05-16 17:38:49 +03:00
parent b6d97f8a73
commit 11633fbe6e
+32 -11
View File
@@ -30,25 +30,46 @@ run_go_check() {
fi
}
load_env() {
if [ -f .env ]; then
set -a
# shellcheck disable=SC1091
. ./.env
set +a
fi
}
post_start_check() {
echo "=== Проверка после запуска ==="
load_env
host_docker_check
echo ""
if docker compose ps 2>/dev/null | grep -qE 'shop-app|running'; then
if docker compose exec -T app wget -qO- http://127.0.0.1:8080/health 2>/dev/null; then
echo ""
echo " ✓ app /health: OK"
fi
elif command -v curl >/dev/null 2>&1; then
if curl -sf "http://127.0.0.1:${HTTP_PORT:-80}/health" 2>/dev/null; then
echo ""
echo " ✓ /health: OK"
if docker compose ps postgres 2>/dev/null | grep -qi running; then
if docker compose exec -T postgres pg_isready -U "${POSTGRES_USER:-shop}" -d "${POSTGRES_DB:-shopdb}" >/dev/null 2>&1; then
echo " ✓ postgresql: готова"
else
echo " ✗ /health: сервис не отвечает — проверьте: docker compose ps"
echo " ✗ postgresql: не отвечает"
exit 1
fi
else
echo " ✗ postgres: контейнер не запущен — docker compose up -d"
exit 1
fi
CHECK_SKIP_DB=0 CHECK_HOST_TOOLS=1 run_go_check
if command -v curl >/dev/null 2>&1; then
if curl -sf "http://127.0.0.1:${HTTP_PORT:-80}/health" >/dev/null 2>&1; then
echo " ✓ /health: OK"
else
echo " ✗ /health: не отвечает — docker compose logs app caddy"
exit 1
fi
elif docker compose exec -T app wget -qO- http://127.0.0.1:8080/health >/dev/null 2>&1; then
echo " ✓ app /health: OK"
fi
echo ""
CHECK_SKIP_DB=1 CHECK_HOST_TOOLS=1 run_go_check
}
case "$MODE" in