From 11633fbe6e1e029e579fd65ab07673c49cd043e2 Mon Sep 17 00:00:00 2001 From: shop Date: Sat, 16 May 2026 17:38:49 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20post-check=20=D1=87=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=B7=20pg=5Fisready=20=D0=B8=20curl=20=D0=BD=D0=B0=20=D1=85?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- check.sh | 43 ++++++++++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/check.sh b/check.sh index 4d2b039..09638ed 100755 --- a/check.sh +++ b/check.sh @@ -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