Compare commits

..

6 Commits

Author SHA1 Message Date
Tobias
de7af4217a update: stirling-pdf: java 25 2026-03-04 10:22:17 +01:00
Tobias
112d9da829 update: stirling-pdf: java 25 2026-03-04 10:21:21 +01:00
community-scripts-pr-app[bot]
c70c488648 Update CHANGELOG.md (#12545)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 07:40:41 +00:00
CanbiZ (MickLesk)
91db277446 jellyseer/overseer migration corrupting /usr/bin/update (#12539) 2026-03-04 08:40:15 +01:00
community-scripts-pr-app[bot]
35ce20391c Update CHANGELOG.md (#12544)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 07:40:00 +00:00
CanbiZ (MickLesk)
783ba03e92 fix(postgresql): fall back to distro packages instead of bookworm-pgdg on Trixie (#12524) (#12542) 2026-03-04 08:39:33 +01:00
6 changed files with 35 additions and 121 deletions

View File

@@ -416,6 +416,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- #### 🐞 Bug Fixes
- jellyseer/overseer migration corrupting /usr/bin/update [@MickLesk](https://github.com/MickLesk) ([#12539](https://github.com/community-scripts/ProxmoxVE/pull/12539))
- PowerDNS: use gsqlite3 backend instead of BIND [@MickLesk](https://github.com/MickLesk) ([#12538](https://github.com/community-scripts/ProxmoxVE/pull/12538))
- addon migrations: /usr/bin/update replacement to prevent syntax error [@MickLesk](https://github.com/MickLesk) ([#12540](https://github.com/community-scripts/ProxmoxVE/pull/12540))
- fix(immich): correct LibRaw clone URL to official upstream [@DenislavDenev](https://github.com/DenislavDenev) ([#12526](https://github.com/community-scripts/ProxmoxVE/pull/12526))
@@ -424,6 +425,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- #### 🐞 Bug Fixes
- tools: fall back to distro packages for psql [@MickLesk](https://github.com/MickLesk) ([#12542](https://github.com/community-scripts/ProxmoxVE/pull/12542))
- fix: whitelist var_searchdomain and fix the handling of var_ns and va… [@tommoyer](https://github.com/tommoyer) ([#12521](https://github.com/community-scripts/ProxmoxVE/pull/12521))
## 2026-03-03

View File

@@ -35,7 +35,7 @@ function update_script() {
fi
PYTHON_VERSION="3.12" setup_uv
JAVA_VERSION="21" setup_java
JAVA_VERSION="25" setup_java
msg_info "Stopping Services"
systemctl stop stirlingpdf libreoffice-listener unoserver

View File

@@ -20,33 +20,10 @@ $STD apt install -y \
zstd
msg_ok "Installed Dependencies"
# ══════════════════════════════════════════════════════════════════════════════
# GPU Detection - determine which GPU backend to configure
# ══════════════════════════════════════════════════════════════════════════════
GPU_BACKEND="cpu"
if [[ -e /dev/kfd ]]; then
GPU_BACKEND="rocm"
msg_ok "Detected AMD GPU (/dev/kfd present) - will configure ROCm backend"
elif [[ -d /dev/dri ]]; then
# Check if Intel GPU is available (default for this script)
if lspci 2>/dev/null | grep -iE 'VGA|3D|Display' | grep -qi 'Intel'; then
GPU_BACKEND="intel"
msg_ok "Detected Intel GPU - will configure SYCL/oneAPI backend"
elif [[ -e /dev/dri/renderD128 ]]; then
GPU_BACKEND="intel"
msg_ok "Detected GPU (assuming Intel) - will configure SYCL/oneAPI backend"
fi
fi
# ══════════════════════════════════════════════════════════════════════════════
# Intel GPU Setup
# ══════════════════════════════════════════════════════════════════════════════
if [[ "$GPU_BACKEND" == "intel" ]]; then
msg_info "Setting up Intel® Repositories"
mkdir -p /usr/share/keyrings
curl -fsSL https://repositories.intel.com/gpu/intel-graphics.key | gpg --dearmor -o /usr/share/keyrings/intel-graphics.gpg
cat <<EOF >/etc/apt/sources.list.d/intel-gpu.sources
msg_info "Setting up Intel® Repositories"
mkdir -p /usr/share/keyrings
curl -fsSL https://repositories.intel.com/gpu/intel-graphics.key | gpg --dearmor -o /usr/share/keyrings/intel-graphics.gpg
cat <<EOF >/etc/apt/sources.list.d/intel-gpu.sources
Types: deb
URIs: https://repositories.intel.com/gpu/ubuntu
Suites: jammy
@@ -54,56 +31,37 @@ Components: client
Architectures: amd64 i386
Signed-By: /usr/share/keyrings/intel-graphics.gpg
EOF
curl -fsSL https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor -o /usr/share/keyrings/oneapi-archive-keyring.gpg
cat <<EOF >/etc/apt/sources.list.d/oneAPI.sources
curl -fsSL https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor -o /usr/share/keyrings/oneapi-archive-keyring.gpg
cat <<EOF >/etc/apt/sources.list.d/oneAPI.sources
Types: deb
URIs: https://apt.repos.intel.com/oneapi
Suites: all
Components: main
Signed-By: /usr/share/keyrings/oneapi-archive-keyring.gpg
EOF
$STD apt update
msg_ok "Set up Intel® Repositories"
fi
$STD apt update
msg_ok "Set up Intel® Repositories"
setup_hwaccel
# ══════════════════════════════════════════════════════════════════════════════
# Intel-specific: Level Zero + oneAPI
# ══════════════════════════════════════════════════════════════════════════════
if [[ "$GPU_BACKEND" == "intel" ]]; then
msg_info "Installing Intel® Level Zero"
if is_debian && [[ "$(get_os_version_major)" -ge 13 ]]; then
$STD apt -y install libze1 libze-dev intel-level-zero-gpu 2>/dev/null || {
msg_warn "Failed to install some Level Zero packages, continuing anyway"
}
else
$STD apt -y install intel-level-zero-gpu level-zero level-zero-dev 2>/dev/null || {
msg_warn "Failed to install Intel Level Zero packages, continuing anyway"
}
fi
msg_ok "Installed Intel® Level Zero"
msg_info "Installing Intel® oneAPI Base Toolkit (Patience)"
$STD apt install -y --no-install-recommends intel-basekit-2024.1
msg_ok "Installed Intel® oneAPI Base Toolkit"
msg_info "Installing Intel® Level Zero"
# Debian 13+ has newer Level Zero packages in system repos that conflict with Intel repo packages
if is_debian && [[ "$(get_os_version_major)" -ge 13 ]]; then
# Use system packages on Debian 13+ (avoid conflicts with libze1)
$STD apt -y install libze1 libze-dev intel-level-zero-gpu 2>/dev/null || {
msg_warn "Failed to install some Level Zero packages, continuing anyway"
}
else
# Use Intel repository packages for older systems
$STD apt -y install intel-level-zero-gpu level-zero level-zero-dev 2>/dev/null || {
msg_warn "Failed to install Intel Level Zero packages, continuing anyway"
}
fi
msg_ok "Installed Intel® Level Zero"
# ══════════════════════════════════════════════════════════════════════════════
# AMD ROCm-specific: ensure ROCm libraries are present for Ollama
# ══════════════════════════════════════════════════════════════════════════════
if [[ "$GPU_BACKEND" == "rocm" ]]; then
msg_info "Verifying ROCm runtime for Ollama"
# ROCm base libraries should already be installed by setup_hwaccel -> _setup_amd_gpu
# Ensure the ollama-relevant pieces are present
if ! ldconfig -p 2>/dev/null | grep -q libamdhip64; then
msg_warn "ROCm HIP runtime not found - Ollama may fall back to CPU"
msg_info "You can manually install ROCm following: https://rocm.docs.amd.com/projects/install-on-linux/en/latest/"
else
msg_ok "ROCm HIP runtime available"
fi
msg_ok "Verified ROCm runtime"
fi
msg_info "Installing Intel® oneAPI Base Toolkit (Patience)"
$STD apt install -y --no-install-recommends intel-basekit-2024.1
msg_ok "Installed Intel® oneAPI Base Toolkit"
msg_info "Installing Ollama (Patience)"
RELEASE=$(curl -fsSL https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk -F '"' '{print $4}')
@@ -146,24 +104,11 @@ After=network-online.target
Type=exec
ExecStart=/usr/local/bin/ollama serve
Environment=HOME=$HOME
Environment=OLLAMA_INTEL_GPU=true
Environment=OLLAMA_HOST=0.0.0.0
Environment=OLLAMA_NUM_GPU=999
EOF
# Add GPU-specific environment variables
if [[ "$GPU_BACKEND" == "intel" ]]; then
cat <<EOF >>/etc/systemd/system/ollama.service
Environment=OLLAMA_INTEL_GPU=true
Environment=SYCL_CACHE_PERSISTENT=1
Environment=ZES_ENABLE_SYSMAN=1
EOF
elif [[ "$GPU_BACKEND" == "rocm" ]]; then
cat <<EOF >>/etc/systemd/system/ollama.service
Environment=HSA_OVERRIDE_GFX_VERSION=11.0.0
EOF
fi
cat <<EOF >>/etc/systemd/system/ollama.service
Restart=always
RestartSec=3

View File

@@ -31,7 +31,7 @@ $STD apt install -y \
msg_ok "Installed Dependencies"
PYTHON_VERSION="3.12" setup_uv
JAVA_VERSION="21" setup_java
JAVA_VERSION="25" setup_java
read -r -p "${TAB3}Do you want to use Stirling-PDF with Login? (no/n = without Login) [Y/n] " response
response=${response,,} # Convert to lowercase

View File

@@ -3738,11 +3738,6 @@ $PCT_OPTIONS_STRING"
done
fi
fi
# /dev/kfd is required for AMD ROCm compute (GPU inference in Ollama, etc.)
if [[ -e /dev/kfd ]]; then
AMD_DEVICES+=("/dev/kfd")
msg_custom "🎮" "${RD}" "Detected /dev/kfd (ROCm compute device)"
fi
fi
# Check for NVIDIA GPU - look for NVIDIA vendor ID [10de]

View File

@@ -4451,36 +4451,9 @@ _setup_amd_gpu() {
fi
# Ubuntu includes AMD firmware in linux-firmware by default
# ROCm for GPU compute (needed for AI/ML workloads like Ollama)
if [[ -e /dev/kfd ]]; then
msg_info "Installing ROCm runtime (AMD GPU compute)"
if [[ "$os_id" == "ubuntu" ]]; then
# Official AMD ROCm repo for Ubuntu
mkdir -p /usr/share/keyrings
curl -fsSL https://repo.radeon.com/rocm/rocm.gpg.key | gpg --dearmor -o /usr/share/keyrings/rocm-archive-keyring.gpg 2>/dev/null || true
local rocm_version="6.4.1"
cat <<EOF >/etc/apt/sources.list.d/rocm.sources
Types: deb
URIs: https://repo.radeon.com/rocm/apt/${rocm_version}
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/rocm-archive-keyring.gpg
EOF
cat <<EOF >/etc/apt/sources.list.d/amdgpu.sources
Types: deb
URIs: https://repo.radeon.com/amdgpu/${rocm_version}/ubuntu
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/rocm-archive-keyring.gpg
EOF
$STD apt update 2>/dev/null || true
$STD apt -y install rocm-opencl-runtime rocm-hip-runtime 2>/dev/null || msg_warn "ROCm install failed - GPU compute may not work"
elif [[ "$os_id" == "debian" ]]; then
# Debian: use distro ROCm packages if available
$STD apt -y install rocm-opencl-runtime 2>/dev/null || msg_warn "ROCm not available in Debian repos"
fi
msg_ok "Installed ROCm runtime"
fi
# ROCm for compute (optional - large download)
# Uncomment if needed:
# $STD apt -y install rocm-opencl-runtime 2>/dev/null || true
msg_ok "AMD GPU configured"
}
@@ -6527,14 +6500,13 @@ function setup_postgresql() {
local SUITE
case "$DISTRO_CODENAME" in
trixie | forky | sid)
if verify_repo_available "https://apt.postgresql.org/pub/repos/apt" "trixie-pgdg"; then
SUITE="trixie-pgdg"
else
SUITE="bookworm-pgdg"
msg_warn "PGDG repo not available for ${DISTRO_CODENAME}, falling back to distro packages"
USE_PGDG_REPO=false setup_postgresql
return $?
fi
;;
*)
SUITE=$(get_fallback_suite "$DISTRO_ID" "$DISTRO_CODENAME" "https://apt.postgresql.org/pub/repos/apt")