mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-05-27 02:39:35 +02:00
Compare commits
12 Commits
fix/the-lo
...
CrazyWolf1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
06795cd0e6 | ||
|
|
c7aaa09b18 | ||
|
|
60dc8a55df | ||
|
|
9c31f2c638 | ||
|
|
9ad809f820 | ||
|
|
6e2f5eb78a | ||
|
|
2b5902714c | ||
|
|
fe6ec44973 | ||
|
|
872af12628 | ||
|
|
55fa852b25 | ||
|
|
c01404a624 | ||
|
|
2821014734 |
41
CHANGELOG.md
41
CHANGELOG.md
@@ -464,47 +464,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
|||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## 2026-05-22
|
|
||||||
|
|
||||||
### 🆕 New Scripts
|
|
||||||
|
|
||||||
- bitfocus-companion ([#14603](https://github.com/community-scripts/ProxmoxVE/pull/14603))
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- Docmost: Fix duplicate STORAGE_DRIVER [@MickLesk](https://github.com/MickLesk) ([#14645](https://github.com/community-scripts/ProxmoxVE/pull/14645))
|
|
||||||
- Profilarr: pin Deno version to v2.7.5 [@MickLesk](https://github.com/MickLesk) ([#14632](https://github.com/community-scripts/ProxmoxVE/pull/14632))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- SoulSync: setup Node v22 and build WebUI [@MickLesk](https://github.com/MickLesk) ([#14639](https://github.com/community-scripts/ProxmoxVE/pull/14639))
|
|
||||||
- Refactor: Dispatcharr [@MickLesk](https://github.com/MickLesk) ([#14313](https://github.com/community-scripts/ProxmoxVE/pull/14313))
|
|
||||||
|
|
||||||
### 💾 Core
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- fix: make LXC banner OS detection dynamic via /etc/os-release [@atahan99](https://github.com/atahan99) ([#14269](https://github.com/community-scripts/ProxmoxVE/pull/14269))
|
|
||||||
|
|
||||||
- #### 🔧 Refactor
|
|
||||||
|
|
||||||
- core: suppress MOTD for non-interactive shells [@MickLesk](https://github.com/MickLesk) ([#14638](https://github.com/community-scripts/ProxmoxVE/pull/14638))
|
|
||||||
|
|
||||||
## 2026-05-21
|
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
|
||||||
|
|
||||||
- #### 🐞 Bug Fixes
|
|
||||||
|
|
||||||
- snowshare: use mv instead of cp for uploads backup to prevent disk fill [@TuroYT](https://github.com/TuroYT) ([#14558](https://github.com/community-scripts/ProxmoxVE/pull/14558))
|
|
||||||
- Technitium DNS: download release before stopping the service on update [@w-gitops](https://github.com/w-gitops) ([#14616](https://github.com/community-scripts/ProxmoxVE/pull/14616))
|
|
||||||
|
|
||||||
- #### ✨ New Features
|
|
||||||
|
|
||||||
- Proxmox VE 9.2 support [@MickLesk](https://github.com/MickLesk) ([#14624](https://github.com/community-scripts/ProxmoxVE/pull/14624))
|
|
||||||
|
|
||||||
## 2026-05-20
|
## 2026-05-20
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ The collection covers hundreds of services across categories like home automatio
|
|||||||
|
|
||||||
| Component | Details |
|
| Component | Details |
|
||||||
| -------------- | ------------------------------------------------ |
|
| -------------- | ------------------------------------------------ |
|
||||||
| **Proxmox VE** | Version 8.4, 9.0, 9.1, or 9.2 |
|
| **Proxmox VE** | Version 8.4, 9.0, or 9.1 |
|
||||||
| **Host OS** | Proxmox VE (Debian-based) |
|
| **Host OS** | Proxmox VE (Debian-based) |
|
||||||
| **Access** | Root shell access on the Proxmox host |
|
| **Access** | Root shell access on the Proxmox host |
|
||||||
| **Network** | Internet connection required during installation |
|
| **Network** | Internet connection required during installation |
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ This project currently supports the following versions of Proxmox VE (PVE):
|
|||||||
|
|
||||||
| Version | Supported |
|
| Version | Supported |
|
||||||
| ------- | ------------------ |
|
| ------- | ------------------ |
|
||||||
| 9.2.x | :white_check_mark: |
|
|
||||||
| 9.1.x | :white_check_mark: |
|
| 9.1.x | :white_check_mark: |
|
||||||
| 9.0.x | :white_check_mark: |
|
| 9.0.x | :white_check_mark: |
|
||||||
| 8.4.x | :white_check_mark: |
|
| 8.4.x | :white_check_mark: |
|
||||||
|
|||||||
@@ -1,70 +0,0 @@
|
|||||||
#!/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: glabutis
|
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://github.com/bitfocus/companion
|
|
||||||
|
|
||||||
APP="Bitfocus-Companion"
|
|
||||||
var_tags="${var_tags:-automation;media}"
|
|
||||||
var_cpu="${var_cpu:-2}"
|
|
||||||
var_ram="${var_ram:-512}"
|
|
||||||
var_disk="${var_disk:-8}"
|
|
||||||
var_os="${var_os:-debian}"
|
|
||||||
var_version="${var_version:-12}"
|
|
||||||
var_unprivileged="${var_unprivileged:-1}"
|
|
||||||
|
|
||||||
header_info "$APP"
|
|
||||||
variables
|
|
||||||
color
|
|
||||||
catch_errors
|
|
||||||
|
|
||||||
function update_script() {
|
|
||||||
header_info
|
|
||||||
check_container_storage
|
|
||||||
check_container_resources
|
|
||||||
|
|
||||||
if [[ ! -f /opt/bitfocus-companion/companion_headless.sh ]]; then
|
|
||||||
msg_error "No ${APP} Installation Found!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
RELEASE_JSON=$(curl -fsSL "https://api.bitfocus.io/v1/product/companion/packages?limit=20")
|
|
||||||
PACKAGE_JSON=$(echo "$RELEASE_JSON" | jq -c '(if type == "array" then . else .packages end) | [.[] | select(.target=="linux-tgz" and (.uri | contains("linux-x64")))] | first')
|
|
||||||
RELEASE=$(echo "$PACKAGE_JSON" | jq -r '.version // empty')
|
|
||||||
ASSET_URL=$(echo "$PACKAGE_JSON" | jq -r '.uri // empty')
|
|
||||||
if [[ -z "$RELEASE" || -z "$ASSET_URL" ]]; then
|
|
||||||
msg_error "Could not resolve a matching Linux x64 Companion package from the Bitfocus API."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${RELEASE}" == "$(cat ~/.bitfocus-companion 2>/dev/null)" ]]; then
|
|
||||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
msg_info "Stopping ${APP}"
|
|
||||||
systemctl stop bitfocus-companion
|
|
||||||
msg_ok "Stopped ${APP}"
|
|
||||||
|
|
||||||
msg_info "Updating ${APP} to v${RELEASE}"
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_from_url "$ASSET_URL" "/opt/bitfocus-companion"
|
|
||||||
echo "${RELEASE}" >~/.bitfocus-companion
|
|
||||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
|
||||||
|
|
||||||
msg_info "Starting ${APP}"
|
|
||||||
systemctl start bitfocus-companion
|
|
||||||
msg_ok "Started ${APP}"
|
|
||||||
|
|
||||||
msg_ok "Update Successful"
|
|
||||||
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}:8000${CL}"
|
|
||||||
@@ -54,7 +54,7 @@ function update_script() {
|
|||||||
cp /opt/dispatcharr/.env /tmp/dispatcharr.env.backup
|
cp /opt/dispatcharr/.env /tmp/dispatcharr.env.backup
|
||||||
fi
|
fi
|
||||||
if [[ -f /opt/dispatcharr/start-gunicorn.sh ]]; then
|
if [[ -f /opt/dispatcharr/start-gunicorn.sh ]]; then
|
||||||
rm -f /opt/dispatcharr/start-gunicorn.sh
|
cp /opt/dispatcharr/start-gunicorn.sh /tmp/start-gunicorn.sh.backup
|
||||||
fi
|
fi
|
||||||
if [[ -f /opt/dispatcharr/start-celery.sh ]]; then
|
if [[ -f /opt/dispatcharr/start-celery.sh ]]; then
|
||||||
cp /opt/dispatcharr/start-celery.sh /tmp/start-celery.sh.backup
|
cp /opt/dispatcharr/start-celery.sh /tmp/start-celery.sh.backup
|
||||||
@@ -83,6 +83,9 @@ function update_script() {
|
|||||||
if [[ -f /tmp/dispatcharr.env.backup ]]; then
|
if [[ -f /tmp/dispatcharr.env.backup ]]; then
|
||||||
mv /tmp/dispatcharr.env.backup /opt/dispatcharr/.env
|
mv /tmp/dispatcharr.env.backup /opt/dispatcharr/.env
|
||||||
fi
|
fi
|
||||||
|
if [[ -f /tmp/start-gunicorn.sh.backup ]]; then
|
||||||
|
mv /tmp/start-gunicorn.sh.backup /opt/dispatcharr/start-gunicorn.sh
|
||||||
|
fi
|
||||||
if [[ -f /tmp/start-celery.sh.backup ]]; then
|
if [[ -f /tmp/start-celery.sh.backup ]]; then
|
||||||
mv /tmp/start-celery.sh.backup /opt/dispatcharr/start-celery.sh
|
mv /tmp/start-celery.sh.backup /opt/dispatcharr/start-celery.sh
|
||||||
fi
|
fi
|
||||||
@@ -102,35 +105,7 @@ function update_script() {
|
|||||||
rm -rf .venv
|
rm -rf .venv
|
||||||
$STD uv venv --clear
|
$STD uv venv --clear
|
||||||
$STD uv sync
|
$STD uv sync
|
||||||
$STD uv pip install uwsgi gevent celery redis daphne
|
$STD uv pip install gunicorn gevent celery redis daphne
|
||||||
cat <<'EOF' >/opt/dispatcharr/start-uwsgi.sh
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
cd /opt/dispatcharr
|
|
||||||
set -a
|
|
||||||
source .env
|
|
||||||
set +a
|
|
||||||
exec .venv/bin/uwsgi \
|
|
||||||
--chdir=/opt/dispatcharr \
|
|
||||||
--module=dispatcharr.wsgi:application \
|
|
||||||
--master \
|
|
||||||
--workers=4 \
|
|
||||||
--gevent=400 \
|
|
||||||
--http=0.0.0.0:5656 \
|
|
||||||
--http-keepalive=1 \
|
|
||||||
--http-timeout=600 \
|
|
||||||
--socket-timeout=600 \
|
|
||||||
--buffer-size=65536 \
|
|
||||||
--post-buffering=4096 \
|
|
||||||
--lazy-apps \
|
|
||||||
--thunder-lock \
|
|
||||||
--die-on-term \
|
|
||||||
--vacuum
|
|
||||||
EOF
|
|
||||||
chmod +x /opt/dispatcharr/start-uwsgi.sh
|
|
||||||
if grep -q 'start-gunicorn.sh' /etc/systemd/system/dispatcharr.service; then
|
|
||||||
sed -i 's|start-gunicorn.sh|start-uwsgi.sh|g' /etc/systemd/system/dispatcharr.service
|
|
||||||
systemctl daemon-reload
|
|
||||||
fi
|
|
||||||
msg_ok "Updated Dispatcharr Backend"
|
msg_ok "Updated Dispatcharr Backend"
|
||||||
|
|
||||||
msg_info "Building Frontend"
|
msg_info "Building Frontend"
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
____ _ __ ____ ______ _
|
|
||||||
/ __ )(_) /_/ __/___ _______ _______ / ____/___ ____ ___ ____ ____ _____ (_)___ ____
|
|
||||||
/ __ / / __/ /_/ __ \/ ___/ / / / ___/_____/ / / __ \/ __ `__ \/ __ \/ __ `/ __ \/ / __ \/ __ \
|
|
||||||
/ /_/ / / /_/ __/ /_/ / /__/ /_/ (__ )_____/ /___/ /_/ / / / / / / /_/ / /_/ / / / / / /_/ / / / /
|
|
||||||
/_____/_/\__/_/ \____/\___/\__,_/____/ \____/\____/_/ /_/ /_/ .___/\__,_/_/ /_/_/\____/_/ /_/
|
|
||||||
/_/
|
|
||||||
@@ -55,6 +55,25 @@ function update_script() {
|
|||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ ! -f /usr/bin/karakeep ]; then
|
||||||
|
cat <<'EOF' >/usr/bin/karakeep
|
||||||
|
#!/usr/bin/env node
|
||||||
|
import('/opt/karakeep/apps/cli/dist/index.mjs')
|
||||||
|
EOF
|
||||||
|
chmod +x /usr/bin/karakeep
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! command -v pip >/dev/null 2>&1 || ! pip show yt-dlp-ejs >/dev/null 2>&1; then
|
||||||
|
msg_info "Installing external JavaScript Extension for yt-dlp"
|
||||||
|
ensure_dependencies python3-pip
|
||||||
|
$STD pip install -U yt-dlp-ejs
|
||||||
|
msg_ok "Installed external JavaScript Extension for yt-dlp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! command -v deno &>/dev/null; then
|
||||||
|
fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-$(uname -m)-unknown-linux-gnu.zip"
|
||||||
|
fi
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" "tarball"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" "tarball"
|
||||||
if command -v corepack >/dev/null; then
|
if command -v corepack >/dev/null; then
|
||||||
$STD corepack disable
|
$STD corepack disable
|
||||||
|
|||||||
@@ -36,9 +36,9 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if check_for_gh_release "deno" "denoland/deno" "v2.7.5" "Deno is pinned to 2.7.5 because the known WouldBlock: Resource temporarily unavailable (os error 11) Issue"; then
|
if check_for_gh_release "deno" "denoland/deno"; then
|
||||||
ARCH=$(uname -m)
|
ARCH=$(uname -m)
|
||||||
fetch_and_deploy_gh_release "deno" "denoland/deno" "v2.7.5" "latest" "/usr/local/bin" "deno-${ARCH}-unknown-linux-gnu.zip"
|
fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-${ARCH}-unknown-linux-gnu.zip"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if check_for_gh_release "profilarr" "Dictionarry-Hub/profilarr"; then
|
if check_for_gh_release "profilarr" "Dictionarry-Hub/profilarr"; then
|
||||||
|
|||||||
@@ -35,20 +35,16 @@ function update_script() {
|
|||||||
systemctl stop snowshare
|
systemctl stop snowshare
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
if ! grep -q '^UPLOAD_DIR=' /opt/snowshare.env 2>/dev/null; then
|
msg_info "Backing up uploads"
|
||||||
msg_info "Migrating uploads to persistent directory"
|
[ -d /opt/snowshare/uploads ] && cp -a /opt/snowshare/uploads /opt/.snowshare_uploads_backup
|
||||||
mkdir -p /opt/snowshare_data
|
msg_ok "Uploads backed up"
|
||||||
if [ -d /opt/snowshare/uploads ] && [ -z "$(ls -A /opt/snowshare_data 2>/dev/null)" ]; then
|
|
||||||
mv /opt/snowshare/uploads/* /opt/snowshare_data/ 2>/dev/null || true
|
|
||||||
mv /opt/snowshare/uploads/.[!.]* /opt/snowshare_data/ 2>/dev/null || true
|
|
||||||
rmdir /opt/snowshare/uploads 2>/dev/null || true
|
|
||||||
fi
|
|
||||||
echo "UPLOAD_DIR=/opt/snowshare_data" >>/opt/snowshare.env
|
|
||||||
msg_ok "Migrated uploads to /opt/snowshare_data"
|
|
||||||
fi
|
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "snowshare" "TuroYT/snowshare" "tarball"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "snowshare" "TuroYT/snowshare" "tarball"
|
||||||
|
|
||||||
|
msg_info "Restoring uploads"
|
||||||
|
[ -d /opt/.snowshare_uploads_backup ] && rm -rf /opt/snowshare/uploads && cp -a /opt/.snowshare_uploads_backup /opt/snowshare/uploads
|
||||||
|
msg_ok "Uploads restored"
|
||||||
|
|
||||||
msg_info "Updating Snowshare"
|
msg_info "Updating Snowshare"
|
||||||
cd /opt/snowshare
|
cd /opt/snowshare
|
||||||
$STD npm ci
|
$STD npm ci
|
||||||
|
|||||||
@@ -29,8 +29,6 @@ function update_script() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
|
||||||
|
|
||||||
if check_for_gh_release "soulsync" "Nezreka/SoulSync"; then
|
if check_for_gh_release "soulsync" "Nezreka/SoulSync"; then
|
||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop soulsync
|
systemctl stop soulsync
|
||||||
@@ -49,12 +47,6 @@ function update_script() {
|
|||||||
$STD uv pip install -r requirements.txt
|
$STD uv pip install -r requirements.txt
|
||||||
msg_ok "Updated Python Dependencies"
|
msg_ok "Updated Python Dependencies"
|
||||||
|
|
||||||
msg_info "Building WebUI"
|
|
||||||
cd /opt/soulsync/webui
|
|
||||||
$STD npm ci
|
|
||||||
$STD npm run build
|
|
||||||
msg_ok "Built WebUI"
|
|
||||||
|
|
||||||
mv /opt/soulsync-config.bak /opt/soulsync/config
|
mv /opt/soulsync-config.bak /opt/soulsync/config
|
||||||
mv /opt/soulsync-data.bak /opt/soulsync/data
|
mv /opt/soulsync-data.bak /opt/soulsync/data
|
||||||
|
|
||||||
|
|||||||
@@ -47,9 +47,10 @@ function update_script() {
|
|||||||
|
|
||||||
RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
|
RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
|
||||||
if [[ ! -f ~/.technitium || ${RELEASE} != "$(cat ~/.technitium 2>/dev/null)" ]]; then
|
if [[ ! -f ~/.technitium || ${RELEASE} != "$(cat ~/.technitium 2>/dev/null)" ]]; then
|
||||||
|
systemctl stop technitium
|
||||||
fetch_and_deploy_from_url "https://download.technitium.com/dns/DnsServerPortable.tar.gz" /opt/technitium/dns
|
fetch_and_deploy_from_url "https://download.technitium.com/dns/DnsServerPortable.tar.gz" /opt/technitium/dns
|
||||||
echo "${RELEASE}" >~/.technitium
|
echo "${RELEASE}" >~/.technitium
|
||||||
systemctl restart technitium
|
systemctl start technitium
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
else
|
else
|
||||||
msg_ok "No update required. Technitium DNS is already at v${RELEASE}."
|
msg_ok "No update required. Technitium DNS is already at v${RELEASE}."
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ function update_script() {
|
|||||||
systemctl stop thelounge
|
systemctl stop thelounge
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
|
||||||
fetch_and_deploy_gh_release "thelounge" "thelounge/thelounge-deb" "binary"
|
fetch_and_deploy_gh_release "thelounge" "thelounge/thelounge-deb" "binary"
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
|
|||||||
@@ -1,68 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
|
||||||
# Author: glabutis
|
|
||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
|
||||||
# Source: https://github.com/bitfocus/companion
|
|
||||||
|
|
||||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
|
||||||
color
|
|
||||||
verb_ip6
|
|
||||||
catch_errors
|
|
||||||
setting_up_container
|
|
||||||
network_check
|
|
||||||
update_os
|
|
||||||
|
|
||||||
msg_info "Installing Dependencies"
|
|
||||||
$STD apt install -y libusb-1.0-0
|
|
||||||
msg_ok "Installed Dependencies"
|
|
||||||
|
|
||||||
msg_info "Fetching Latest Bitfocus Companion Release"
|
|
||||||
RELEASE_JSON=$(curl -fsSL "https://api.bitfocus.io/v1/product/companion/packages?limit=20")
|
|
||||||
PACKAGE_JSON=$(echo "$RELEASE_JSON" | jq -c '(if type == "array" then . else .packages end) | [.[] | select(.target=="linux-tgz" and (.uri | contains("linux-x64")))] | first')
|
|
||||||
RELEASE=$(echo "$PACKAGE_JSON" | jq -r '.version // empty')
|
|
||||||
ASSET_URL=$(echo "$PACKAGE_JSON" | jq -r '.uri // empty')
|
|
||||||
if [[ -z "$RELEASE" || -z "$ASSET_URL" ]]; then
|
|
||||||
msg_error "Could not resolve a matching Linux x64 Companion package from the Bitfocus API."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
msg_ok "Found Companion ${RELEASE}"
|
|
||||||
|
|
||||||
fetch_and_deploy_from_url "$ASSET_URL" "/opt/bitfocus-companion"
|
|
||||||
|
|
||||||
msg_info "Installing udev Rules"
|
|
||||||
if [[ -f /opt/bitfocus-companion/50-companion-headless.rules ]]; then
|
|
||||||
cp /opt/bitfocus-companion/50-companion-headless.rules /etc/udev/rules.d/
|
|
||||||
udevadm control --reload-rules
|
|
||||||
udevadm trigger
|
|
||||||
fi
|
|
||||||
msg_ok "Installed udev Rules"
|
|
||||||
|
|
||||||
mkdir -p /opt/bitfocus-companion-config
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/bitfocus-companion.service
|
|
||||||
[Unit]
|
|
||||||
Description=Bitfocus Companion
|
|
||||||
After=network.target
|
|
||||||
Wants=network-online.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
ExecStart=/opt/bitfocus-companion/companion_headless.sh --config-dir /opt/bitfocus-companion-config
|
|
||||||
WorkingDirectory=/opt/bitfocus-companion
|
|
||||||
Restart=on-failure
|
|
||||||
RestartSec=5
|
|
||||||
Environment=NODE_ENV=production
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl enable -q --now bitfocus-companion
|
|
||||||
msg_ok "Created Service"
|
|
||||||
|
|
||||||
echo "${RELEASE}" >~/.bitfocus-companion
|
|
||||||
|
|
||||||
motd_ssh
|
|
||||||
customize
|
|
||||||
cleanup_lxc
|
|
||||||
@@ -38,7 +38,7 @@ msg_info "Installing Python Dependencies with uv"
|
|||||||
cd /opt/dispatcharr
|
cd /opt/dispatcharr
|
||||||
$STD uv venv --clear
|
$STD uv venv --clear
|
||||||
$STD uv sync
|
$STD uv sync
|
||||||
$STD uv pip install uwsgi gevent celery redis daphne
|
$STD uv pip install gunicorn gevent celery redis daphne
|
||||||
msg_ok "Installed Python Dependencies"
|
msg_ok "Installed Python Dependencies"
|
||||||
|
|
||||||
msg_info "Configuring Dispatcharr"
|
msg_info "Configuring Dispatcharr"
|
||||||
@@ -118,7 +118,7 @@ server {
|
|||||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||||
}
|
}
|
||||||
|
|
||||||
# All other requests proxy to uWSGI
|
# All other requests proxy to Gunicorn
|
||||||
location / {
|
location / {
|
||||||
include proxy_params;
|
include proxy_params;
|
||||||
proxy_pass http://127.0.0.1:5656;
|
proxy_pass http://127.0.0.1:5656;
|
||||||
@@ -131,30 +131,20 @@ systemctl restart nginx
|
|||||||
msg_ok "Configured Nginx"
|
msg_ok "Configured Nginx"
|
||||||
|
|
||||||
msg_info "Creating Services"
|
msg_info "Creating Services"
|
||||||
cat <<EOF >/opt/dispatcharr/start-uwsgi.sh
|
cat <<EOF >/opt/dispatcharr/start-gunicorn.sh
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
cd /opt/dispatcharr
|
cd /opt/dispatcharr
|
||||||
set -a
|
set -a
|
||||||
source .env
|
source .env
|
||||||
set +a
|
set +a
|
||||||
exec .venv/bin/uwsgi \\
|
exec uv run gunicorn \\
|
||||||
--chdir=/opt/dispatcharr \\
|
|
||||||
--module=dispatcharr.wsgi:application \\
|
|
||||||
--master \\
|
|
||||||
--workers=4 \\
|
--workers=4 \\
|
||||||
--gevent=400 \\
|
--worker-class=gevent \\
|
||||||
--http=0.0.0.0:5656 \\
|
--timeout=300 \\
|
||||||
--http-keepalive=1 \\
|
--bind 0.0.0.0:5656 \\
|
||||||
--http-timeout=600 \\
|
dispatcharr.wsgi:application
|
||||||
--socket-timeout=600 \\
|
|
||||||
--buffer-size=65536 \\
|
|
||||||
--post-buffering=4096 \\
|
|
||||||
--lazy-apps \\
|
|
||||||
--thunder-lock \\
|
|
||||||
--die-on-term \\
|
|
||||||
--vacuum
|
|
||||||
EOF
|
EOF
|
||||||
chmod +x /opt/dispatcharr/start-uwsgi.sh
|
chmod +x /opt/dispatcharr/start-gunicorn.sh
|
||||||
|
|
||||||
cat <<EOF >/opt/dispatcharr/start-celery.sh
|
cat <<EOF >/opt/dispatcharr/start-celery.sh
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
@@ -194,7 +184,7 @@ After=network.target postgresql.service redis-server.service
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/opt/dispatcharr
|
WorkingDirectory=/opt/dispatcharr
|
||||||
ExecStart=/opt/dispatcharr/start-uwsgi.sh
|
ExecStart=/opt/dispatcharr/start-gunicorn.sh
|
||||||
Restart=on-failure
|
Restart=on-failure
|
||||||
RestartSec=10
|
RestartSec=10
|
||||||
User=root
|
User=root
|
||||||
|
|||||||
@@ -31,8 +31,8 @@ cd /opt/docmost
|
|||||||
# included in GitHub tarballs. The community NoopAuditService exists but
|
# included in GitHub tarballs. The community NoopAuditService exists but
|
||||||
# is only exported by CoreModule – child modules such as UserModule cannot
|
# is only exported by CoreModule – child modules such as UserModule cannot
|
||||||
# resolve it. Making CoreModule @Global() exposes the token app-wide.
|
# resolve it. Making CoreModule @Global() exposes the token app-wide.
|
||||||
if [[ ! -f /opt/docmost/apps/server/src/ee/ee.module.ts ]] &&
|
if [[ ! -f /opt/docmost/apps/server/src/ee/ee.module.ts ]] \
|
||||||
! grep -q '@Global()' /opt/docmost/apps/server/src/core/core.module.ts 2>/dev/null; then
|
&& ! grep -q '@Global()' /opt/docmost/apps/server/src/core/core.module.ts 2>/dev/null; then
|
||||||
sed -i '/^ Module,$/a\ Global,' /opt/docmost/apps/server/src/core/core.module.ts
|
sed -i '/^ Module,$/a\ Global,' /opt/docmost/apps/server/src/core/core.module.ts
|
||||||
sed -i '/^@Module({$/i @Global()' /opt/docmost/apps/server/src/core/core.module.ts
|
sed -i '/^@Module({$/i @Global()' /opt/docmost/apps/server/src/core/core.module.ts
|
||||||
fi
|
fi
|
||||||
@@ -45,7 +45,6 @@ sed -i -e "s|APP_SECRET=.*|APP_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z
|
|||||||
-e "s|DRAWIO_URL=.*|DRAWIO_URL=https://embed.diagrams.net|" \
|
-e "s|DRAWIO_URL=.*|DRAWIO_URL=https://embed.diagrams.net|" \
|
||||||
-e "s|DISABLE_TELEMETRY=.*|DISABLE_TELEMETRY=true|" \
|
-e "s|DISABLE_TELEMETRY=.*|DISABLE_TELEMETRY=true|" \
|
||||||
-e "s|APP_URL=.*|APP_URL=http://$LOCAL_IP:3000|" \
|
-e "s|APP_URL=.*|APP_URL=http://$LOCAL_IP:3000|" \
|
||||||
-e "s|^STORAGE_DRIVER=azure|#STORAGE_DRIVER=azure|" \
|
|
||||||
/opt/docmost/.env
|
/opt/docmost/.env
|
||||||
export NODE_OPTIONS="--max-old-space-size=2048"
|
export NODE_OPTIONS="--max-old-space-size=2048"
|
||||||
$STD pnpm install
|
$STD pnpm install
|
||||||
|
|||||||
@@ -20,11 +20,13 @@ $STD apt install -y \
|
|||||||
chromium \
|
chromium \
|
||||||
graphicsmagick \
|
graphicsmagick \
|
||||||
ghostscript \
|
ghostscript \
|
||||||
|
python3-pip \
|
||||||
ffmpeg
|
ffmpeg
|
||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "monolith" "Y2Z/monolith" "singlefile" "latest" "/usr/bin" "monolith-gnu-linux-x86_64"
|
fetch_and_deploy_gh_release "monolith" "Y2Z/monolith" "singlefile" "latest" "/usr/bin" "monolith-gnu-linux-x86_64"
|
||||||
fetch_and_deploy_gh_release "yt-dlp" "yt-dlp/yt-dlp-nightly-builds" "singlefile" "latest" "/usr/bin" "yt-dlp_linux"
|
fetch_and_deploy_gh_release "yt-dlp" "yt-dlp/yt-dlp-nightly-builds" "singlefile" "latest" "/usr/bin" "yt-dlp_linux"
|
||||||
|
fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-$(uname -m)-unknown-linux-gnu.zip"
|
||||||
setup_meilisearch
|
setup_meilisearch
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" "tarball"
|
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep" "tarball"
|
||||||
@@ -32,6 +34,10 @@ cd /opt/karakeep
|
|||||||
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
|
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
|
||||||
NODE_VERSION="24" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
|
NODE_VERSION="24" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
|
||||||
|
|
||||||
|
msg_info "Installing external JavaScript Extension for yt-dlp"
|
||||||
|
$STD pip install -U yt-dlp-ejs
|
||||||
|
msg_ok "Installed external JavaScript Extension for yt-dlp"
|
||||||
|
|
||||||
msg_info "Installing karakeep"
|
msg_info "Installing karakeep"
|
||||||
export PUPPETEER_SKIP_DOWNLOAD="true"
|
export PUPPETEER_SKIP_DOWNLOAD="true"
|
||||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
|
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
|
||||||
@@ -47,6 +53,11 @@ cd /opt/karakeep/apps/cli
|
|||||||
$STD pnpm install --frozen-lockfile
|
$STD pnpm install --frozen-lockfile
|
||||||
$STD pnpm build
|
$STD pnpm build
|
||||||
$STD pnpm store prune
|
$STD pnpm store prune
|
||||||
|
cat <<'EOF' >/usr/bin/karakeep
|
||||||
|
#!/usr/bin/env node
|
||||||
|
import('/opt/karakeep/apps/cli/dist/index.mjs')
|
||||||
|
EOF
|
||||||
|
chmod +x /usr/bin/karakeep
|
||||||
|
|
||||||
export DATA_DIR=/opt/karakeep_data
|
export DATA_DIR=/opt/karakeep_data
|
||||||
karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24)
|
karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24)
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ $STD apt install -y \
|
|||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
ARCH=$(uname -m)
|
ARCH=$(uname -m)
|
||||||
fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "v2.7.5" "/usr/local/bin" "deno-${ARCH}-unknown-linux-gnu.zip"
|
fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-${ARCH}-unknown-linux-gnu.zip"
|
||||||
fetch_and_deploy_gh_release "profilarr" "Dictionarry-Hub/profilarr" "tarball"
|
fetch_and_deploy_gh_release "profilarr" "Dictionarry-Hub/profilarr" "tarball"
|
||||||
PROFILARR_VERSION=$(cat ~/.profilarr)
|
PROFILARR_VERSION=$(cat ~/.profilarr)
|
||||||
|
|
||||||
|
|||||||
@@ -21,14 +21,12 @@ fetch_and_deploy_gh_release "snowshare" "TuroYT/snowshare" "tarball"
|
|||||||
msg_info "Installing SnowShare"
|
msg_info "Installing SnowShare"
|
||||||
cd /opt/snowshare
|
cd /opt/snowshare
|
||||||
$STD npm ci
|
$STD npm ci
|
||||||
mkdir -p /opt/snowshare_data
|
|
||||||
cat <<EOF >/opt/snowshare.env
|
cat <<EOF >/opt/snowshare.env
|
||||||
DATABASE_URL="postgresql://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME"
|
DATABASE_URL="postgresql://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME"
|
||||||
NEXTAUTH_URL="http://localhost:3000"
|
NEXTAUTH_URL="http://localhost:3000"
|
||||||
NEXTAUTH_SECRET="$(openssl rand -base64 32)"
|
NEXTAUTH_SECRET="$(openssl rand -base64 32)"
|
||||||
ALLOW_SIGNUP=true
|
ALLOW_SIGNUP=true
|
||||||
NODE_ENV=production
|
NODE_ENV=production
|
||||||
UPLOAD_DIR=/opt/snowshare_data
|
|
||||||
EOF
|
EOF
|
||||||
set -a
|
set -a
|
||||||
source /opt/snowshare.env
|
source /opt/snowshare.env
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ $STD apt install -y \
|
|||||||
msg_ok "Installed Dependencies"
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
UV_PYTHON="3.11" setup_uv
|
UV_PYTHON="3.11" setup_uv
|
||||||
NODE_VERSION="22" setup_nodejs
|
|
||||||
|
|
||||||
fetch_and_deploy_gh_release "soulsync" "Nezreka/SoulSync" "tarball"
|
fetch_and_deploy_gh_release "soulsync" "Nezreka/SoulSync" "tarball"
|
||||||
|
|
||||||
@@ -34,12 +33,6 @@ $STD uv pip install -r requirements.txt --python /opt/soulsync/.venv/bin/python
|
|||||||
mkdir -p /opt/soulsync/{config,data,logs}
|
mkdir -p /opt/soulsync/{config,data,logs}
|
||||||
msg_ok "Set up Application"
|
msg_ok "Set up Application"
|
||||||
|
|
||||||
msg_info "Building WebUI"
|
|
||||||
cd /opt/soulsync/webui
|
|
||||||
$STD npm ci
|
|
||||||
$STD npm run build
|
|
||||||
msg_ok "Built WebUI"
|
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat <<EOF >/etc/systemd/system/soulsync.service
|
cat <<EOF >/etc/systemd/system/soulsync.service
|
||||||
[Unit]
|
[Unit]
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ setting_up_container
|
|||||||
network_check
|
network_check
|
||||||
update_os
|
update_os
|
||||||
|
|
||||||
NODE_VERSION="22" setup_nodejs
|
|
||||||
fetch_and_deploy_gh_release "thelounge" "thelounge/thelounge-deb" "binary"
|
fetch_and_deploy_gh_release "thelounge" "thelounge/thelounge-deb" "binary"
|
||||||
systemctl enable -q --now thelounge
|
systemctl enable -q --now thelounge
|
||||||
|
|
||||||
|
|||||||
@@ -182,20 +182,11 @@ motd_ssh() {
|
|||||||
echo "export TERM='xterm-256color'" >>/root/.bashrc
|
echo "export TERM='xterm-256color'" >>/root/.bashrc
|
||||||
|
|
||||||
PROFILE_FILE="/etc/profile.d/00_lxc-details.sh"
|
PROFILE_FILE="/etc/profile.d/00_lxc-details.sh"
|
||||||
|
echo "echo -e \"\"" >"$PROFILE_FILE"
|
||||||
echo "[ -t 1 ] || return 0" >"$PROFILE_FILE"
|
|
||||||
echo "echo -e \"\"" >>"$PROFILE_FILE"
|
|
||||||
echo -e "echo -e \"${BOLD}${APPLICATION} LXC Container${CL}"\" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${BOLD}${APPLICATION} LXC Container${CL}"\" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\"" >>"$PROFILE_FILE"
|
||||||
echo "echo \"\"" >>"$PROFILE_FILE"
|
echo "echo \"\"" >>"$PROFILE_FILE"
|
||||||
cat <<EOF >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${OS}${YW} OS: ${GN}\$(grep ^NAME /etc/os-release | cut -d= -f2 | tr -d '\"') - Version: \$(grep ^VERSION_ID /etc/os-release | cut -d= -f2 | tr -d '\"')${CL}\"" >>"$PROFILE_FILE"
|
||||||
os_display="Unknown OS"
|
|
||||||
if [ -r /etc/os-release ]; then
|
|
||||||
. /etc/os-release
|
|
||||||
os_display="\${PRETTY_NAME:-\${NAME:-Unknown OS}}"
|
|
||||||
fi
|
|
||||||
echo -e "${TAB}${OS}${YW} OS: ${GN}\${os_display}${CL}"
|
|
||||||
EOF
|
|
||||||
echo -e "echo -e \"${TAB}${HOSTNAME}${YW} Hostname: ${GN}\$(hostname)${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${HOSTNAME}${YW} Hostname: ${GN}\$(hostname)${CL}\"" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${INFO}${YW} IP Address: ${GN}\$(ip -4 addr show eth0 | awk '/inet / {print \$2}' | cut -d/ -f1 | head -n 1)${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${INFO}${YW} IP Address: ${GN}\$(ip -4 addr show eth0 | awk '/inet / {print \$2}' | cut -d/ -f1 | head -n 1)${CL}\"" >>"$PROFILE_FILE"
|
||||||
|
|
||||||
|
|||||||
@@ -217,16 +217,22 @@ update_motd_ip() {
|
|||||||
# Only update if file exists and is from community-scripts
|
# Only update if file exists and is from community-scripts
|
||||||
if [ -f "$PROFILE_FILE" ] && grep -q "community-scripts" "$PROFILE_FILE" 2>/dev/null; then
|
if [ -f "$PROFILE_FILE" ] && grep -q "community-scripts" "$PROFILE_FILE" 2>/dev/null; then
|
||||||
# Get current values
|
# Get current values
|
||||||
|
local current_os="$(grep ^NAME /etc/os-release | cut -d= -f2 | tr -d '"') - Version: $(grep ^VERSION_ID /etc/os-release | cut -d= -f2 | tr -d '"')"
|
||||||
local current_hostname="$(hostname)"
|
local current_hostname="$(hostname)"
|
||||||
local current_ip="$(hostname -I | awk '{print $1}')"
|
local current_ip="$(hostname -I | awk '{print $1}')"
|
||||||
|
|
||||||
# Escape sed special chars in replacement strings (& \ |)
|
# Escape sed special chars in replacement strings (& \ |)
|
||||||
|
current_os="${current_os//\\/\\\\}"
|
||||||
|
current_os="${current_os//&/\\&}"
|
||||||
current_hostname="${current_hostname//\\/\\\\}"
|
current_hostname="${current_hostname//\\/\\\\}"
|
||||||
current_hostname="${current_hostname//&/\\&}"
|
current_hostname="${current_hostname//&/\\&}"
|
||||||
current_ip="${current_ip//\\/\\\\}"
|
current_ip="${current_ip//\\/\\\\}"
|
||||||
current_ip="${current_ip//&/\\&}"
|
current_ip="${current_ip//&/\\&}"
|
||||||
|
|
||||||
# Update only if values actually changed
|
# Update only if values actually changed
|
||||||
|
if ! grep -q "OS:.*$current_os" "$PROFILE_FILE" 2>/dev/null; then
|
||||||
|
sed -i "s|OS:.*|OS: \${GN}$current_os\${CL}\\\"|" "$PROFILE_FILE"
|
||||||
|
fi
|
||||||
if ! grep -q "Hostname:.*$current_hostname" "$PROFILE_FILE" 2>/dev/null; then
|
if ! grep -q "Hostname:.*$current_hostname" "$PROFILE_FILE" 2>/dev/null; then
|
||||||
sed -i "s|Hostname:.*|Hostname: \${GN}$current_hostname\${CL}\\\"|" "$PROFILE_FILE"
|
sed -i "s|Hostname:.*|Hostname: \${GN}$current_hostname\${CL}\\\"|" "$PROFILE_FILE"
|
||||||
fi
|
fi
|
||||||
@@ -3643,7 +3649,7 @@ start() {
|
|||||||
run_addon_updates
|
run_addon_updates
|
||||||
update_motd_ip
|
update_motd_ip
|
||||||
cleanup_lxc
|
cleanup_lxc
|
||||||
elif ! command -v whiptail &>/dev/null || ! [ -t 0 ] || [[ "$TERM" == "dumb" ]]; then
|
elif ! command -v whiptail &>/dev/null || ! [ -t 0 ]; then
|
||||||
msg_info "No interactive terminal detected – defaulting to silent update mode"
|
msg_info "No interactive terminal detected – defaulting to silent update mode"
|
||||||
VERBOSE="no"
|
VERBOSE="no"
|
||||||
set_std_mode
|
set_std_mode
|
||||||
|
|||||||
@@ -140,12 +140,10 @@ ensure_profile_loaded() {
|
|||||||
[[ -n "${_PROFILE_LOADED:-}" ]] && return
|
[[ -n "${_PROFILE_LOADED:-}" ]] && return
|
||||||
command -v pveversion &>/dev/null && return
|
command -v pveversion &>/dev/null && return
|
||||||
|
|
||||||
# Source all profile.d scripts to ensure PATH is complete.
|
# Source all profile.d scripts to ensure PATH is complete
|
||||||
# Redirect stdout to suppress banner/MOTD output (e.g. 00_lxc-details.sh)
|
|
||||||
# while still allowing env/PATH exports to take effect.
|
|
||||||
if [[ -d /etc/profile.d ]]; then
|
if [[ -d /etc/profile.d ]]; then
|
||||||
for script in /etc/profile.d/*.sh; do
|
for script in /etc/profile.d/*.sh; do
|
||||||
[[ -r "$script" ]] && source "$script" >/dev/null || true
|
[[ -r "$script" ]] && source "$script" || true
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -303,7 +301,7 @@ root_check() {
|
|||||||
# pve_check()
|
# pve_check()
|
||||||
#
|
#
|
||||||
# - Validates Proxmox VE version compatibility
|
# - Validates Proxmox VE version compatibility
|
||||||
# - Supported: PVE 8.0-8.9 and PVE 9.0-9.2
|
# - Supported: PVE 8.0-8.9 and PVE 9.0-9.1
|
||||||
# - Exits with error message if unsupported version detected
|
# - Exits with error message if unsupported version detected
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
pve_check() {
|
pve_check() {
|
||||||
@@ -321,12 +319,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0–9.2
|
# Check for Proxmox VE 9.x: allow 9.0–9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not yet supported."
|
msg_error "This version of Proxmox VE is not yet supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -334,7 +332,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.9 or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.9 or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -455,20 +455,11 @@ motd_ssh() {
|
|||||||
grep -qxF "export TERM='xterm-256color'" /root/.bashrc || echo "export TERM='xterm-256color'" >>/root/.bashrc
|
grep -qxF "export TERM='xterm-256color'" /root/.bashrc || echo "export TERM='xterm-256color'" >>/root/.bashrc
|
||||||
|
|
||||||
PROFILE_FILE="/etc/profile.d/00_lxc-details.sh"
|
PROFILE_FILE="/etc/profile.d/00_lxc-details.sh"
|
||||||
|
echo "echo -e \"\"" >"$PROFILE_FILE"
|
||||||
echo "[ -t 1 ] || return 0" >"$PROFILE_FILE"
|
|
||||||
echo "echo -e \"\"" >>"$PROFILE_FILE"
|
|
||||||
echo -e "echo -e \"${BOLD}${APPLICATION} LXC Container${CL}"\" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${BOLD}${APPLICATION} LXC Container${CL}"\" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${GATEWAY}${YW} Provided by: ${GN}community-scripts ORG ${YW}| GitHub: ${GN}https://github.com/community-scripts/ProxmoxVE${CL}\"" >>"$PROFILE_FILE"
|
||||||
echo "echo \"\"" >>"$PROFILE_FILE"
|
echo "echo \"\"" >>"$PROFILE_FILE"
|
||||||
cat <<EOF >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${OS}${YW} OS: ${GN}\$(grep ^NAME /etc/os-release | cut -d= -f2 | tr -d '\"') - Version: \$(grep ^VERSION_ID /etc/os-release | cut -d= -f2 | tr -d '\"')${CL}\"" >>"$PROFILE_FILE"
|
||||||
os_display="Unknown OS"
|
|
||||||
if [ -r /etc/os-release ]; then
|
|
||||||
. /etc/os-release
|
|
||||||
os_display="\${PRETTY_NAME:-\${NAME:-Unknown OS}}"
|
|
||||||
fi
|
|
||||||
echo -e "${TAB}${OS}${YW} OS: ${GN}\${os_display}${CL}"
|
|
||||||
EOF
|
|
||||||
echo -e "echo -e \"${TAB}${HOSTNAME}${YW} Hostname: ${GN}\$(hostname)${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${HOSTNAME}${YW} Hostname: ${GN}\$(hostname)${CL}\"" >>"$PROFILE_FILE"
|
||||||
echo -e "echo -e \"${TAB}${INFO}${YW} IP Address: ${GN}\$(hostname -I | awk '{print \$1}')${CL}\"" >>"$PROFILE_FILE"
|
echo -e "echo -e \"${TAB}${INFO}${YW} IP Address: ${GN}\$(hostname -I | awk '{print \$1}')${CL}\"" >>"$PROFILE_FILE"
|
||||||
|
|
||||||
|
|||||||
@@ -543,9 +543,9 @@ check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pve_check() {
|
pve_check() {
|
||||||
if ! pveversion | grep -Eq "pve-manager/(8\.[1-4]|9\.[0-2])(\.[0-9]+)*"; then
|
if ! pveversion | grep -Eq "pve-manager/(8\.[1-4]|9\.[0-1])(\.[0-9]+)*"; then
|
||||||
msg_error "This version of Proxmox Virtual Environment is not supported"
|
msg_error "This version of Proxmox Virtual Environment is not supported"
|
||||||
echo -e "Requires Proxmox Virtual Environment Version 8.1 - 8.4 or 9.0 - 9.2."
|
echo -e "Requires Proxmox Virtual Environment Version 8.1 - 8.4 or 9.0 - 9.1."
|
||||||
echo -e "Exiting..."
|
echo -e "Exiting..."
|
||||||
sleep 2
|
sleep 2
|
||||||
exit 105
|
exit 105
|
||||||
|
|||||||
@@ -92,14 +92,14 @@ main() {
|
|||||||
fi
|
fi
|
||||||
start_routines_8
|
start_routines_8
|
||||||
elif [[ "$PVE_MAJOR" == "9" ]]; then
|
elif [[ "$PVE_MAJOR" == "9" ]]; then
|
||||||
if ((PVE_MINOR < 0 || PVE_MINOR > 2)); then
|
if ((PVE_MINOR < 0 || PVE_MINOR > 1)); then
|
||||||
msg_error "Only Proxmox 9.0-9.2.x is currently supported"
|
msg_error "Only Proxmox 9.0-9.1.x is currently supported"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
start_routines_9 "$PVE_MINOR"
|
start_routines_9
|
||||||
else
|
else
|
||||||
msg_error "Unsupported Proxmox VE major version: $PVE_MAJOR"
|
msg_error "Unsupported Proxmox VE major version: $PVE_MAJOR"
|
||||||
echo -e "Supported: 8.0–8.9.x and 9.0–9.2.x"
|
echo -e "Supported: 8.0–8.9.x and 9.0–9.1.x"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -188,7 +188,6 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
start_routines_9() {
|
start_routines_9() {
|
||||||
local PVE_MINOR="${1:-0}"
|
|
||||||
header_info
|
header_info
|
||||||
|
|
||||||
# check if deb822 Sources (*.sources) exist
|
# check if deb822 Sources (*.sources) exist
|
||||||
@@ -476,21 +475,15 @@ EOF
|
|||||||
"no" " " 3>&2 2>&1 1>&3)
|
"no" " " 3>&2 2>&1 1>&3)
|
||||||
case $CHOICE in
|
case $CHOICE in
|
||||||
yes)
|
yes)
|
||||||
local CEPH_RELEASE
|
|
||||||
if ((PVE_MINOR >= 2)); then
|
|
||||||
CEPH_RELEASE="ceph-tentacle"
|
|
||||||
else
|
|
||||||
CEPH_RELEASE="ceph-squid"
|
|
||||||
fi
|
|
||||||
msg_info "Adding 'ceph package repositories' (deb822)"
|
msg_info "Adding 'ceph package repositories' (deb822)"
|
||||||
cat >/etc/apt/sources.list.d/ceph.sources <<EOF
|
cat >/etc/apt/sources.list.d/ceph.sources <<EOF
|
||||||
Types: deb
|
Types: deb
|
||||||
URIs: http://download.proxmox.com/debian/${CEPH_RELEASE}
|
URIs: http://download.proxmox.com/debian/ceph-squid
|
||||||
Suites: trixie
|
Suites: trixie
|
||||||
Components: no-subscription
|
Components: no-subscription
|
||||||
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
|
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
|
||||||
EOF
|
EOF
|
||||||
msg_ok "Added 'ceph package repositories' (${CEPH_RELEASE})"
|
msg_ok "Added 'ceph package repositories'"
|
||||||
;;
|
;;
|
||||||
no)
|
no)
|
||||||
msg_error "Selected no to Adding 'ceph package repositories'"
|
msg_error "Selected no to Adding 'ceph package repositories'"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
@@ -147,7 +147,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -163,12 +163,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -176,7 +176,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
@@ -147,7 +147,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -163,12 +163,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -176,7 +176,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2025 community-scripts ORG
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
@@ -147,7 +147,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -163,12 +163,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -176,7 +176,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
@@ -152,7 +152,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -168,12 +168,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -181,7 +181,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
@@ -148,7 +148,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -164,12 +164,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -177,7 +177,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
@@ -147,7 +147,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -163,12 +163,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -176,7 +176,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
@@ -215,7 +215,7 @@ function msg_error() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -231,12 +231,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -244,7 +244,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: michelroegl-brunner
|
# Author: michelroegl-brunner
|
||||||
@@ -207,7 +207,7 @@ function msg_error() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -223,12 +223,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -236,7 +236,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
@@ -148,7 +148,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -164,12 +164,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -177,7 +177,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
@@ -156,7 +156,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -172,12 +172,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -185,7 +185,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: juronja
|
# Author: juronja
|
||||||
@@ -200,16 +200,16 @@ function pve_check() {
|
|||||||
|
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not yet supported."
|
msg_error "This version of Proxmox VE is not yet supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
@@ -144,7 +144,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -160,12 +160,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -173,7 +173,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 tteck
|
# Copyright (c) 2021-2026 tteck
|
||||||
# Author: tteck (tteckster)
|
# Author: tteck (tteckster)
|
||||||
@@ -147,7 +147,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -163,12 +163,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -176,7 +176,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
@@ -146,7 +146,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -162,12 +162,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -175,7 +175,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Copyright (c) 2021-2026 community-scripts ORG
|
# Copyright (c) 2021-2026 community-scripts ORG
|
||||||
# Author: MickLesk (CanbiZ)
|
# Author: MickLesk (CanbiZ)
|
||||||
@@ -146,7 +146,7 @@ function check_root() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
# This function checks the version of Proxmox Virtual Environment (PVE) and exits if the version is not supported.
|
||||||
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.2
|
# Supported: Proxmox VE 8.0.x – 8.9.x, 9.0 and 9.1
|
||||||
pve_check() {
|
pve_check() {
|
||||||
local PVE_VER
|
local PVE_VER
|
||||||
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
|
||||||
@@ -162,12 +162,12 @@ pve_check() {
|
|||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check for Proxmox VE 9.x: allow 9.0 and 9.2
|
# Check for Proxmox VE 9.x: allow 9.0 and 9.1
|
||||||
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
|
||||||
local MINOR="${BASH_REMATCH[1]}"
|
local MINOR="${BASH_REMATCH[1]}"
|
||||||
if ((MINOR < 0 || MINOR > 2)); then
|
if ((MINOR < 0 || MINOR > 1)); then
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported: Proxmox VE version 9.0 – 9.2"
|
msg_error "Supported: Proxmox VE version 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
@@ -175,7 +175,7 @@ pve_check() {
|
|||||||
|
|
||||||
# All other unsupported versions
|
# All other unsupported versions
|
||||||
msg_error "This version of Proxmox VE is not supported."
|
msg_error "This version of Proxmox VE is not supported."
|
||||||
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.2"
|
msg_error "Supported versions: Proxmox VE 8.0 – 8.x or 9.0 – 9.1"
|
||||||
exit 105
|
exit 105
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user