Add server-deploy.sh for running directly on server
This commit is contained in:
parent
4f8a952e30
commit
f63608cff0
1 changed files with 64 additions and 0 deletions
64
server-deploy.sh
Executable file
64
server-deploy.sh
Executable file
|
|
@ -0,0 +1,64 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
# Semblance — server-side deploy script
|
||||
# Run this DIRECTLY ON THE SERVER: /opt/semblance/server-deploy.sh
|
||||
#
|
||||
# Does NOT build the frontend (Node not on server).
|
||||
# Frontend must be deployed from local Mac via: ./deploy.sh
|
||||
# ─────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
DEPLOY_DIR="/opt/semblance"
|
||||
FRONTEND_DEST="/var/www/html/semblance"
|
||||
|
||||
echo "======================================"
|
||||
echo "Semblance — server-side deployment"
|
||||
echo "======================================"
|
||||
|
||||
cd "$DEPLOY_DIR"
|
||||
|
||||
# ── Pre-flight ────────────────────────────────────────────────────────────────
|
||||
if [ ! -f backend/.env ]; then
|
||||
echo "ERROR: backend/.env not found."
|
||||
echo " cp backend/.env.example backend/.env && nano backend/.env"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for VAR in SECRET_KEY JWT_SECRET_KEY OPENAI_API_KEY GEMINI_API_KEY; do
|
||||
if ! grep -q "^${VAR}=.\+" backend/.env 2>/dev/null; then
|
||||
echo "ERROR: $VAR is not set in backend/.env"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
echo "✓ backend/.env OK"
|
||||
|
||||
# ── Step 1: Pull latest code ──────────────────────────────────────────────────
|
||||
echo ""
|
||||
echo "[1/3] Pulling latest code..."
|
||||
git pull
|
||||
|
||||
# ── Step 2: Ensure frontend dir exists ───────────────────────────────────────
|
||||
echo ""
|
||||
echo "[2/3] Ensuring frontend directory..."
|
||||
sudo mkdir -p "$FRONTEND_DEST"
|
||||
sudo chown -R www-data:www-data "$FRONTEND_DEST"
|
||||
echo "✓ $FRONTEND_DEST ready"
|
||||
|
||||
# ── Step 3: Rebuild and restart Docker services ───────────────────────────────
|
||||
echo ""
|
||||
echo "[3/3] Rebuilding and restarting Docker services..."
|
||||
docker compose up -d --build
|
||||
|
||||
echo ""
|
||||
echo "Container status:"
|
||||
docker compose ps
|
||||
|
||||
echo ""
|
||||
echo "======================================"
|
||||
echo "Server deployment complete!"
|
||||
echo " Backend: http://127.0.0.1:5137"
|
||||
echo ""
|
||||
echo "NOTE: Frontend not deployed (requires local build)."
|
||||
echo " Run ./deploy.sh from your Mac to deploy the frontend."
|
||||
echo "======================================"
|
||||
Loading…
Add table
Reference in a new issue