From cd8a07a170e7b43defa60cd0e959fcd419bb92fb Mon Sep 17 00:00:00 2001 From: "push-app-to-main[bot]" <203845782+push-app-to-main[bot]@users.noreply.github.com> Date: Wed, 1 Jul 2026 08:01:45 +0200 Subject: [PATCH] iVentoy (#15503) --- ct/headers/iventoy | 6 ++++ ct/iventoy.sh | 56 ++++++++++++++++++++++++++++++++++++++ install/iventoy-install.sh | 47 ++++++++++++++++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 ct/headers/iventoy create mode 100644 ct/iventoy.sh create mode 100644 install/iventoy-install.sh diff --git a/ct/headers/iventoy b/ct/headers/iventoy new file mode 100644 index 000000000..93049ea9f --- /dev/null +++ b/ct/headers/iventoy @@ -0,0 +1,6 @@ + _ _ __ __ + (_) | / /__ ____ / /_____ __ __ + / /| | / / _ \/ __ \/ __/ __ \/ / / / + / / | |/ / __/ / / / /_/ /_/ / /_/ / +/_/ |___/\___/_/ /_/\__/\____/\__, / + /____/ diff --git a/ct/iventoy.sh b/ct/iventoy.sh new file mode 100644 index 000000000..1d8c6ca3d --- /dev/null +++ b/ct/iventoy.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2026 community-scripts ORG +# Author: tteck (tteckster) | MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://www.iventoy.com/en/index.html + +APP="iVentoy" +var_tags="${var_tags:-pxe-tool}" +var_disk="${var_disk:-2}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-512}" +var_os="${var_os:-debian}" +var_version="${var_version:-13}" +var_arm64="${var_arm64:-no}" +var_unprivileged="${var_unprivileged:-0}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/iventoy ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + if check_for_gh_release "iventoy" "ventoy/PXE"; then + msg_info "Stopping iVentoy" + $STD /opt/iventoy/iventoy.sh stop + msg_ok "Stopped iVentoy" + + create_backup /opt/iventoy/data /opt/iventoy/iso + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "iventoy" "ventoy/PXE" "prebuild" "latest" "/opt/iventoy" "iventoy-*-linux-x86_64-free.tar.gz" + restore_backup + + msg_info "Starting iVentoy" + $STD /opt/iventoy/iventoy.sh -R start + msg_ok "Started iVentoy" + msg_ok "Updated Successfully" + 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 "${TAB}${GATEWAY}${BGN}http://${IP}:26000${CL}" diff --git a/install/iventoy-install.sh b/install/iventoy-install.sh new file mode 100644 index 000000000..dc90c8271 --- /dev/null +++ b/install/iventoy-install.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2026 community-scripts ORG +# Author: tteck (tteckster) | MickLesk (CanbiZ) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://www.iventoy.com/en/index.html + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +fetch_and_deploy_gh_release "iventoy" "ventoy/PXE" "prebuild" "latest" "/opt/iventoy" "iventoy-*-linux-x86_64-free.tar.gz" +mkdir -p /opt/iventoy/{data,iso} + +msg_info "Creating Service" +cat </etc/systemd/system/iventoy.service +[Unit] +Description=iVentoy PXE Booter +Documentation=https://www.iventoy.com +Wants=network-online.target +After=network-online.target + +[Service] +Type=forking +WorkingDirectory=/opt/iventoy +Environment=IVENTOY_API_ALL=1 +Environment=IVENTOY_AUTO_RUN=1 +Environment=LIBRARY_PATH=/opt/iventoy/lib/lin64 +Environment=LD_LIBRARY_PATH=/opt/iventoy/lib/lin64 +ExecStart=/bin/sh /opt/iventoy/iventoy.sh -R start +ExecStop=/bin/sh /opt/iventoy/iventoy.sh stop +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target +EOF +systemctl enable -q --now iventoy +msg_ok "Created Service" + +motd_ssh +customize +cleanup_lxc