From 53f397512a730614052f4ad938cb933491fd94fb Mon Sep 17 00:00:00 2001 From: Gerhard Burger Date: Tue, 14 Oct 2025 20:55:40 +0200 Subject: [PATCH] Update cockpit-install.sh (#8346) --- ct/cockpit.sh | 73 ++++---------------------------------- install/cockpit-install.sh | 40 +++++++++++++++++++-- 2 files changed, 44 insertions(+), 69 deletions(-) diff --git a/ct/cockpit.sh b/ct/cockpit.sh index 8afcdad14..2ff32f7f1 100644 --- a/ct/cockpit.sh +++ b/ct/cockpit.sh @@ -27,73 +27,12 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \ - "1" "Update LXC" ON \ - "2" "Install cockpit-file-sharing" OFF \ - "3" "Install cockpit-identities" OFF \ - "4" "Install cockpit-navigator" OFF \ - 3>&1 1>&2 2>&3) - - if [ "$UPD" == "1" ]; then - msg_info "Updating ${APP} LXC" - $STD apt update - $STD apt -y upgrade - msg_ok "Updated ${APP} LXC" - exit - fi - - if [ "$UPD" == "2" ]; then - msg_info "Installing dependencies (patience)" - $STD apt install -y \ - attr \ - nfs-kernel-server \ - samba \ - samba-common-bin \ - winbind \ - gawk - msg_ok "Installed dependencies" - msg_info "Installing Cockpit file sharing" - URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4) - FILE=$(basename "$URL") - curl -fsSL "$URL" -o "$FILE" - $STD dpkg -i "$FILE" || $STD apt install -f -y - rm -f "$FILE" - msg_ok "Installed Cockpit file sharing" - exit - fi - - if [ "$UPD" == "3" ]; then - msg_info "Installing dependencies (patience)" - $STD apt install -y \ - psmisc \ - samba \ - samba-common-bin - msg_ok "Installed dependencies" - msg_info "Installing Cockpit identities" - URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4) - FILE=$(basename "$URL") - curl -fsSL "$URL" -o "$FILE" - $STD dpkg -i "$FILE" || $STD apt install -f -y - rm -f "$FILE" - msg_ok "Installed Cockpit identities" - exit - fi - - if [ "$UPD" == "4" ]; then - msg_info "Installing dependencies" - $STD apt install -y \ - rsync \ - zip - msg_ok "Installed dependencies" - msg_info "Installing Cockpit navigator" - URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4) - FILE=$(basename "$URL") - curl -fsSL "$URL" -o "$FILE" - $STD dpkg -i "$FILE" || $STD apt install -f -y - rm -f "$FILE" - msg_ok "Installed Cockpit navigator" - exit - fi + + msg_info "Updating ${APP} LXC" + $STD apt update + $STD apt -y upgrade + msg_ok "Updated ${APP} LXC" + exit } start diff --git a/install/cockpit-install.sh b/install/cockpit-install.sh index 0debf8030..04f37d5b5 100644 --- a/install/cockpit-install.sh +++ b/install/cockpit-install.sh @@ -16,12 +16,48 @@ update_os msg_info "Installing Cockpit" source /etc/os-release -echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main" >/etc/apt/sources.list.d/backports.list + +cat </etc/apt/sources.list.d/debian-backports.sources +Types: deb deb-src +URIs: http://deb.debian.org/debian +Suites: ${VERSION_CODENAME}-backports +Components: main +Enabled: yes +Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg +EOF + $STD apt update -$STD apt install -t ${VERSION_CODENAME}-backports cockpit --no-install-recommends -y +$STD apt install -t ${VERSION_CODENAME}-backports cockpit cracklib-runtime --no-install-recommends -y sed -i "s/root//g" /etc/cockpit/disallowed-users msg_ok "Installed Cockpit" +read -r -p "Would you like to install 45Drives' cockpit-file-sharing, cockpit-identities, and cockpit-navigator " prompt +if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then + install_45drives=true + if [[ "${VERSION_ID}" -ge 13 ]]; then + read -r -p "Debian ${VERSION_ID} is not officially supported by 45Drives yet, would you like to continue anyway? " prompt + if [[ ! "${prompt,,}" =~ ^(y|yes)$ ]]; then + install_45drives=false + fi + fi + if [[ "$install_45drives" == "true" ]]; then + msg_info "Installing 45Drives' cockpit extensions" + curl -fsSL https://repo.45drives.com/key/gpg.asc | gpg --pinentry-mode loopback --batch --yes --dearmor -o /usr/share/keyrings/45drives-archive-keyring.gpg + cat </etc/apt/sources.list.d/45drives-enterprise.sources +Types: deb +URIs: https://repo.45drives.com/enterprise/debian +Suites: bookworm +Components: main +Architectures: amd64 +Signed-By: /usr/share/keyrings/45drives-archive-keyring.gpg +EOF + + $STD apt update + $STD apt install cockpit-file-sharing cockpit-identities cockpit-navigator -y + msg_ok "Installed 45Drives' cockpit extensions" + fi +fi + motd_ssh customize