mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-06-29 18:55:01 +02:00
03963b5193
* Add host-migrate.sh Proxmox VE tool Add tools/pve/host-migrate.sh — an interactive Proxmox VE host migration utility. The script (whiptail UI) can export host configuration, /etc tarball, SSH keys, APT state and LXC/QEMU guests (vzdump or config-only) into a timestamped bundle, with optional on-demand NFS mounting. It also supports importing bundles to restore guests and selective host components (storage, users, SSH, APT, hosts, network, hostname) with explicit warnings for dangerous operations (network/hostname). Implements preflight checks, manifest creation, storage mapping checks, cleanup trap for NFS, and integrates helper functions loaded from the project's core scripts. * Improve storage prep & mounting in host-migrate Add interactive storage preparation and safer mount handling for host-migrate. - Track and clean up on-demand mounts via TEMP_MOUNTS and extend cleanup handler. - Add helpers: _new_mountpoint, _offer_fstab, mount_existing_fs, format_and_mount, create_lv_and_mount to mount, format, or create LVs and optionally persist to /etc/fstab. - Enhance browse_mounts to list unmounted block devices and LVM VGs, offer mount/format/LV creation, and return prepared mount via BROWSE_RESULT. - Integrate prepared target into choose_location and do_export; show free-space warning before export. - Improve vzdump output detection to pick the newest non-log file. - Minor UX/message tweaks and quoting fixes for backup filenames when restoring storage.cfg and /etc/hosts. These changes let users pick or prepare target storage (mount existing FS, format disks, create LVs) interactively and ensures temporary mounts are cleaned up. * fixes for npm, loki, omada, wishlist Remove promtail from loki/alpine-loki Replace node execstart in npm during update add user agent to omada download use pnpm 11 for wishlist * remove Host migrate --------- Co-authored-by: MickLesk <mickey.leskowitz@gmail.com> Co-authored-by: CanbiZ (MickLesk) <47820557+MickLesk@users.noreply.github.com>
79 lines
2.6 KiB
Bash
79 lines
2.6 KiB
Bash
#!/usr/bin/env bash
|
||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||
# Copyright (c) 2021-2026 tteck
|
||
# Author: tteck (tteckster)
|
||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||
# Source: https://www.tp-link.com/us/support/download/omada-software-controller/
|
||
|
||
APP="Omada"
|
||
var_tags="${var_tags:-tp-link;controller}"
|
||
var_cpu="${var_cpu:-2}"
|
||
var_ram="${var_ram:-3072}"
|
||
var_disk="${var_disk:-8}"
|
||
var_os="${var_os:-debian}"
|
||
var_version="${var_version:-12}"
|
||
var_arm64="${var_arm64:-yes}"
|
||
var_unprivileged="${var_unprivileged:-1}"
|
||
|
||
header_info "$APP"
|
||
variables
|
||
color
|
||
catch_errors
|
||
|
||
function update_script() {
|
||
header_info
|
||
check_container_storage
|
||
check_container_resources
|
||
if [[ ! -d /opt/tplink ]]; then
|
||
msg_error "No ${APP} Installation Found!"
|
||
exit
|
||
fi
|
||
|
||
msg_info "Updating MongoDB"
|
||
if [[ "$(arch_resolve)" == "arm64" ]] || lscpu | grep -q 'avx'; then
|
||
MONGO_VERSION="8.0"
|
||
else
|
||
msg_error "No AVX detected (CPU-Flag)! We have discontinued support for this. You are welcome to try it manually with a Debian LXC, but due to the many issues with Omada, we currently only support AVX CPUs."
|
||
exit 10
|
||
fi
|
||
|
||
JAVA_VERSION="21" setup_java
|
||
|
||
OMADA_URL=$(curl -fsSL -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.5 Safari/605.1.15" "https://support.omadanetworks.com/en/download/software/omada-controller/" |
|
||
grep -o 'https://static\.tp-link\.com/upload/software/[^"]*linux_x64[^"]*\.deb' |
|
||
head -n1)
|
||
OMADA_PKG=$(basename "${OMADA_URL}")
|
||
VERSION=$(sed -n 's/.*_v\([0-9.]*\)_.*_\([0-9]\{14\}\)\.deb$/\1-\2/p' <<<"${OMADA_PKG}")
|
||
|
||
CURRENT_VERSION=$(cat $HOME/.omada 2>/dev/null || echo "0")
|
||
|
||
if dpkg --compare-versions "${VERSION}" gt "${CURRENT_VERSION}"; then
|
||
|
||
msg_info "Updating Omada Controller"
|
||
|
||
if [ -z "${OMADA_PKG}" ]; then
|
||
msg_error "Could not retrieve Omada package – server may be down."
|
||
exit
|
||
fi
|
||
curl -fsSL "${OMADA_URL}" -o "${OMADA_PKG}"
|
||
export DEBIAN_FRONTEND=noninteractive
|
||
$STD dpkg -i "${OMADA_PKG}"
|
||
rm -f "${OMADA_PKG}"
|
||
echo "${VERSION}" >$HOME/.omada
|
||
msg_ok "Updated Omada Controller to ${VERSION}"
|
||
msg_ok "Updated successfully!"
|
||
else
|
||
msg_ok "No update available: ${APP} (${CURRENT_VERSION})"
|
||
fi
|
||
exit
|
||
}
|
||
|
||
start
|
||
build_container
|
||
description
|
||
|
||
msg_ok "Completed successfully!\n"
|
||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||
echo -e "${INFO}${YW}Access it using the following URL:${CL}"
|
||
echo -e "${GATEWAY}${BGN}https://${IP}:8043${CL}"
|