Compare commits

...

2 Commits

Author SHA1 Message Date
MickLesk
be029ef0c4 LocalAI: pin the CPU backends when the container has no GPU runtime
LocalAI resolves meta backends from the GPU vendor it reads out of sysfs,
which is the host's card even with no driver installed in the container,
so llama-cpp became cuda12-llama-cpp and never started (#17908). Force
the default capability unless a CUDA, ROCm or Level Zero runtime is
present; update adds the pin to existing installs.
2026-10-13 16:33:22 +02:00
community-scripts-pr-app[bot]
82a6154ea9 Update CHANGELOG.md (#17906)
Some checks are pending
Create Changelog Pull Request / update-changelog-pull-request (push) Waiting to run
Set state to is_deleted in pocketbase / delete-pocketbase-entry (push) Waiting to run
Sync ct/install to Incus / dispatch (push) Waiting to run
Update script timestamp on .sh changes / update-script-timestamp (push) Waiting to run
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-13 08:53:21 +00:00
3 changed files with 19 additions and 0 deletions

View File

@@ -576,6 +576,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- zammad: Debian 13, new apt repo, Elasticsearch 8 [@durzo](https://github.com/durzo) ([#17836](https://github.com/community-scripts/ProxmoxVE/pull/17836))
### 💾 Core
- Keep the version key parseable by jq 1.6 [@MickLesk](https://github.com/MickLesk) ([core#134](https://github.com/community-scripts/core/pull/134))
## 2026-10-12
### 🆕 New Scripts

View File

@@ -37,6 +37,15 @@ function update_script() {
exit
fi
# Older installs have no CPU pin; on a host with a GPU but no driver in the
# container every model then ends in "backend not found".
if ! grep -q '^LOCALAI_FORCE_META_BACKEND_CAPABILITY=' /opt/localai.env 2>/dev/null &&
! ldconfig -p 2>/dev/null | grep -qE 'libcuda[.]so|libamdhip64[.]so|libze_intel_gpu[.]so|libze_loader[.]so'; then
echo "LOCALAI_FORCE_META_BACKEND_CAPABILITY=default" >>/opt/localai.env
systemctl restart localai
msg_ok "Pinned LocalAI to the CPU backends (no GPU runtime in the container)"
fi
if check_for_gh_release "localai" "mudler/LocalAI"; then
msg_info "Stopping Service"
systemctl stop localai

View File

@@ -39,6 +39,12 @@ LOCALAI_MODELS_PATH=/opt/localai_data/models
LOCALAI_BACKENDS_PATH=/opt/localai_data/backends
LOCALAI_LOG_LEVEL=info
EOF
# LocalAI picks the backend variant from the GPU it sees in sysfs, which is the
# host's card even when no driver was installed in here, and a CUDA/ROCm/SYCL
# backend then never starts. Pin the CPU variants unless a runtime is present.
if ! ldconfig -p 2>/dev/null | grep -qE 'libcuda[.]so|libamdhip64[.]so|libze_intel_gpu[.]so|libze_loader[.]so'; then
echo "LOCALAI_FORCE_META_BACKEND_CAPABILITY=default" >>/opt/localai.env
fi
# LocalAI refuses to start on a wildcard bind with nothing to identify callers,
# and binding the wildcard is what makes the container reachable at all.
if [[ "$var_auth" == "yes" ]]; then