fix: server-update ищет корень репо (в т.ч. /opt/shop/shop10)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
shop
2026-05-17 13:14:06 +03:00
parent e71bfa35dc
commit 42177555ac
8 changed files with 90 additions and 18 deletions
+7 -5
View File
@@ -2,7 +2,9 @@
# Диагностика HTTP 502 (Caddy не достучался до Node / БД)
set -e
echo "=== Shop / Caddy 502 diagnostic ==="
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/shop-root.sh" 2>/dev/null || SHOP_ROOT=/opt/shop
echo "=== Shop / Caddy 502 diagnostic ($SHOP_ROOT) ==="
echo
echo "1. PostgreSQL"
@@ -40,11 +42,11 @@ fi
echo
echo "6. .env"
if [ -f /opt/shop/.env ]; then
grep -E '^(DATABASE_URL|HOST|PORT)=' /opt/shop/.env 2>/dev/null | sed 's/=.*/=***/' || true
grep -E '^DATABASE_URL=' /opt/shop/.env || echo " DATABASE_URL не задан"
if [ -f "$SHOP_ROOT/.env" ]; then
grep -E '^(DATABASE_URL|HOST|PORT)=' "$SHOP_ROOT/.env" 2>/dev/null | sed 's/=.*/=***/' || true
grep -E '^DATABASE_URL=' "$SHOP_ROOT/.env" || echo " DATABASE_URL не задан"
else
echo " /opt/shop/.env не найден"
echo " $SHOP_ROOT/.env не найден"
fi
echo
+1 -1
View File
@@ -2,7 +2,7 @@
# Быстрое исправление ECONNREFUSED 127.0.0.1:5432
set -euo pipefail
cd /opt/shop 2>/dev/null || cd "$(dirname "$0")/.."
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/shop-root.sh"
echo "=== Исправление подключения к PostgreSQL ==="
+11 -4
View File
@@ -1,10 +1,16 @@
#!/bin/bash
# Обновление на сервере (запускать от root в /opt/shop)
# Обновление на сервере: git pull, npm, restart shop
# Запуск из любого места:
# bash /opt/shop/shop10/scripts/server-update.sh
# cd /opt/shop/shop10 && bash scripts/server-update.sh
set -euo pipefail
cd /opt/shop
# shellcheck source=shop-root.sh
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/shop-root.sh"
git config --global --add safe.directory /opt/shop 2>/dev/null || true
echo "=== Shop update: $SHOP_ROOT ==="
git config --global --add safe.directory "$SHOP_ROOT" 2>/dev/null || true
git pull
npm install --omit=dev
@@ -31,5 +37,6 @@ if systemctl is-active --quiet shop 2>/dev/null; then
systemctl reload caddy 2>/dev/null || true
echo "OK"
else
echo "Служба shop не установлена. См. deploy/shop.service в README."
echo "Служба shop не установлена. См. deploy/shop.service"
echo "WorkingDirectory в unit должен совпадать с: $SHOP_ROOT"
fi
+33
View File
@@ -0,0 +1,33 @@
#!/bin/bash
# Каталог репозитория (где package.json). Переопределение: SHOP_ROOT=/path
_resolve_shop_root() {
if [ -n "${SHOP_ROOT:-}" ] && [ -f "${SHOP_ROOT}/package.json" ]; then
return 0
fi
local here
here="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
if [ -f "${here}/package.json" ]; then
SHOP_ROOT="$here"
return 0
fi
if [ -f /opt/shop/shop10/package.json ]; then
SHOP_ROOT=/opt/shop/shop10
return 0
fi
if [ -f /opt/shop/package.json ]; then
SHOP_ROOT=/opt/shop
return 0
fi
return 1
}
if ! _resolve_shop_root; then
echo "Ошибка: не найден каталог Shop (нет package.json)."
echo "Перейдите в каталог клона и запустите:"
echo " bash scripts/server-update.sh"
echo "Или задайте: SHOP_ROOT=/opt/shop/shop10 bash scripts/server-update.sh"
exit 1
fi
export SHOP_ROOT
cd "$SHOP_ROOT"