Compare commits

...

17 Commits

Author SHA1 Message Date
CanbiZ (MickLesk)
eff1a7f836 rocm 2026-03-04 09:48:57 +01:00
community-scripts-pr-app[bot]
e344d3661c Update CHANGELOG.md (#12543)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 07:12:38 +00:00
CanbiZ (MickLesk)
c62418069d fix(powerdns): use gsqlite3 backend instead of BIND (#12533) (#12538)
- Comment out empty 'launch=' in pdns.conf that overrides launch+= directives
- Remove default bind.conf and create gsqlite3.conf pointing to the
  Poweradmin SQLite database (/opt/poweradmin/powerdns.db)
- Set correct ownership (pdns:pdns) and permissions (664) on the
  database file so pdns_server can read/write it
- Add www-data to pdns group for shared database access
- Restart pdns service alongside apache2
2026-03-04 08:12:11 +01:00
community-scripts-pr-app[bot]
41611d2682 Update CHANGELOG.md (#12541)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 07:00:19 +00:00
CanbiZ (MickLesk)
cf8043a22e fix(migration): atomic /usr/bin/update replacement to prevent syntax errors (#12540) 2026-03-04 07:59:51 +01:00
community-scripts-pr-app[bot]
2521412747 Update CHANGELOG.md (#12537)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 06:31:35 +00:00
Tom
199483be82 fix: whitelist var_searchdomain and fix the handling of var_ns and var_searchdomain in build.func (#12521) 2026-03-04 07:31:11 +01:00
community-scripts-pr-app[bot]
821b2b4415 chore: update github-versions.json (#12536)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 06:16:45 +00:00
community-scripts-pr-app[bot]
866ae47dd4 Update CHANGELOG.md (#12535)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 04:50:05 +00:00
Denislav Denev
fbc8133a86 fix(immich): correct LibRaw clone URL to official upstream (#12526)
* fix(immich): correct LibRaw clone URL to official upstream

The Immich helper script clones LibRaw from:

  https://github.com/libraw/libraw.git

This repository does not exist and results in:

  fatal: unable to access ... error: 500
  exit code: 128

The correct upstream repository is:

  https://github.com/LibRaw/LibRaw.git

This should resolve installation failure during the LibRaw compilation stage.

* Fix repository URL for libraw in install script

---------

Co-authored-by: Chris <punk.sand7393@fastmail.com>
2026-03-04 05:49:45 +01:00
community-scripts-pr-app[bot]
7044b6e017 Update CHANGELOG.md (#12534)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 00:21:05 +00:00
community-scripts-pr-app[bot]
3ff140101d chore: update github-versions.json (#12532)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-04 00:20:41 +00:00
community-scripts-pr-app[bot]
c4b6528bf0 Update CHANGELOG.md (#12530)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-03 22:38:41 +00:00
Cybirdtech
7a85e33791 Fix config_path casing in reactive-resume.json (#12525) 2026-03-03 23:38:15 +01:00
community-scripts-pr-app[bot]
bbfffb97a5 Update CHANGELOG.md (#12527)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-03 20:55:33 +00:00
Copilot
4306b4018d cross-seed: install build-essential to resolve missing make error (#12522)
* Initial plan

* fix(cross-seed): add build-essential to resolve missing make error

Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>

* fix(cross-seed): use apt and ensure_dependencies per review feedback

Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: MickLesk <47820557+MickLesk@users.noreply.github.com>
2026-03-03 21:55:06 +01:00
community-scripts-pr-app[bot]
3722533431 chore: update github-versions.json (#12523)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-03 18:16:29 +00:00
19 changed files with 218 additions and 82 deletions

View File

@@ -410,6 +410,22 @@ 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
@@ -420,6 +436,7 @@ 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
@@ -436,6 +453,10 @@ 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

View File

@@ -48,9 +48,11 @@ function update_script() {
fi
msg_info "Migrating update function"
cat <<'MIGRATION_EOF' >/usr/bin/update
TMP_UPDATE=$(mktemp)
cat <<'MIGRATION_EOF' >"$TMP_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

View File

@@ -46,9 +46,11 @@ function update_script() {
fi
msg_info "Migrating update function"
cat <<'MIGRATION_EOF' >/usr/bin/update
TMP_UPDATE=$(mktemp)
cat <<'MIGRATION_EOF' >"$TMP_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

View File

@@ -25,6 +25,7 @@ function update_script() {
check_container_resources
NODE_VERSION="24" setup_nodejs
ensure_dependencies build-essential
if command -v cross-seed &>/dev/null; then
current_version=$(cross-seed --version)

View File

@@ -48,9 +48,11 @@ function update_script() {
fi
msg_info "Migrating update function"
cat <<'MIGRATION_EOF' >/usr/bin/update
TMP_UPDATE=$(mktemp)
cat <<'MIGRATION_EOF' >"$TMP_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

View File

@@ -46,9 +46,11 @@ function update_script() {
fi
msg_info "Migrating update function"
cat <<'MIGRATION_EOF' >/usr/bin/update
TMP_UPDATE=$(mktemp)
cat <<'MIGRATION_EOF' >"$TMP_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

View File

@@ -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

View File

@@ -45,14 +45,15 @@ function update_script() {
fi
msg_info "Switching update script to Seerr"
cat <<'EOF' >/usr/bin/update
#!/usr/bin/env bash
TMP_UPDATE=$(mktemp)
cat <<'EOF' >"$TMP_UPDATE"
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
exit 0
fi
msg_info "Updating Jellyseerr"

View File

@@ -52,9 +52,11 @@ function update_script() {
fi
msg_info "Migrating update function"
cat <<'MIGRATION_EOF' >/usr/bin/update
TMP_UPDATE=$(mktemp)
cat <<'MIGRATION_EOF' >"$TMP_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

View File

@@ -44,10 +44,11 @@ function update_script() {
fi
msg_info "Switching update script to Seerr"
cat <<'EOF' >/usr/bin/update
#!/usr/bin/env bash
TMP_UPDATE=$(mktemp)
cat <<'EOF' >"$TMP_UPDATE"
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"

View File

@@ -46,9 +46,11 @@ function update_script() {
fi
msg_info "Migrating update function"
cat <<'MIGRATION_EOF' >/usr/bin/update
TMP_UPDATE=$(mktemp)
cat <<'MIGRATION_EOF' >"$TMP_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

View File

@@ -1,5 +1,5 @@
{
"generated": "2026-03-03T12:12:16Z",
"generated": "2026-03-04T06:16:35Z",
"versions": [
{
"slug": "2fauth",
@@ -242,9 +242,9 @@
{
"slug": "cosmos",
"repo": "azukaar/Cosmos-Server",
"version": "v0.21.6",
"version": "v0.21.7",
"pinned": false,
"date": "2026-02-28T22:00:49Z"
"date": "2026-03-03T18:15:29Z"
},
{
"slug": "cronicle",
@@ -298,9 +298,9 @@
{
"slug": "docmost",
"repo": "docmost/docmost",
"version": "v0.25.3",
"version": "v0.70.0",
"pinned": false,
"date": "2026-02-10T02:58:23Z"
"date": "2026-03-03T20:33:08Z"
},
{
"slug": "domain-locker",
@@ -438,9 +438,9 @@
{
"slug": "ghostfolio",
"repo": "ghostfolio/ghostfolio",
"version": "2.245.0",
"version": "2.246.0",
"pinned": false,
"date": "2026-03-01T09:09:57Z"
"date": "2026-03-03T19:37:20Z"
},
{
"slug": "gitea",
@@ -452,9 +452,9 @@
{
"slug": "gitea-mirror",
"repo": "RayLabsHQ/gitea-mirror",
"version": "v3.11.0",
"version": "v3.12.0",
"pinned": false,
"date": "2026-03-02T10:19:59Z"
"date": "2026-03-04T02:53:42Z"
},
{
"slug": "glance",
@@ -557,9 +557,9 @@
{
"slug": "homebox",
"repo": "sysadminsmedia/homebox",
"version": "v0.23.1",
"version": "v0.24.0",
"pinned": false,
"date": "2026-02-01T22:53:32Z"
"date": "2026-03-03T16:09:55Z"
},
{
"slug": "homepage",
@@ -613,9 +613,9 @@
{
"slug": "jackett",
"repo": "Jackett/Jackett",
"version": "v0.24.1261",
"version": "v0.24.1275",
"pinned": false,
"date": "2026-03-03T05:54:20Z"
"date": "2026-03-04T05:53:40Z"
},
{
"slug": "jellystat",
@@ -669,9 +669,9 @@
{
"slug": "kima-hub",
"repo": "Chevron7Locked/kima-hub",
"version": "v1.6.0",
"version": "v1.6.1",
"pinned": false,
"date": "2026-03-02T05:43:31Z"
"date": "2026-03-03T16:13:53Z"
},
{
"slug": "kimai",
@@ -753,9 +753,9 @@
{
"slug": "libretranslate",
"repo": "LibreTranslate/LibreTranslate",
"version": "v1.9.4",
"version": "v1.9.5",
"pinned": false,
"date": "2026-02-24T17:06:05Z"
"date": "2026-03-03T18:25:04Z"
},
{
"slug": "lidarr",
@@ -872,9 +872,9 @@
{
"slug": "metube",
"repo": "alexta69/metube",
"version": "2026.03.02",
"version": "2026.03.03",
"pinned": false,
"date": "2026-03-02T19:19:10Z"
"date": "2026-03-03T19:15:55Z"
},
{
"slug": "miniflux",
@@ -921,9 +921,9 @@
{
"slug": "netbox",
"repo": "netbox-community/netbox",
"version": "v4.5.3",
"version": "v4.5.4",
"pinned": false,
"date": "2026-02-17T15:39:18Z"
"date": "2026-03-03T20:32:16Z"
},
{
"slug": "nextcloud-exporter",
@@ -942,9 +942,9 @@
{
"slug": "nightscout",
"repo": "nightscout/cgm-remote-monitor",
"version": "v15.0.5",
"version": "v15.0.6",
"pinned": false,
"date": "2026-03-01T21:22:37Z"
"date": "2026-03-03T23:04:35Z"
},
{
"slug": "nocodb",
@@ -1229,9 +1229,9 @@
{
"slug": "pulse",
"repo": "rcourtman/Pulse",
"version": "v5.1.17",
"version": "v5.1.18",
"pinned": false,
"date": "2026-03-02T20:15:31Z"
"date": "2026-03-03T22:09:15Z"
},
{
"slug": "pve-scripts-local",
@@ -1446,9 +1446,9 @@
{
"slug": "sonobarr",
"repo": "Dodelidoo-Labs/sonobarr",
"version": "0.11.0",
"version": "0.12.1",
"pinned": false,
"date": "2026-01-21T19:07:21Z"
"date": "2026-03-03T13:43:02Z"
},
{
"slug": "speedtest-tracker",
@@ -1467,9 +1467,9 @@
{
"slug": "sportarr",
"repo": "Sportarr/Sportarr",
"version": "v4.0.983.1057",
"version": "v4.0.985.1060",
"pinned": false,
"date": "2026-01-26T18:54:50Z"
"date": "2026-03-04T01:00:04Z"
},
{
"slug": "stirling-pdf",
@@ -1579,9 +1579,9 @@
{
"slug": "tracearr",
"repo": "connorgallopo/Tracearr",
"version": "v1.4.19",
"version": "v1.4.21",
"pinned": false,
"date": "2026-02-28T21:25:47Z"
"date": "2026-03-03T18:43:20Z"
},
{
"slug": "tracktor",
@@ -1649,9 +1649,9 @@
{
"slug": "upgopher",
"repo": "wanetty/upgopher",
"version": "v1.14.0",
"version": "v1.15.2",
"pinned": false,
"date": "2026-02-24T22:43:34Z"
"date": "2026-03-03T13:40:45Z"
},
{
"slug": "upsnap",
@@ -1740,9 +1740,9 @@
{
"slug": "wealthfolio",
"repo": "afadil/wealthfolio",
"version": "v3.0.2",
"version": "v3.0.3",
"pinned": false,
"date": "2026-03-03T05:01:49Z"
"date": "2026-03-03T21:47:55Z"
},
{
"slug": "web-check",

View File

@@ -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": [
{

View File

@@ -13,6 +13,10 @@ setting_up_container
network_check
update_os
msg_info "Installing Dependencies"
$STD apt install -y build-essential
msg_ok "Installed Dependencies"
NODE_VERSION="24" setup_nodejs
msg_info "Setup Cross-Seed"

View File

@@ -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

View File

@@ -20,10 +20,33 @@ $STD apt install -y \
zstd
msg_ok "Installed Dependencies"
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
# ══════════════════════════════════════════════════════════════════════════════
# 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
Types: deb
URIs: https://repositories.intel.com/gpu/ubuntu
Suites: jammy
@@ -31,37 +54,56 @@ 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"
$STD apt update
msg_ok "Set up Intel® Repositories"
fi
setup_hwaccel
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"
# ══════════════════════════════════════════════════════════════════════════════
# 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® oneAPI Base Toolkit (Patience)"
$STD apt install -y --no-install-recommends intel-basekit-2024.1
msg_ok "Installed Intel® oneAPI Base Toolkit"
fi
# ══════════════════════════════════════════════════════════════════════════════
# 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 Ollama (Patience)"
RELEASE=$(curl -fsSL https://api.github.com/repos/ollama/ollama/releases/latest | grep "tag_name" | awk -F '"' '{print $4}')
@@ -104,11 +146,24 @@ 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

@@ -38,6 +38,12 @@ 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"
@@ -126,7 +132,10 @@ cat <<EOF >/etc/apache2/sites-enabled/poweradmin.conf
EOF
$STD a2enmod rewrite headers
chown -R www-data:www-data /opt/poweradmin
$STD systemctl restart apache2
chown pdns:pdns /opt/poweradmin/powerdns.db
chmod 664 /opt/poweradmin/powerdns.db
usermod -aG pdns www-data
$STD systemctl restart pdns apache2
msg_info "Created Service"
motd_ssh

View File

@@ -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_verbose var_vlan var_ssh var_ssh_authorized_key var_container_storage var_template_storage var_searchdomain
)
# Whitelist check helper
@@ -3620,13 +3620,13 @@ $PCT_OPTIONS_STRING"
# Add storage if specified
if [ -n "$SD" ]; then
PCT_OPTIONS_STRING="$PCT_OPTIONS_STRING
$SD"
-searchdomain $SD"
fi
# Add nameserver if specified
if [ -n "$NS" ]; then
PCT_OPTIONS_STRING="$PCT_OPTIONS_STRING
$NS"
-nameserver $NS"
fi
# Network configuration
@@ -3738,6 +3738,11 @@ $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,9 +4451,36 @@ _setup_amd_gpu() {
fi
# Ubuntu includes AMD firmware in linux-firmware by default
# ROCm for compute (optional - large download)
# Uncomment if needed:
# $STD apt -y install rocm-opencl-runtime 2>/dev/null || true
# 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
msg_ok "AMD GPU configured"
}