Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- Config, docs, scripts, and backup manifests - Submodule refs unchanged (m = modified content in submodules) Made-with: Cursor
77 lines
2.4 KiB
Bash
Executable File
77 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Load IP configuration
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
|
|
|
|
|
|
# Post-installation migration script
|
|
# Run this AFTER NPMplus is installed
|
|
|
|
set -e
|
|
|
|
PROXMOX_HOST="${1:-192.168.11.11}"
|
|
NEW_CONTAINER_ID="${2}"
|
|
CONTAINER_IP="${3}"
|
|
|
|
if [ -z "$NEW_CONTAINER_ID" ] || [ -z "$CONTAINER_IP" ]; then
|
|
echo "Usage: $0 [PROXMOX_HOST] [CONTAINER_ID] [CONTAINER_IP]"
|
|
echo ""
|
|
echo "Example:"
|
|
echo " $0 ${PROXMOX_HOST_R630_01:-192.168.11.11} 106 192.168.11.27"
|
|
exit 1
|
|
fi
|
|
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo "🔄 Post-Installation Migration"
|
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
echo ""
|
|
|
|
# Get admin password
|
|
echo "🔑 Retrieving admin password..."
|
|
ADMIN_PASSWORD=$(ssh root@"$PROXMOX_HOST" "pct exec $NEW_CONTAINER_ID -- bash -c '
|
|
if [ -f /opt/.npm_pwd ]; then
|
|
grep -i password /opt/.npm_pwd | cut -d: -f2 | tr -d \" \"
|
|
else
|
|
docker logs npmplus 2>/dev/null | grep -i \"Creating a new user\" | tail -1 | grep -oP \"password: \K[^\s]+\" || echo \"\"
|
|
fi
|
|
'" 2>/dev/null || echo "")
|
|
|
|
if [ -z "$ADMIN_PASSWORD" ]; then
|
|
echo " ⚠️ Could not retrieve password automatically"
|
|
read -sp " Enter NPMplus admin password: " ADMIN_PASSWORD
|
|
echo ""
|
|
else
|
|
echo " ✅ Admin password retrieved"
|
|
fi
|
|
|
|
# Wait for NPMplus to be ready
|
|
echo ""
|
|
echo "⏳ Waiting for NPMplus to be ready..."
|
|
for i in {1..30}; do
|
|
if ssh root@"$PROXMOX_HOST" "pct exec $NEW_CONTAINER_ID -- docker ps --filter 'name=npmplus' --format '{{.Status}}' 2>/dev/null" | grep -q "Up"; then
|
|
echo " ✅ NPMplus is running"
|
|
break
|
|
fi
|
|
echo " ⏳ Waiting... ($i/30)"
|
|
sleep 2
|
|
done
|
|
|
|
# Migrate configurations
|
|
echo ""
|
|
echo "🚀 Migrating configurations..."
|
|
echo "$ADMIN_PASSWORD" | bash scripts/nginx-proxy-manager/migrate-configs-to-npmplus.sh \
|
|
"$PROXMOX_HOST" \
|
|
"$NEW_CONTAINER_ID" \
|
|
"https://$CONTAINER_IP:81"
|
|
|
|
echo ""
|
|
echo "✅ Migration complete!"
|
|
echo ""
|
|
echo "📋 Next: Update UDM Pro port forwarding:"
|
|
echo " HTTP: 76.53.10.36:80 → $CONTAINER_IP:80"
|
|
echo " HTTPS: 76.53.10.36:443 → $CONTAINER_IP:443"
|
|
echo ""
|