Compare commits

..

6 Commits

Author SHA1 Message Date
MickLesk
87c26b56bd fix(reactive-resume): update for v5.1.4 compatibility
- Replace obsolete PRINTER_ENDPOINT with ENCRYPTION_SECRET in .env
  (PDF generation moved client-side in v5.1.0; AI providers require
  ENCRYPTION_SECRET since v5.1.4)
- Add commented REDIS_URL for the new AI Agent workspace (optional)
- Inject ENCRYPTION_SECRET into existing installs on update if missing
2026-05-19 10:21:22 +02:00
MickLesk
81737f733f fix(reactive-resume): use pnpm deploy instead of cp -rL for runtime externals
cp -rL follows pnpm's circular symlink chains (sharp, @aws-sdk both have
pkg/node_modules/pkg loops in the virtual store) causing infinite path
recursion and 'File name too long' errors.

Use pnpm deploy --legacy which is exactly what the upstream Dockerfile does:
it creates a flat, real-file node_modules with no symlinks. cp -r (no -L)
then copies it cleanly into apps/web/node_modules/.
2026-05-19 10:08:26 +02:00
MickLesk
6181e5aad4 fix(reactive-resume): drop @aws-sdk/client-s3 from cp -rL step
@aws-sdk/client-s3 has a pathologically deep pnpm virtual store symlink
tree; cp -rL follows the chain into thousands of nested client-s3 dirs
causing 'File name too long' errors. S3 is an optional storage backend
so skip it. bcrypt, sharp, linkedom and ioredis are unaffected.
2026-05-19 10:04:17 +02:00
MickLesk
0938891e77 fix(reactive-resume): copy runtime externals with cp -rL instead of symlinks
pnpm symlink chains (our link -> packages/runtime-externals/node_modules/
-> pnpm virtual store) are not reliably followed by Node.js ESM resolution.
The upstream Dockerfile uses pnpm deploy which produces real files.
Replicate that by using cp -rL to dereference all symlinks and copy the
actual package files into apps/web/node_modules/.
2026-05-19 09:58:36 +02:00
MickLesk
f52b055350 fix(reactive-resume): use shamefully-hoist to expose pnpm externals
Replace the broken npm-install workaround with a simpler approach:
write shamefully-hoist=true to .npmrc before pnpm install. This causes
pnpm to hoist all packages to root node_modules/, including bcrypt, sharp,
linkedom etc. (deps of @reactive-resume/runtime-externals), making them
resolvable by the Nitro server at runtime.

The upstream repo has no .npmrc, so git reset --hard leaves this file
untouched on updates. The file is written before each pnpm install in
both install and update scripts to ensure it is always in place.
2026-05-19 09:46:37 +02:00
MickLesk
5a322a4593 fix(reactive-resume): install Nitro runtime externals after build
bcrypt, sharp, and linkedom are marked as Rolldown externals in
apps/web/vite.config.ts and belong to the @reactive-resume/runtime-externals
workspace package, but apps/web does not declare that package as a direct
dependency. With pnpm strict node_modules, this means the packages are never
symlinked into apps/web/node_modules/, causing ERR_MODULE_NOT_FOUND at
runtime when the Nitro server tries to import them.

Fix: after pnpm run build, use npm to install the three required packages
directly into apps/web/node_modules/ without modifying package.json.

Applies to both fresh install and update scripts.
2026-05-19 09:42:45 +02:00
43 changed files with 232 additions and 353 deletions

View File

@@ -464,40 +464,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
</details>
## 2026-05-22
### 💾 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))
## 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
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Update mylar3 to point to new Repo [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14606](https://github.com/community-scripts/ProxmoxVE/pull/14606))
- Ollama: Fix for latest version [@tremor021](https://github.com/tremor021) ([#14596](https://github.com/community-scripts/ProxmoxVE/pull/14596))
- #### ✨ New Features
- Profilarr v2: Update and Refactor whole Script [@MickLesk](https://github.com/MickLesk) ([#14584](https://github.com/community-scripts/ProxmoxVE/pull/14584))
## 2026-05-19
### 🆕 New Scripts
@@ -510,16 +476,11 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- #### 🐞 Bug Fixes
- ESPConnect: Fix paths to SSL certificates [@tremor021](https://github.com/tremor021) ([#14591](https://github.com/community-scripts/ProxmoxVE/pull/14591))
- ReactiveResume: set correct WorkingDirectory for systemd service [@MickLesk](https://github.com/MickLesk) ([#14579](https://github.com/community-scripts/ProxmoxVE/pull/14579))
- Sparkyfitness: add missing nginx template variable substitutions [@MickLesk](https://github.com/MickLesk) ([#14578](https://github.com/community-scripts/ProxmoxVE/pull/14578))
- Wanderer: include dev dependencies during build [@MickLesk](https://github.com/MickLesk) ([#14577](https://github.com/community-scripts/ProxmoxVE/pull/14577))
- Whisparr: switch from nightly to stable GitHub release [@MickLesk](https://github.com/MickLesk) ([#14581](https://github.com/community-scripts/ProxmoxVE/pull/14581))
- #### 🔧 Refactor
- Refactor: SonarQube [@tremor021](https://github.com/tremor021) ([#14594](https://github.com/community-scripts/ProxmoxVE/pull/14594))
## 2026-05-18
### 🆕 New Scripts

View File

@@ -30,7 +30,7 @@ The collection covers hundreds of services across categories like home automatio
| 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) |
| **Access** | Root shell access on the Proxmox host |
| **Network** | Internet connection required during installation |

View File

@@ -6,7 +6,6 @@ This project currently supports the following versions of Proxmox VE (PVE):
| Version | Supported |
| ------- | ------------------ |
| 9.2.x | :white_check_mark: |
| 9.1.x | :white_check_mark: |
| 9.0.x | :white_check_mark: |
| 8.4.x | :white_check_mark: |

View File

@@ -22,12 +22,12 @@ catch_errors
function update_script() {
header_info
if [[ ! -d /opt/mylar3 ]]; then
msg_error "No Mylar3 Installation Found!"
msg_error "No ${APP} Installation Found!"
exit
fi
if check_for_gh_release "mylar3" "MylarComics/mylar3"; then
fetch_and_deploy_gh_release "mylar3" "MylarComics/mylar3" "tarball"
if check_for_gh_release "mylar3" "mylar3/mylar3"; then
fetch_and_deploy_gh_release "mylar3" "mylar3/mylar3" "tarball"
systemctl restart mylar3
msg_ok "Updated successfully!"
fi

View File

@@ -27,10 +27,7 @@ function update_script() {
msg_error "No Ollama Installation Found!"
exit
fi
[[ -f /root/.ollama ]] && rm -f /root/.ollama
if check_for_gh_release "ollama-com" "ollama/ollama"; then
if check_for_gh_release "ollama" "ollama/ollama"; then
ensure_dependencies zstd
msg_info "Stopping Services"
systemctl stop ollama
@@ -39,7 +36,7 @@ function update_script() {
OLLAMA_INSTALL_DIR="/usr/local/lib/ollama"
rm -rf "$OLLAMA_INSTALL_DIR" /usr/local/bin/ollama
mkdir -p "$OLLAMA_INSTALL_DIR"
if ! fetch_and_deploy_gh_release "ollama-com" "ollama/ollama" "prebuild" "latest" "$OLLAMA_INSTALL_DIR" "ollama-linux-amd64.tar.zst"; then
if ! fetch_and_deploy_gh_release "ollama" "ollama/ollama" "prebuild" "latest" "$OLLAMA_INSTALL_DIR" "ollama-linux-amd64.tar.zst"; then
msg_error "Download or deployment failed check network connectivity and GitHub API availability"
exit 250
fi

View File

@@ -26,7 +26,6 @@ function update_script() {
check_container_resources
ensure_dependencies zstd build-essential libmariadb-dev
[[ -f /root/.ollama ]] && rm -f /root/.ollama
if [[ -d /opt/open-webui ]]; then
msg_warn "Legacy installation detected — migrating to uv based install..."
@@ -92,13 +91,13 @@ EOF
if [ -x "/usr/bin/ollama" ]; then
msg_info "Checking for Ollama Update"
if check_for_gh_release "ollama-com" "ollama/ollama"; then
if check_for_gh_release "ollama" "ollama/ollama"; then
msg_info "Stopping Ollama Service"
systemctl stop ollama
msg_ok "Stopped Service"
rm -rf /usr/lib/ollama /usr/bin/ollama
if ! fetch_and_deploy_gh_release "ollama-com" "ollama/ollama" "prebuild" "latest" "/usr/lib/ollama" "ollama-linux-amd64.tar.zst"; then
if ! fetch_and_deploy_gh_release "ollama" "ollama/ollama" "prebuild" "latest" "/usr/lib/ollama" "ollama-linux-amd64.tar.zst"; then
msg_error "Ollama download or deployment failed check network connectivity and GitHub API availability"
else
ln -sf /usr/lib/ollama/bin/ollama /usr/bin/ollama

View File

@@ -9,7 +9,7 @@ APP="Profilarr"
var_tags="${var_tags:-arr;radarr;sonarr;config}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-2048}"
var_disk="${var_disk:-7}"
var_disk="${var_disk:-8}"
var_os="${var_os:-debian}"
var_version="${var_version:-13}"
var_unprivileged="${var_unprivileged:-1}"
@@ -29,71 +29,43 @@ function update_script() {
exit
fi
if [[ -d /opt/profilarr/backend ]]; then
msg_error "Profilarr v1 detected!"
echo -e "\nProfilarr v2 is a complete rewrite and is NOT compatible with v1."
echo -e "There is no migration path. Please create a new LXC container for v2.\n"
exit
fi
if check_for_gh_release "deno" "denoland/deno"; then
ARCH=$(uname -m)
fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-${ARCH}-unknown-linux-gnu.zip"
fi
if check_for_gh_release "profilarr" "Dictionarry-Hub/profilarr"; then
msg_info "Stopping Service"
systemctl stop profilarr
msg_ok "Stopped Service"
msg_info "Backing up Data"
if [[ -d /config ]]; then
cp -r /config /opt/profilarr_config_backup
fi
msg_ok "Backed up Data"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "profilarr" "Dictionarry-Hub/profilarr" "tarball"
PROFILARR_VERSION=$(cat ~/.profilarr)
msg_info "Building Profilarr v${PROFILARR_VERSION} (Patience)"
cd /opt/profilarr
cat >src/lib/shared/build.ts <<EOF
// Generated at update time. Do not hand-edit.
export type Channel = 'stable' | 'develop' | 'dev';
msg_info "Installing Python Dependencies"
cd /opt/profilarr/backend
$STD uv venv --clear /opt/profilarr/backend/.venv
sed 's/==/>=/g' requirements.txt >requirements-relaxed.txt
$STD uv pip install --python /opt/profilarr/backend/.venv/bin/python -r requirements-relaxed.txt
rm -f requirements-relaxed.txt
msg_ok "Installed Python Dependencies"
export interface BuildInfo {
readonly version: string;
readonly channel: Channel;
readonly commit: string | null;
readonly builtAt: string | null;
}
msg_info "Building Frontend"
if [[ -d /opt/profilarr/frontend ]]; then
cd /opt/profilarr/frontend
$STD npm install
$STD npm run build
cp -r dist /opt/profilarr/backend/app/static
fi
msg_ok "Built Frontend"
export const build: BuildInfo = {
version: '${PROFILARR_VERSION}',
channel: 'stable',
commit: null,
builtAt: '$(date -u +"%Y-%m-%dT%H:%M:%SZ")'
};
EOF
$STD deno install --node-modules-dir
export APP_BASE_PATH=/opt/profilarr/dist/build
export VITE_CHANNEL=stable
$STD deno run -A npm:vite build
DENO_TARGET="${ARCH}-unknown-linux-gnu"
$STD deno compile \
--no-check \
--allow-net \
--allow-read \
--allow-write \
--allow-env \
--allow-ffi \
--allow-run \
--allow-sys \
--target "$DENO_TARGET" \
--output dist/build/profilarr \
dist/build/mod.ts
msg_ok "Built Profilarr"
msg_info "Updating Profilarr"
cp dist/build/profilarr /opt/profilarr/app/profilarr
cp dist/build/server.js /opt/profilarr/app/server.js
cp -r dist/build/static /opt/profilarr/app/static
chmod +x /opt/profilarr/app/profilarr
msg_ok "Updated Profilarr"
msg_info "Restoring Data"
if [[ -d /opt/profilarr_config_backup ]]; then
mkdir -p /config
cp -r /opt/profilarr_config_backup/. /config/
rm -rf /opt/profilarr_config_backup
fi
msg_ok "Restored Data"
msg_info "Starting Service"
systemctl start profilarr

View File

@@ -48,7 +48,17 @@ function update_script() {
export NODE_ENV="production"
$STD pnpm install --frozen-lockfile
$STD pnpm run build
msg_info "Deploying Nitro Runtime Externals"
$STD pnpm --filter=@reactive-resume/runtime-externals deploy --prod --legacy /tmp/rr-runtime
cp -r /tmp/rr-runtime/node_modules/. /opt/reactive-resume/apps/web/node_modules/
rm -rf /tmp/rr-runtime
msg_ok "Deployed Nitro Runtime Externals"
mv /opt/reactive-resume.env.bak /opt/reactive-resume/.env
# Inject ENCRYPTION_SECRET if missing (required for AI providers since v5.1.4)
if ! grep -q '^ENCRYPTION_SECRET=' /opt/reactive-resume/.env; then
ENCRYPTION_SECRET=$(openssl rand -hex 32)
echo "ENCRYPTION_SECRET=${ENCRYPTION_SECRET}" >> /opt/reactive-resume/.env
fi
msg_ok "Updated Reactive Resume"
msg_info "Updating Service"

View File

@@ -35,20 +35,16 @@ function update_script() {
systemctl stop snowshare
msg_ok "Stopped Service"
if ! grep -q '^UPLOAD_DIR=' /opt/snowshare.env 2>/dev/null; then
msg_info "Migrating uploads to persistent directory"
mkdir -p /opt/snowshare_data
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
msg_info "Backing up uploads"
[ -d /opt/snowshare/uploads ] && cp -a /opt/snowshare/uploads /opt/.snowshare_uploads_backup
msg_ok "Uploads backed up"
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"
cd /opt/snowshare
$STD npm ci

View File

@@ -39,11 +39,13 @@ function update_script() {
msg_ok "Created Backup"
msg_info "Updating SonarQube"
RELEASE=$(curl -fsSL "https://binaries.sonarsource.com/s3api?prefix=Distribution/sonarqube/sonarqube-&delimiter=/" |
grep -oP 'sonarqube-[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\.zip' |
sort -V | tail -n1)
fetch_and_deploy_from_url "https://binaries.sonarsource.com/Distribution/sonarqube/${RELEASE}" /opt/sonarqube
echo "${RELEASE}" >~/.sonarqube
temp_file=$(mktemp)
RELEASE=$(get_latest_github_release "SonarSource/sonarqube")
curl -fsSL "https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-${RELEASE}.zip" -o $temp_file
unzip -q "$temp_file" -d /opt
rm -f "$temp_file"
mv /opt/sonarqube-${RELEASE} /opt/sonarqube
echo "${RELEASE}" > ~/.sonarqube
msg_ok "Updated SonarQube"
msg_info "Restoring Backup"

View File

@@ -29,8 +29,6 @@ function update_script() {
exit
fi
NODE_VERSION="22" setup_nodejs
if check_for_gh_release "soulsync" "Nezreka/SoulSync"; then
msg_info "Stopping Service"
systemctl stop soulsync
@@ -49,12 +47,6 @@ function update_script() {
$STD uv pip install -r requirements.txt
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-data.bak /opt/soulsync/data

View File

@@ -47,9 +47,10 @@ function update_script() {
RELEASE=$(curl -fsSL https://technitium.com/dns/ | grep -oP 'Version \K[\d.]+')
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
echo "${RELEASE}" >~/.technitium
systemctl restart technitium
systemctl start technitium
msg_ok "Updated successfully!"
else
msg_ok "No update required. Technitium DNS is already at v${RELEASE}."

View File

@@ -34,8 +34,8 @@ server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/ssl/espconnect/espconnect.crt;
ssl_certificate_key /etc/ssl/espconnect/espconnect.key;
ssl_certificate /etc/ssl/certs/espconnect-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/espconnect-selfsigned.key;
ssl_protocols TLSv1.2 TLSv1.3;
root /opt/espconnect;

View File

@@ -13,14 +13,10 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y build-essential python3-dev
msg_ok "Installed Dependencies"
NODE_VERSION="20" setup_nodejs
NODE_VERSION="20" NODE_MODULE="pnpm" setup_nodejs
msg_info "Installing FlowiseAI (Patience)"
$STD npm install -g flowise \
$STD pnpm add -g flowise \
@opentelemetry/exporter-trace-otlp-grpc \
@opentelemetry/exporter-trace-otlp-proto \
@opentelemetry/sdk-trace-node \

View File

@@ -24,16 +24,16 @@ $STD apt update
$STD apt install -y unrar
msg_ok "Installed Dependencies"
PYTHON_VERSION="3.11" setup_uv
fetch_and_deploy_gh_release "mylar3" "MylarComics/mylar3" "tarball"
PYTHON_VERSION="3.12" setup_uv
fetch_and_deploy_gh_release "mylar3" "mylar3/mylar3" "tarball"
msg_info "Installing Mylar3"
msg_info "Installing ${APPLICATION}"
mkdir -p /opt/mylar3-data
$STD uv venv --clear /opt/mylar3/.venv
$STD /opt/mylar3/.venv/bin/python -m ensurepip --upgrade
$STD /opt/mylar3/.venv/bin/python -m pip install --upgrade pip
$STD /opt/mylar3/.venv/bin/python -m pip install --no-cache-dir -r /opt/mylar3/requirements.txt
msg_ok "Installed Mylar3"
msg_ok "Installed ${APPLICATION}"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/mylar3.service

View File

@@ -65,7 +65,7 @@ msg_info "Installing Ollama (Patience)"
OLLAMA_INSTALL_DIR="/usr/local/lib/ollama"
BINDIR="/usr/local/bin"
mkdir -p "$OLLAMA_INSTALL_DIR"
if ! fetch_and_deploy_gh_release "ollama-com" "ollama/ollama" "prebuild" "latest" "$OLLAMA_INSTALL_DIR" "ollama-linux-amd64.tar.zst"; then
if ! fetch_and_deploy_gh_release "ollama" "ollama/ollama" "prebuild" "latest" "$OLLAMA_INSTALL_DIR" "ollama-linux-amd64.tar.zst"; then
msg_error "Failed to download or deploy Ollama check network connectivity and GitHub API availability"
exit 250
fi

View File

@@ -73,7 +73,7 @@ EOF
msg_ok "Installed Intel® oneAPI Base Toolkit"
msg_info "Installing Ollama"
if ! fetch_and_deploy_gh_release "ollama-com" "ollama/ollama" "prebuild" "latest" "/usr/lib/ollama" "ollama-linux-amd64.tar.zst"; then
if ! fetch_and_deploy_gh_release "ollama" "ollama/ollama" "prebuild" "latest" "/usr/lib/ollama" "ollama-linux-amd64.tar.zst"; then
msg_error "Failed to download or deploy Ollama check network connectivity and GitHub API availability"
else
ln -sf /usr/lib/ollama/bin/ollama /usr/bin/ollama

View File

@@ -15,83 +15,52 @@ update_os
msg_info "Installing Dependencies"
$STD apt install -y \
git \
libsqlite3-0
build-essential \
python3-dev \
libffi-dev \
libssl-dev \
git
msg_ok "Installed Dependencies"
ARCH=$(uname -m)
fetch_and_deploy_gh_release "deno" "denoland/deno" "prebuild" "latest" "/usr/local/bin" "deno-${ARCH}-unknown-linux-gnu.zip"
PYTHON_VERSION="3.12" setup_uv
NODE_VERSION="22" setup_nodejs
msg_info "Creating directories"
mkdir -p /opt/profilarr \
/config
msg_ok "Created directories"
fetch_and_deploy_gh_release "profilarr" "Dictionarry-Hub/profilarr" "tarball"
PROFILARR_VERSION=$(cat ~/.profilarr)
msg_info "Building Profilarr v${PROFILARR_VERSION} (Patience)"
cd /opt/profilarr
cat >src/lib/shared/build.ts <<EOF
// Generated at install time. Do not hand-edit.
export type Channel = 'stable' | 'develop' | 'dev';
msg_info "Installing Python Dependencies"
cd /opt/profilarr/backend
$STD uv venv /opt/profilarr/backend/.venv
sed 's/==/>=/g' requirements.txt >requirements-relaxed.txt
$STD uv pip install --python /opt/profilarr/backend/.venv/bin/python -r requirements-relaxed.txt
rm -f requirements-relaxed.txt
msg_ok "Installed Python Dependencies"
export interface BuildInfo {
readonly version: string;
readonly channel: Channel;
readonly commit: string | null;
readonly builtAt: string | null;
}
export const build: BuildInfo = {
version: '${PROFILARR_VERSION}',
channel: 'stable',
commit: null,
builtAt: '$(date -u +"%Y-%m-%dT%H:%M:%SZ")'
};
EOF
$STD deno install --node-modules-dir
export APP_BASE_PATH=/opt/profilarr/dist/build
export VITE_CHANNEL=stable
$STD deno run -A npm:vite build
DENO_TARGET="${ARCH}-unknown-linux-gnu"
$STD deno compile \
--no-check \
--allow-net \
--allow-read \
--allow-write \
--allow-env \
--allow-ffi \
--allow-run \
--allow-sys \
--target "$DENO_TARGET" \
--output dist/build/profilarr \
dist/build/mod.ts
msg_ok "Built Profilarr"
msg_info "Installing Profilarr"
mkdir -p /opt/profilarr/app
cp dist/build/profilarr /opt/profilarr/app/profilarr
cp dist/build/server.js /opt/profilarr/app/server.js
cp -r dist/build/static /opt/profilarr/app/static
chmod +x /opt/profilarr/app/profilarr
mkdir -p /var/lib/profilarr/{data,logs,backups,databases}
SQLITE_PATH="/usr/lib/${ARCH}-linux-gnu/libsqlite3.so.0"
cat <<EOF >/etc/default/profilarr
PORT=6868
HOST=0.0.0.0
APP_BASE_PATH=/var/lib/profilarr
DENO_SQLITE_PATH=${SQLITE_PATH}
EOF
msg_ok "Installed Profilarr"
msg_info "Building Frontend"
cd /opt/profilarr/frontend
$STD npm install
$STD npm run build
cp -r dist /opt/profilarr/backend/app/static
msg_ok "Built Frontend"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/profilarr.service
[Unit]
Description=Profilarr - Configuration Management for Radarr/Sonarr
Description=Profilarr - Configuration Management Platform for Radarr/Sonarr
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/profilarr/app
EnvironmentFile=/etc/default/profilarr
Environment=HOME=/root
ExecStart=/opt/profilarr/app/profilarr
Restart=always
User=root
WorkingDirectory=/opt/profilarr/backend
Environment="PATH=/opt/profilarr/backend/.venv/bin:/usr/local/bin:/usr/bin:/bin"
Environment="PYTHONPATH=/opt/profilarr/backend"
ExecStart=/opt/profilarr/backend/.venv/bin/gunicorn --bind 0.0.0.0:6868 --timeout 600 app.main:create_app()
Restart=on-failure
RestartSec=5
[Install]

View File

@@ -34,11 +34,17 @@ export NODE_ENV="production"
export CI="true"
$STD pnpm install --frozen-lockfile
$STD pnpm run build
msg_info "Deploying Nitro Runtime Externals"
$STD pnpm --filter=@reactive-resume/runtime-externals deploy --prod --legacy /tmp/rr-runtime
cp -r /tmp/rr-runtime/node_modules/. /opt/reactive-resume/apps/web/node_modules/
rm -rf /tmp/rr-runtime
msg_ok "Deployed Nitro Runtime Externals"
mkdir -p /opt/reactive-resume/data
msg_ok "Built Reactive Resume"
msg_info "Configuring Reactive Resume"
AUTH_SECRET=$(openssl rand -hex 32)
ENCRYPTION_SECRET=$(openssl rand -hex 32)
cat <<EOF >/opt/reactive-resume/.env
# Reactive Resume v5 Configuration
@@ -54,8 +60,8 @@ DATABASE_URL=postgresql://${PG_DB_USER}:${PG_DB_PASS}@localhost:5432/${PG_DB_NAM
# Authentication Secret (do not change after initial setup)
AUTH_SECRET=${AUTH_SECRET}
# Printer (headless Chromium for PDF generation)
PRINTER_ENDPOINT=http://127.0.0.1:9222
# Encryption Secret (required for saved AI providers, do not change after initial setup)
ENCRYPTION_SECRET=${ENCRYPTION_SECRET}
# Storage: uses local filesystem (/opt/reactive-resume/data) when S3 is not configured
# S3_ACCESS_KEY_ID=
@@ -78,6 +84,9 @@ PRINTER_ENDPOINT=http://127.0.0.1:9222
# GOOGLE_CLIENT_ID=
# GOOGLE_CLIENT_SECRET=
# AI Agent (optional, required for the Agent workspace feature)
# REDIS_URL=redis://localhost:6379
# Feature Flags
# FLAG_DISABLE_SIGNUPS=false
# FLAG_DISABLE_EMAIL_AUTH=false

View File

@@ -21,14 +21,12 @@ fetch_and_deploy_gh_release "snowshare" "TuroYT/snowshare" "tarball"
msg_info "Installing SnowShare"
cd /opt/snowshare
$STD npm ci
mkdir -p /opt/snowshare_data
cat <<EOF >/opt/snowshare.env
DATABASE_URL="postgresql://$PG_DB_USER:$PG_DB_PASS@localhost:5432/$PG_DB_NAME"
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="$(openssl rand -base64 32)"
ALLOW_SIGNUP=true
NODE_ENV=production
UPLOAD_DIR=/opt/snowshare_data
EOF
set -a
source /opt/snowshare.env

View File

@@ -17,10 +17,12 @@ PG_VERSION="17" setup_postgresql
PG_DB_NAME="sonarqube" PG_DB_USER="sonarqube" setup_postgresql_db
msg_info "Setting up SonarQube"
RELEASE=$(curl -s "https://binaries.sonarsource.com/s3api?prefix=Distribution/sonarqube/sonarqube-&delimiter=/" |
grep -oP 'sonarqube-[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+\.zip' |
sort -V | tail -n1)
fetch_and_deploy_from_url "https://binaries.sonarsource.com/Distribution/sonarqube/${RELEASE}" /opt/sonarqube
temp_file=$(mktemp)
RELEASE=$(get_latest_github_release "SonarSource/sonarqube")
curl -fsSL "https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-${RELEASE}.zip" -o $temp_file
unzip -q "$temp_file" -d /opt
rm -f "$temp_file"
mv /opt/sonarqube-* /opt/sonarqube
$STD useradd -r -m -U -d /opt/sonarqube -s /bin/bash sonarqube
chown -R sonarqube:sonarqube /opt/sonarqube
chmod -R 755 /opt/sonarqube

View File

@@ -23,7 +23,6 @@ $STD apt install -y \
msg_ok "Installed Dependencies"
UV_PYTHON="3.11" setup_uv
NODE_VERSION="22" setup_nodejs
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}
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"
cat <<EOF >/etc/systemd/system/soulsync.service
[Unit]

View File

@@ -182,19 +182,11 @@ motd_ssh() {
echo "export TERM='xterm-256color'" >>/root/.bashrc
PROFILE_FILE="/etc/profile.d/00_lxc-details.sh"
echo "echo -e \"\"" >"$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 "echo \"\"" >>"$PROFILE_FILE"
cat <<EOF >>"$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}${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"
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"

View File

@@ -217,16 +217,22 @@ update_motd_ip() {
# Only update if file exists and is from community-scripts
if [ -f "$PROFILE_FILE" ] && grep -q "community-scripts" "$PROFILE_FILE" 2>/dev/null; then
# 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_ip="$(hostname -I | awk '{print $1}')"
# Escape sed special chars in replacement strings (& \ |)
current_os="${current_os//\\/\\\\}"
current_os="${current_os//&/\\&}"
current_hostname="${current_hostname//\\/\\\\}"
current_hostname="${current_hostname//&/\\&}"
current_ip="${current_ip//\\/\\\\}"
current_ip="${current_ip//&/\\&}"
# 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
sed -i "s|Hostname:.*|Hostname: \${GN}$current_hostname\${CL}\\\"|" "$PROFILE_FILE"
fi

View File

@@ -301,7 +301,7 @@ root_check() {
# pve_check()
#
# - 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
# ------------------------------------------------------------------------------
pve_check() {
@@ -319,12 +319,12 @@ pve_check() {
return 0
fi
# Check for Proxmox VE 9.x: allow 9.09.2
# Check for Proxmox VE 9.x: allow 9.09.1
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -332,7 +332,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -455,19 +455,11 @@ motd_ssh() {
grep -qxF "export TERM='xterm-256color'" /root/.bashrc || echo "export TERM='xterm-256color'" >>/root/.bashrc
PROFILE_FILE="/etc/profile.d/00_lxc-details.sh"
echo "echo -e \"\"" >"$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 "echo \"\"" >>"$PROFILE_FILE"
cat <<EOF >>"$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}${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"
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"

View File

@@ -543,9 +543,9 @@ check_root() {
}
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"
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..."
sleep 2
exit 105

View File

@@ -92,14 +92,14 @@ main() {
fi
start_routines_8
elif [[ "$PVE_MAJOR" == "9" ]]; then
if ((PVE_MINOR < 0 || PVE_MINOR > 2)); then
msg_error "Only Proxmox 9.0-9.2.x is currently supported"
if ((PVE_MINOR < 0 || PVE_MINOR > 1)); then
msg_error "Only Proxmox 9.0-9.1.x is currently supported"
exit 105
fi
start_routines_9 "$PVE_MINOR"
start_routines_9
else
msg_error "Unsupported Proxmox VE major version: $PVE_MAJOR"
echo -e "Supported: 8.08.9.x and 9.09.2.x"
echo -e "Supported: 8.08.9.x and 9.09.1.x"
exit 105
fi
}
@@ -188,7 +188,6 @@ EOF
}
start_routines_9() {
local PVE_MINOR="${1:-0}"
header_info
# check if deb822 Sources (*.sources) exist
@@ -476,21 +475,15 @@ EOF
"no" " " 3>&2 2>&1 1>&3)
case $CHOICE in
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)"
cat >/etc/apt/sources.list.d/ceph.sources <<EOF
Types: deb
URIs: http://download.proxmox.com/debian/${CEPH_RELEASE}
URIs: http://download.proxmox.com/debian/ceph-squid
Suites: trixie
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
msg_ok "Added 'ceph package repositories' (${CEPH_RELEASE})"
msg_ok "Added 'ceph package repositories'"
;;
no)
msg_error "Selected no to Adding 'ceph package repositories'"

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -163,12 +163,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -176,7 +176,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -163,12 +163,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -176,7 +176,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -163,12 +163,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -176,7 +176,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 tteck
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -168,12 +168,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -181,7 +181,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 tteck
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -164,12 +164,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -177,7 +177,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 tteck
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -163,12 +163,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -176,7 +176,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 tteck
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -231,12 +231,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -244,7 +244,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -223,12 +223,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -236,7 +236,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 tteck
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -164,12 +164,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -177,7 +177,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 tteck
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -172,12 +172,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -185,7 +185,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# Author: juronja
@@ -200,16 +200,16 @@ function pve_check() {
if [[ "$PVE_VER" =~ ^9\.([0-9]+) ]]; then
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
fi
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -160,12 +160,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -173,7 +173,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 tteck
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -163,12 +163,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -176,7 +176,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -162,12 +162,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -175,7 +175,7 @@ pve_check() {
# All other unsupported versions
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
}

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
#!/usr/bin/env bash
# Copyright (c) 2021-2026 community-scripts ORG
# 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.
# 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() {
local PVE_VER
PVE_VER="$(pveversion | awk -F'/' '{print $2}' | awk -F'-' '{print $1}')"
@@ -162,12 +162,12 @@ pve_check() {
return 0
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
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 "Supported: Proxmox VE version 9.0 9.2"
msg_error "Supported: Proxmox VE version 9.0 9.1"
exit 105
fi
return 0
@@ -175,7 +175,7 @@ pve_check() {
# All other unsupported versions
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
}