release: nexus btpanel session fix and app-v2

This commit is contained in:
Codex Release Bot
2026-07-08 22:31:31 +08:00
commit 1933f0af6e
2457 changed files with 350105 additions and 0 deletions
+145
View File
@@ -0,0 +1,145 @@
#!/bin/bash
# ================================================================
# Nexus 6.0 — Uninstall Script
#
# Usage:
# sudo bash uninstall.sh # interactive
# sudo bash uninstall.sh --deploy-dir /opt/nexus # specify deploy dir
# sudo bash uninstall.sh --purge # also remove deploy dir
#
# Safe: stops services, removes configs. Database is NEVER deleted automatically.
# ================================================================
set -euo pipefail
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
info() { echo -e "${GREEN}[INFO]${NC} $*"; }
warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
error() { echo -e "${RED}[ERROR]${NC} $*"; }
DEPLOY_DIR=""
PURGE=false
while [[ $# -gt 0 ]]; do
case $1 in
--deploy-dir) DEPLOY_DIR="$2"; shift 2 ;;
--purge) PURGE=true; shift ;;
-h|--help)
echo "Usage: sudo bash uninstall.sh [--deploy-dir PATH] [--purge]"
echo ""
echo " --deploy-dir PATH Specify Nexus installation directory"
echo " --purge Also remove the deploy directory and venv"
echo ""
echo " Note: MySQL database is NEVER deleted automatically."
exit 0 ;;
*) shift ;;
esac
done
# Auto-detect deploy directory
if [ -z "$DEPLOY_DIR" ]; then
for d in /opt/nexus /www/wwwroot/*/; do
if [ -d "$d/server" ] && [ -d "$d/web" ]; then
DEPLOY_DIR="$d"
break
fi
done
fi
if [ -z "$DEPLOY_DIR" ] || [ ! -d "$DEPLOY_DIR/server" ]; then
error "Cannot find Nexus installation. Use --deploy-dir to specify."
exit 1
fi
# Detect BT Panel
BT_MODE=false
if [ -d "/www/server/panel" ] && [ -f "/www/server/panel/class/common.py" ]; then
BT_MODE=true
fi
echo ""
echo "=========================================="
echo " Nexus 6.0 Uninstall"
echo "=========================================="
echo " Deploy: $DEPLOY_DIR"
echo " BT Panel: $BT_MODE"
echo " Purge files: $PURGE"
echo ""
# Confirm
read -rp "Are you sure you want to uninstall Nexus? [y/N] " confirm
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
echo "Cancelled."
exit 0
fi
# 1. Stop Supervisor process
info "Step 1/5: Stopping Nexus process..."
supervisorctl stop nexus >/dev/null 2>&1 || true
# 2. Remove Supervisor config
info "Step 2/5: Removing Supervisor config..."
if [ "$BT_MODE" = true ]; then
SUPERVISOR_CONF="/www/server/panel/plugin/supervisor/profile/nexus.ini"
else
SUPERVISOR_CONF="/etc/supervisor/conf.d/nexus.conf"
fi
if [ -f "$SUPERVISOR_CONF" ]; then
rm -f "$SUPERVISOR_CONF"
supervisorctl reread >/dev/null 2>&1 || true
supervisorctl update >/dev/null 2>&1 || true
info " Removed $SUPERVISOR_CONF"
else
info " Supervisor config not found (already removed)"
fi
# 3. Remove Nginx config
info "Step 3/5: Removing Nginx config..."
if [ "$BT_MODE" = true ]; then
# Find the domain from deploy dir
DOMAIN=$(basename "$DEPLOY_DIR")
NGINX_CONF="/www/server/panel/vhost/nginx/$DOMAIN.conf"
else
NGINX_CONF="/etc/nginx/sites-available/nexus"
NGINX_SYMLINK="/etc/nginx/sites-enabled/nexus"
fi
if [ -f "$NGINX_CONF" ]; then
rm -f "$NGINX_CONF"
[ -L "${NGINX_SYMLINK:-}" ] && rm -f "$NGINX_SYMLINK"
if [ "$BT_MODE" = true ]; then
/www/server/nginx/sbin/nginx -s reload >/dev/null 2>&1 || true
else
nginx -t >/dev/null 2>&1 && systemctl reload nginx 2>/dev/null || true
fi
info " Removed $NGINX_CONF"
else
info " Nginx config not found (already removed)"
fi
# 4. Remove crontab entries
info "Step 4/5: Removing crontab entries..."
crontab -l 2>/dev/null | grep -v "health_monitor.sh" | grep -v "db_backup.sh" | crontab - 2>/dev/null || true
info " Crontab entries removed"
# 5. Optionally remove deploy directory
if [ "$PURGE" = true ]; then
info "Step 5/5: Removing deploy directory (--purge)..."
rm -rf "$DEPLOY_DIR"
info " Removed $DEPLOY_DIR"
else
info "Step 5/5: Keeping deploy directory (use --purge to remove)"
info " To remove manually: rm -rf $DEPLOY_DIR"
fi
echo ""
echo -e " ${GREEN}Nexus uninstalled successfully.${NC}"
echo ""
echo " Note: MySQL database was NOT deleted."
echo " To drop the database manually:"
echo " mysql -u root -e 'DROP DATABASE IF EXISTS nexus;'"
echo ""