diff --git a/setup_devmatrix_proxmox_custom.sh b/setup_devmatrix_proxmox_custom.sh index e10645f..e87bf97 100644 --- a/setup_devmatrix_proxmox_custom.sh +++ b/setup_devmatrix_proxmox_custom.sh @@ -87,13 +87,48 @@ if [ "${HDD_AVAIL%.*}" -lt "$NEEDED_HDD" ]; then fi log "✓ Sufficient HDD space (${NEEDED_HDD}GB needed)" -# Check VM IDs +# Check VM IDs - warn if exist, allow skip +log "🔍 Checking VM ID availability..." + +existing_vms="" for vmid in $MAIN_VMID $WIN_VMID $ANDROID_VMID; do if qm status "$vmid" &> /dev/null; then - error "VM ID $vmid already exists!" + vmname=$(qm config "$vmid" | grep name | awk '{print $2}') + warn "VM $vmid ($vmname) already exists!" + existing_vms="$existing_vms $vmid" fi done -log "✓ VM IDs available (300-302)" + +if [ -n "$existing_vms" ]; then + echo "" + echo "Options:" + echo " 1) Skip existing VMs and create only new ones" + echo " 2) Destroy existing VMs and recreate" + echo " 3) Exit and check manually" + read -p "Choose (1/2/3): " choice + + case $choice in + 1) + log "Will skip existing VMs..." + ;; + 2) + warn "Destroying VMs:$existing_vms" + for vmid in $existing_vms; do + qm stop "$vmid" &> /dev/null || true + qm destroy "$vmid" --purge + log "Destroyed VM $vmid" + done + ;; + 3) + exit 1 + ;; + *) + error "Invalid choice" + ;; + esac +fi + +log "✓ VM IDs checked" # Check RAM AVAILABLE_RAM=$(free -m | awk '/^Mem:/{print $7}')