mirror of
https://github.com/JetSprow/J-Board-Lite.git
synced 2026-05-01 01:14:10 +05:30
Initial commit
This commit is contained in:
46
scripts/upgrade-jboard-panel.sh
Executable file
46
scripts/upgrade-jboard-panel.sh
Executable file
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
APP_DIR="${APP_DIR:-/opt/jboard}"
|
||||
COMPOSE="${COMPOSE:-docker compose}"
|
||||
BACKUP="${BACKUP:-1}"
|
||||
HEALTH_URL="${HEALTH_URL:-http://127.0.0.1:3000/api/public/app-info}"
|
||||
|
||||
cd "$APP_DIR"
|
||||
|
||||
echo "[1/7] Pulling latest code..."
|
||||
git pull --ff-only
|
||||
|
||||
if [ "$BACKUP" = "1" ]; then
|
||||
echo "[2/7] Backing up database..."
|
||||
mkdir -p backups
|
||||
$COMPOSE exec -T db pg_dump -U jboard jboard > "backups/jboard-db-$(date +%F-%H%M%S).sql"
|
||||
else
|
||||
echo "[2/7] Skipping database backup..."
|
||||
fi
|
||||
|
||||
echo "[3/7] Building updated images..."
|
||||
$COMPOSE build init app
|
||||
|
||||
echo "[4/7] Syncing Prisma schema inside Docker network..."
|
||||
$COMPOSE --profile setup run --rm init sh -lc 'npx prisma db push --accept-data-loss'
|
||||
|
||||
echo "[5/7] Restarting services..."
|
||||
$COMPOSE up -d app
|
||||
|
||||
echo "[6/7] Waiting for app to boot..."
|
||||
sleep 8
|
||||
|
||||
echo "[7/7] Checking service status..."
|
||||
$COMPOSE ps
|
||||
|
||||
echo
|
||||
echo "App health:"
|
||||
curl -fsS "$HEALTH_URL" || true
|
||||
|
||||
echo
|
||||
echo "Recent app logs:"
|
||||
$COMPOSE logs --tail=80 app || true
|
||||
|
||||
echo
|
||||
echo "Upgrade complete."
|
||||
Reference in New Issue
Block a user