mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-05 02:15:56 +01:00
Compare commits
3 Commits
feat/ollam
...
copilot/fi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d1ca4b0342 | ||
|
|
18f102942a | ||
|
|
f7d1c3a851 |
21
CHANGELOG.md
21
CHANGELOG.md
@@ -410,22 +410,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
</details>
|
||||
|
||||
## 2026-03-04
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- 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))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- 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
|
||||
|
||||
### 🆕 New Scripts
|
||||
@@ -436,7 +420,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- cross-seed: install build-essential to resolve missing `make` error [@Copilot](https://github.com/Copilot) ([#12522](https://github.com/community-scripts/ProxmoxVE/pull/12522))
|
||||
- meshcentral: increased disk space to 4GB [@MickLesk](https://github.com/MickLesk) ([#12509](https://github.com/community-scripts/ProxmoxVE/pull/12509))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
@@ -453,10 +436,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
- core: recovery - add ENOSPC disk-full detection with auto-retry using * 2 hdd [@MickLesk](https://github.com/MickLesk) ([#12511](https://github.com/community-scripts/ProxmoxVE/pull/12511))
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
- Fix config_path casing in reactive-resume.json [@ScubyG](https://github.com/ScubyG) ([#12525](https://github.com/community-scripts/ProxmoxVE/pull/12525))
|
||||
|
||||
### 🌐 Website
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
@@ -48,11 +48,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/komodo.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_komodo 2>/dev/null || true
|
||||
|
||||
@@ -46,11 +46,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/coolify.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_coolify 2>/dev/null || true
|
||||
|
||||
@@ -48,11 +48,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/dockge.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_dockge 2>/dev/null || true
|
||||
|
||||
@@ -46,11 +46,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/dokploy.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_dokploy 2>/dev/null || true
|
||||
|
||||
@@ -337,7 +337,7 @@ function compile_libraw() {
|
||||
if [[ "$LIBRAW_REVISION" != "$(grep 'libraw' ~/.immich_library_revisions | awk '{print $2}')" ]]; then
|
||||
msg_info "Recompiling libraw"
|
||||
[[ -d "$SOURCE" ]] && rm -rf "$SOURCE"
|
||||
$STD git clone https://github.com/LibRaw/LibRaw.git "$SOURCE"
|
||||
$STD git clone https://github.com/libraw/libraw.git "$SOURCE"
|
||||
cd "$SOURCE"
|
||||
$STD git reset --hard "$LIBRAW_REVISION"
|
||||
$STD autoreconf --install
|
||||
|
||||
@@ -45,15 +45,14 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Switching update script to Seerr"
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'EOF' >"$TMP_UPDATE"
|
||||
cat <<'EOF' >/usr/bin/update
|
||||
#!/usr/bin/env bash
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/seerr.sh)"
|
||||
EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
msg_ok "Switched update script to Seerr"
|
||||
msg_warn "Please type 'update' again to complete the migration"
|
||||
exit 0
|
||||
exit
|
||||
fi
|
||||
|
||||
msg_info "Updating Jellyseerr"
|
||||
|
||||
@@ -52,11 +52,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/komodo.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_komodo 2>/dev/null || true
|
||||
|
||||
@@ -44,11 +44,10 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Switching update script to Seerr"
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'EOF' >"$TMP_UPDATE"
|
||||
cat <<'EOF' >/usr/bin/update
|
||||
#!/usr/bin/env bash
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/seerr.sh)"
|
||||
EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
msg_ok "Switched update script to Seerr"
|
||||
msg_warn "Please type 'update' again to complete the migration"
|
||||
|
||||
@@ -46,11 +46,9 @@ function update_script() {
|
||||
fi
|
||||
|
||||
msg_info "Migrating update function"
|
||||
TMP_UPDATE=$(mktemp)
|
||||
cat <<'MIGRATION_EOF' >"$TMP_UPDATE"
|
||||
cat <<'MIGRATION_EOF' >/usr/bin/update
|
||||
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/runtipi.sh)"
|
||||
MIGRATION_EOF
|
||||
mv "$TMP_UPDATE" /usr/bin/update
|
||||
chmod +x /usr/bin/update
|
||||
|
||||
ln -sf /usr/bin/update /usr/bin/update_runtipi 2>/dev/null || true
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated": "2026-03-04T06:16:35Z",
|
||||
"generated": "2026-03-03T12:12:16Z",
|
||||
"versions": [
|
||||
{
|
||||
"slug": "2fauth",
|
||||
@@ -242,9 +242,9 @@
|
||||
{
|
||||
"slug": "cosmos",
|
||||
"repo": "azukaar/Cosmos-Server",
|
||||
"version": "v0.21.7",
|
||||
"version": "v0.21.6",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T18:15:29Z"
|
||||
"date": "2026-02-28T22:00:49Z"
|
||||
},
|
||||
{
|
||||
"slug": "cronicle",
|
||||
@@ -298,9 +298,9 @@
|
||||
{
|
||||
"slug": "docmost",
|
||||
"repo": "docmost/docmost",
|
||||
"version": "v0.70.0",
|
||||
"version": "v0.25.3",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T20:33:08Z"
|
||||
"date": "2026-02-10T02:58:23Z"
|
||||
},
|
||||
{
|
||||
"slug": "domain-locker",
|
||||
@@ -438,9 +438,9 @@
|
||||
{
|
||||
"slug": "ghostfolio",
|
||||
"repo": "ghostfolio/ghostfolio",
|
||||
"version": "2.246.0",
|
||||
"version": "2.245.0",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T19:37:20Z"
|
||||
"date": "2026-03-01T09:09:57Z"
|
||||
},
|
||||
{
|
||||
"slug": "gitea",
|
||||
@@ -452,9 +452,9 @@
|
||||
{
|
||||
"slug": "gitea-mirror",
|
||||
"repo": "RayLabsHQ/gitea-mirror",
|
||||
"version": "v3.12.0",
|
||||
"version": "v3.11.0",
|
||||
"pinned": false,
|
||||
"date": "2026-03-04T02:53:42Z"
|
||||
"date": "2026-03-02T10:19:59Z"
|
||||
},
|
||||
{
|
||||
"slug": "glance",
|
||||
@@ -557,9 +557,9 @@
|
||||
{
|
||||
"slug": "homebox",
|
||||
"repo": "sysadminsmedia/homebox",
|
||||
"version": "v0.24.0",
|
||||
"version": "v0.23.1",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T16:09:55Z"
|
||||
"date": "2026-02-01T22:53:32Z"
|
||||
},
|
||||
{
|
||||
"slug": "homepage",
|
||||
@@ -613,9 +613,9 @@
|
||||
{
|
||||
"slug": "jackett",
|
||||
"repo": "Jackett/Jackett",
|
||||
"version": "v0.24.1275",
|
||||
"version": "v0.24.1261",
|
||||
"pinned": false,
|
||||
"date": "2026-03-04T05:53:40Z"
|
||||
"date": "2026-03-03T05:54:20Z"
|
||||
},
|
||||
{
|
||||
"slug": "jellystat",
|
||||
@@ -669,9 +669,9 @@
|
||||
{
|
||||
"slug": "kima-hub",
|
||||
"repo": "Chevron7Locked/kima-hub",
|
||||
"version": "v1.6.1",
|
||||
"version": "v1.6.0",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T16:13:53Z"
|
||||
"date": "2026-03-02T05:43:31Z"
|
||||
},
|
||||
{
|
||||
"slug": "kimai",
|
||||
@@ -753,9 +753,9 @@
|
||||
{
|
||||
"slug": "libretranslate",
|
||||
"repo": "LibreTranslate/LibreTranslate",
|
||||
"version": "v1.9.5",
|
||||
"version": "v1.9.4",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T18:25:04Z"
|
||||
"date": "2026-02-24T17:06:05Z"
|
||||
},
|
||||
{
|
||||
"slug": "lidarr",
|
||||
@@ -872,9 +872,9 @@
|
||||
{
|
||||
"slug": "metube",
|
||||
"repo": "alexta69/metube",
|
||||
"version": "2026.03.03",
|
||||
"version": "2026.03.02",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T19:15:55Z"
|
||||
"date": "2026-03-02T19:19:10Z"
|
||||
},
|
||||
{
|
||||
"slug": "miniflux",
|
||||
@@ -921,9 +921,9 @@
|
||||
{
|
||||
"slug": "netbox",
|
||||
"repo": "netbox-community/netbox",
|
||||
"version": "v4.5.4",
|
||||
"version": "v4.5.3",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T20:32:16Z"
|
||||
"date": "2026-02-17T15:39:18Z"
|
||||
},
|
||||
{
|
||||
"slug": "nextcloud-exporter",
|
||||
@@ -942,9 +942,9 @@
|
||||
{
|
||||
"slug": "nightscout",
|
||||
"repo": "nightscout/cgm-remote-monitor",
|
||||
"version": "v15.0.6",
|
||||
"version": "v15.0.5",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T23:04:35Z"
|
||||
"date": "2026-03-01T21:22:37Z"
|
||||
},
|
||||
{
|
||||
"slug": "nocodb",
|
||||
@@ -1229,9 +1229,9 @@
|
||||
{
|
||||
"slug": "pulse",
|
||||
"repo": "rcourtman/Pulse",
|
||||
"version": "v5.1.18",
|
||||
"version": "v5.1.17",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T22:09:15Z"
|
||||
"date": "2026-03-02T20:15:31Z"
|
||||
},
|
||||
{
|
||||
"slug": "pve-scripts-local",
|
||||
@@ -1446,9 +1446,9 @@
|
||||
{
|
||||
"slug": "sonobarr",
|
||||
"repo": "Dodelidoo-Labs/sonobarr",
|
||||
"version": "0.12.1",
|
||||
"version": "0.11.0",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T13:43:02Z"
|
||||
"date": "2026-01-21T19:07:21Z"
|
||||
},
|
||||
{
|
||||
"slug": "speedtest-tracker",
|
||||
@@ -1467,9 +1467,9 @@
|
||||
{
|
||||
"slug": "sportarr",
|
||||
"repo": "Sportarr/Sportarr",
|
||||
"version": "v4.0.985.1060",
|
||||
"version": "v4.0.983.1057",
|
||||
"pinned": false,
|
||||
"date": "2026-03-04T01:00:04Z"
|
||||
"date": "2026-01-26T18:54:50Z"
|
||||
},
|
||||
{
|
||||
"slug": "stirling-pdf",
|
||||
@@ -1579,9 +1579,9 @@
|
||||
{
|
||||
"slug": "tracearr",
|
||||
"repo": "connorgallopo/Tracearr",
|
||||
"version": "v1.4.21",
|
||||
"version": "v1.4.19",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T18:43:20Z"
|
||||
"date": "2026-02-28T21:25:47Z"
|
||||
},
|
||||
{
|
||||
"slug": "tracktor",
|
||||
@@ -1649,9 +1649,9 @@
|
||||
{
|
||||
"slug": "upgopher",
|
||||
"repo": "wanetty/upgopher",
|
||||
"version": "v1.15.2",
|
||||
"version": "v1.14.0",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T13:40:45Z"
|
||||
"date": "2026-02-24T22:43:34Z"
|
||||
},
|
||||
{
|
||||
"slug": "upsnap",
|
||||
@@ -1740,9 +1740,9 @@
|
||||
{
|
||||
"slug": "wealthfolio",
|
||||
"repo": "afadil/wealthfolio",
|
||||
"version": "v3.0.3",
|
||||
"version": "v3.0.2",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T21:47:55Z"
|
||||
"date": "2026-03-03T05:01:49Z"
|
||||
},
|
||||
{
|
||||
"slug": "web-check",
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"documentation": "https://docs.rxresume.org/",
|
||||
"website": "https://rxresume.org",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/reactive-resume.webp",
|
||||
"config_path": "/opt/Reactive-Resume/.env",
|
||||
"config_path": "/opt/reactive-resume/.env",
|
||||
"description": "A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever.",
|
||||
"install_methods": [
|
||||
{
|
||||
|
||||
@@ -232,7 +232,7 @@ msg_ok "(2/5) Compiled libheif"
|
||||
msg_info "(3/5) Compiling libraw"
|
||||
SOURCE=${SOURCE_DIR}/libraw
|
||||
: "${LIBRAW_REVISION:=$(jq -cr '.revision' $BASE_DIR/server/sources/libraw.json)}"
|
||||
$STD git clone https://github.com/LibRaw/LibRaw.git "$SOURCE"
|
||||
$STD git clone https://github.com/libraw/libraw.git "$SOURCE"
|
||||
cd "$SOURCE"
|
||||
$STD git reset --hard "$LIBRAW_REVISION"
|
||||
$STD autoreconf --install
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -38,12 +38,6 @@ msg_info "Setting up PowerDNS"
|
||||
$STD apt install -y \
|
||||
pdns-server \
|
||||
pdns-backend-sqlite3
|
||||
sed -i 's/^launch=$/# launch=/' /etc/powerdns/pdns.conf
|
||||
rm -f /etc/powerdns/pdns.d/bind.conf
|
||||
cat <<EOF >/etc/powerdns/pdns.d/gsqlite3.conf
|
||||
launch+=gsqlite3
|
||||
gsqlite3-database=/opt/poweradmin/powerdns.db
|
||||
EOF
|
||||
msg_ok "Setup PowerDNS"
|
||||
|
||||
fetch_and_deploy_gh_release "poweradmin" "poweradmin/poweradmin" "tarball"
|
||||
@@ -132,10 +126,7 @@ cat <<EOF >/etc/apache2/sites-enabled/poweradmin.conf
|
||||
EOF
|
||||
$STD a2enmod rewrite headers
|
||||
chown -R www-data:www-data /opt/poweradmin
|
||||
chown pdns:pdns /opt/poweradmin/powerdns.db
|
||||
chmod 664 /opt/poweradmin/powerdns.db
|
||||
usermod -aG pdns www-data
|
||||
$STD systemctl restart pdns apache2
|
||||
$STD systemctl restart apache2
|
||||
msg_info "Created Service"
|
||||
|
||||
motd_ssh
|
||||
|
||||
@@ -1033,7 +1033,7 @@ load_vars_file() {
|
||||
var_apt_cacher var_apt_cacher_ip var_brg var_cpu var_disk var_fuse var_gpu var_keyctl
|
||||
var_gateway var_hostname var_ipv6_method var_mac var_mknod var_mount_fs var_mtu
|
||||
var_net var_nesting var_ns var_protection var_pw var_ram var_tags var_timezone var_tun var_unprivileged
|
||||
var_verbose var_vlan var_ssh var_ssh_authorized_key var_container_storage var_template_storage var_searchdomain
|
||||
var_verbose var_vlan var_ssh var_ssh_authorized_key var_container_storage var_template_storage
|
||||
)
|
||||
|
||||
# Whitelist check helper
|
||||
@@ -3620,13 +3620,13 @@ $PCT_OPTIONS_STRING"
|
||||
# Add storage if specified
|
||||
if [ -n "$SD" ]; then
|
||||
PCT_OPTIONS_STRING="$PCT_OPTIONS_STRING
|
||||
-searchdomain $SD"
|
||||
$SD"
|
||||
fi
|
||||
|
||||
# Add nameserver if specified
|
||||
if [ -n "$NS" ]; then
|
||||
PCT_OPTIONS_STRING="$PCT_OPTIONS_STRING
|
||||
-nameserver $NS"
|
||||
$NS"
|
||||
fi
|
||||
|
||||
# Network configuration
|
||||
@@ -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]
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user