Add full project files
This commit is contained in:
80
scripts/revert-cdn-server.sh
Normal file
80
scripts/revert-cdn-server.sh
Normal file
@@ -0,0 +1,80 @@
|
||||
#!/bin/bash
|
||||
# بازگردانی سرور به حالت قبل از CDN — بدون ParsPack
|
||||
# اجرا: bash /root/modstagram-back/scripts/revert-cdn-server.sh
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
SERVER_IP="${SERVER_IP:-185.164.73.197}"
|
||||
|
||||
echo "=========================================="
|
||||
echo " Revert CDN / restore direct API storage"
|
||||
echo " Server IP: $SERVER_IP"
|
||||
echo "=========================================="
|
||||
|
||||
echo ""
|
||||
echo ">>> [1/5] Disable CDN nginx site..."
|
||||
rm -f /etc/nginx/sites-enabled/cdn.modstagram.com.conf
|
||||
rm -f /etc/nginx/sites-enabled/cdn.modstagram.com.http.conf 2>/dev/null || true
|
||||
|
||||
echo ""
|
||||
echo ">>> [2/5] Restore API nginx (proxy to Node 3002)..."
|
||||
if [ -f "$SCRIPT_DIR/nginx/api.modstagram.com.conf" ]; then
|
||||
cp "$SCRIPT_DIR/nginx/api.modstagram.com.conf" /etc/nginx/sites-available/api.modstagram.com.conf
|
||||
ln -sf /etc/nginx/sites-available/api.modstagram.com.conf /etc/nginx/sites-enabled/api.modstagram.com.conf
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo ">>> [3/5] Stop local BIND9 (optional — if it conflicts with registrar DNS)..."
|
||||
if systemctl is-active --quiet bind9 2>/dev/null; then
|
||||
systemctl stop bind9 2>/dev/null || true
|
||||
systemctl disable bind9 2>/dev/null || true
|
||||
echo " BIND9 stopped (DNS now from registrar only)"
|
||||
else
|
||||
echo " BIND9 not running"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo ">>> [4/5] Test nginx and reload..."
|
||||
nginx -t
|
||||
systemctl reload nginx
|
||||
|
||||
echo ""
|
||||
echo ">>> [5/5] Restart backend + check local storage..."
|
||||
if command -v pm2 >/dev/null 2>&1; then
|
||||
pm2 restart modstagram-back || pm2 restart all || true
|
||||
fi
|
||||
|
||||
sleep 2
|
||||
|
||||
echo ""
|
||||
echo "--- Local diagnostics (no curl needed) ---"
|
||||
echo -n "API version: "
|
||||
wget -qO- --timeout=5 http://127.0.0.1:3002/api/v1/version 2>/dev/null || echo "FAILED"
|
||||
|
||||
SAMPLE_IMG=$(find /root/modstagram-back/storage/posts/images -type f 2>/dev/null | head -1)
|
||||
if [ -n "$SAMPLE_IMG" ]; then
|
||||
REL="/storage/posts/images/$(basename "$SAMPLE_IMG")"
|
||||
echo "Sample file: $SAMPLE_IMG"
|
||||
echo "Testing: http://127.0.0.1:3002$REL"
|
||||
wget -S --spider --timeout=5 "http://127.0.0.1:3002$REL" 2>&1 | head -8
|
||||
else
|
||||
echo "WARN: no images in storage/posts/images"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo " DONE"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo " Apps must use:"
|
||||
echo " NEXT_PUBLIC_IMAGE_BASE_URL=https://api.modstagram.com/storage"
|
||||
echo ""
|
||||
echo " In ParsPack panel (when ready):"
|
||||
echo " - Disable WCDN for api.modstagram.com"
|
||||
echo " - A record api -> $SERVER_IP"
|
||||
echo ""
|
||||
echo " Rebuild frontends:"
|
||||
echo " cd /root/modstagram-next && npm run build && pm2 restart modstagram-next"
|
||||
echo " cd /root/modstagram_panel && npm run build && pm2 restart modstagram_panel"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user