mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-02-27 17:00:45 +01:00
53 lines
1.7 KiB
Bash
Executable File
53 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
# Deploy Docker containers fix to live panel (/usr/local/CyberCP).
|
|
# Run this script ON the server (e.g. 84.247.184.182) as root or with sudo.
|
|
# Fix: HTTP 500 on /docker/containers - error handling + auto-migrate.
|
|
|
|
set -e
|
|
CYBERCP_ROOT="${CYBERCP_ROOT:-/usr/local/CyberCP}"
|
|
REPO_URL="${REPO_URL:-https://github.com/master3395/cyberpanel.git}"
|
|
BRANCH="${BRANCH:-v2.5.5-dev}"
|
|
WORK_DIR="/tmp/cyberpanel-deploy-docker-$$"
|
|
|
|
echo "[$(date -Iseconds)] Deploying Docker containers fix to ${CYBERCP_ROOT}"
|
|
|
|
# Clone repo (shallow, branch only)
|
|
mkdir -p "$WORK_DIR"
|
|
git clone --depth 1 --branch "$BRANCH" "$REPO_URL" "$WORK_DIR"
|
|
|
|
# Backup and copy fixed files
|
|
for f in dockerManager/container.py dockerManager/views.py; do
|
|
src="$WORK_DIR/$f"
|
|
dest="$CYBERCP_ROOT/$f"
|
|
if [ ! -f "$src" ]; then
|
|
echo "ERROR: $src not found in repo"
|
|
exit 1
|
|
fi
|
|
if [ -f "$dest" ]; then
|
|
cp -a "$dest" "${dest}.bak.$(date +%Y%m%d%H%M%S)"
|
|
fi
|
|
cp -a "$src" "$dest"
|
|
echo " -> $dest"
|
|
done
|
|
|
|
# Run migrations for dockerManager (creates table if missing)
|
|
if [ -x "$CYBERCP_ROOT/bin/python" ] && [ -f "$CYBERCP_ROOT/manage.py" ]; then
|
|
echo "Running: manage.py migrate dockerManager --noinput"
|
|
"$CYBERCP_ROOT/bin/python" "$CYBERCP_ROOT/manage.py" migrate dockerManager --noinput || true
|
|
fi
|
|
|
|
# Restart panel service so Django loads new code
|
|
if systemctl is-active --quiet lscpd 2>/dev/null; then
|
|
echo "Restarting lscpd..."
|
|
systemctl restart lscpd
|
|
elif systemctl is-active --quiet gunicorn 2>/dev/null; then
|
|
echo "Restarting gunicorn..."
|
|
systemctl restart gunicorn
|
|
else
|
|
echo "Restart lscpd or gunicorn manually so the new code is loaded."
|
|
fi
|
|
|
|
# Cleanup
|
|
rm -rf "$WORK_DIR"
|
|
echo "[$(date -Iseconds)] Done. Test: https://YOUR_IP:2087/docker/containers"
|