mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-03-04 18:05:58 +01:00
Compare commits
15 Commits
feat/ollam
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4855fdb50d | ||
|
|
4dbb536922 | ||
|
|
154f46d6b8 | ||
|
|
bb8ac9696f | ||
|
|
41b5e5d8b9 | ||
|
|
e07b2325c1 | ||
|
|
8c9c85c1c7 | ||
|
|
2d38e509f0 | ||
|
|
4396108113 | ||
|
|
f82c15ca98 | ||
|
|
1a09b112b6 | ||
|
|
c70c488648 | ||
|
|
91db277446 | ||
|
|
35ce20391c | ||
|
|
783ba03e92 |
12
CHANGELOG.md
12
CHANGELOG.md
@@ -416,14 +416,24 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- fix: gitea-mirror [@CrazyWolf13](https://github.com/CrazyWolf13) ([#12549](https://github.com/community-scripts/ProxmoxVE/pull/12549))
|
||||
- fix(immich): correct LibRaw clone URL to official upstream [@DenislavDenev](https://github.com/DenislavDenev) ([#12526](https://github.com/community-scripts/ProxmoxVE/pull/12526))
|
||||
- update: stirling-pdf: java 25 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#12552](https://github.com/community-scripts/ProxmoxVE/pull/12552))
|
||||
- Docmost: register NoopAuditService globally when EE submodule is missing [@MickLesk](https://github.com/MickLesk) ([#12551](https://github.com/community-scripts/ProxmoxVE/pull/12551))
|
||||
- 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))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Fluid-Calendar: NodeJS bump [@tremor021](https://github.com/tremor021) ([#12558](https://github.com/community-scripts/ProxmoxVE/pull/12558))
|
||||
- Refactor: LiteLLM [@tremor021](https://github.com/tremor021) ([#12550](https://github.com/community-scripts/ProxmoxVE/pull/12550))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- #### 🐞 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
|
||||
|
||||
@@ -48,6 +48,17 @@ function update_script() {
|
||||
cd /opt/docmost
|
||||
mv /opt/.env /opt/docmost/.env
|
||||
mv /opt/data /opt/docmost/data
|
||||
|
||||
# Fix: Docmost EE (audit logs etc.) lives in a git submodule that is NOT
|
||||
# included in GitHub tarballs. The community NoopAuditService exists but
|
||||
# is only exported by CoreModule – child modules such as UserModule cannot
|
||||
# resolve it. Making CoreModule @Global() exposes the token app-wide.
|
||||
if [[ ! -f /opt/docmost/apps/server/src/ee/ee.module.ts ]] \
|
||||
&& ! grep -q '@Global()' /opt/docmost/apps/server/src/core/core.module.ts 2>/dev/null; then
|
||||
sed -i '/^ Module,$/a\ Global,' /opt/docmost/apps/server/src/core/core.module.ts
|
||||
sed -i '/^@Module({$/i @Global()' /opt/docmost/apps/server/src/core/core.module.ts
|
||||
fi
|
||||
|
||||
$STD pnpm install --force
|
||||
$STD pnpm build
|
||||
msg_ok "Updated ${APP}"
|
||||
|
||||
@@ -28,6 +28,9 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
NODE_VERSION="24" setup_nodejs
|
||||
|
||||
if check_for_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"; then
|
||||
msg_info "Stopping Service"
|
||||
systemctl stop fluid-calendar
|
||||
@@ -45,7 +48,7 @@ function update_script() {
|
||||
$STD npx prisma migrate deploy
|
||||
$STD npm run build:os
|
||||
msg_ok "Updated Fluid Calendar"
|
||||
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start fluid-calendar
|
||||
msg_ok "Started Service"
|
||||
|
||||
@@ -87,6 +87,8 @@ EOF
|
||||
msg_ok "Old Enviroment fixed"
|
||||
fi
|
||||
|
||||
ensure_dependencies git
|
||||
|
||||
if check_for_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"; then
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop gitea-mirror
|
||||
@@ -94,7 +96,7 @@ EOF
|
||||
|
||||
msg_info "Backup Data"
|
||||
mkdir -p /opt/gitea-mirror-backup/data
|
||||
cp /opt/gitea-mirror/data/* /opt/gitea-mirror-backup/data/
|
||||
cp -r /opt/gitea-mirror/data/* /opt/gitea-mirror-backup/data/
|
||||
msg_ok "Backup Data"
|
||||
|
||||
msg_info "Installing Bun"
|
||||
@@ -111,12 +113,11 @@ EOF
|
||||
$STD bun run setup
|
||||
$STD bun run build
|
||||
APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4)
|
||||
|
||||
sudo sed -i.bak "s|^npm_package_version=.*|npm_package_version=${APP_VERSION}|" /opt/gitea-mirror.env
|
||||
sed -i.bak "s|^npm_package_version=.*|npm_package_version=${APP_VERSION}|" /opt/gitea-mirror.env
|
||||
msg_ok "Updated and rebuilt ${APP}"
|
||||
|
||||
msg_info "Restoring Data"
|
||||
cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data
|
||||
cp -r /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data
|
||||
msg_ok "Restored Data"
|
||||
|
||||
msg_info "Starting Service"
|
||||
|
||||
@@ -34,7 +34,7 @@ function update_script() {
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
VENV_PATH="/opt/litellm/.venv"
|
||||
PYTHON_VERSION="3.13" setup_uv
|
||||
PYTHON_VERSION="3.13" USE_UVX="YES" setup_uv
|
||||
|
||||
msg_info "Updating LiteLLM"
|
||||
$STD "$VENV_PATH/bin/python" -m pip install --upgrade litellm[proxy] prisma
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated": "2026-03-04T06:16:35Z",
|
||||
"generated": "2026-03-04T12:11:17Z",
|
||||
"versions": [
|
||||
{
|
||||
"slug": "2fauth",
|
||||
@@ -314,7 +314,7 @@
|
||||
"repo": "Hosteroid/domain-monitor",
|
||||
"version": "v1.1.4",
|
||||
"pinned": false,
|
||||
"date": "2026-03-02T09:25:01Z"
|
||||
"date": ""
|
||||
},
|
||||
{
|
||||
"slug": "donetick",
|
||||
@@ -382,9 +382,9 @@
|
||||
{
|
||||
"slug": "firefly",
|
||||
"repo": "firefly-iii/firefly-iii",
|
||||
"version": "v6.5.2",
|
||||
"version": "v6.5.3",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T05:42:27Z"
|
||||
"date": "2026-03-04T06:53:02Z"
|
||||
},
|
||||
{
|
||||
"slug": "fladder",
|
||||
@@ -438,9 +438,9 @@
|
||||
{
|
||||
"slug": "ghostfolio",
|
||||
"repo": "ghostfolio/ghostfolio",
|
||||
"version": "2.246.0",
|
||||
"version": "2.247.0",
|
||||
"pinned": false,
|
||||
"date": "2026-03-03T19:37:20Z"
|
||||
"date": "2026-03-04T07:48:00Z"
|
||||
},
|
||||
{
|
||||
"slug": "gitea",
|
||||
@@ -503,7 +503,7 @@
|
||||
"repo": "grocy/grocy",
|
||||
"version": "v4.5.0",
|
||||
"pinned": false,
|
||||
"date": "2025-03-28T19:02:22Z"
|
||||
"date": ""
|
||||
},
|
||||
{
|
||||
"slug": "guardian",
|
||||
@@ -613,9 +613,9 @@
|
||||
{
|
||||
"slug": "jackett",
|
||||
"repo": "Jackett/Jackett",
|
||||
"version": "v0.24.1275",
|
||||
"version": "v0.24.1278",
|
||||
"pinned": false,
|
||||
"date": "2026-03-04T05:53:40Z"
|
||||
"date": "2026-03-04T08:36:49Z"
|
||||
},
|
||||
{
|
||||
"slug": "jellystat",
|
||||
@@ -690,9 +690,9 @@
|
||||
{
|
||||
"slug": "koel",
|
||||
"repo": "koel/koel",
|
||||
"version": "v8.3.0",
|
||||
"version": "v8.3.1",
|
||||
"pinned": false,
|
||||
"date": "2026-01-08T21:32:58Z"
|
||||
"date": "2026-03-04T08:22:06Z"
|
||||
},
|
||||
{
|
||||
"slug": "koillection",
|
||||
@@ -1474,9 +1474,9 @@
|
||||
{
|
||||
"slug": "stirling-pdf",
|
||||
"repo": "Stirling-Tools/Stirling-PDF",
|
||||
"version": "v2.5.3",
|
||||
"version": "v2.6.0",
|
||||
"pinned": false,
|
||||
"date": "2026-02-23T23:23:39Z"
|
||||
"date": "2026-03-03T20:46:42Z"
|
||||
},
|
||||
{
|
||||
"slug": "streamlink-webui",
|
||||
@@ -1607,9 +1607,9 @@
|
||||
{
|
||||
"slug": "trip",
|
||||
"repo": "itskovacs/TRIP",
|
||||
"version": "1.41.0",
|
||||
"version": "1.41.1",
|
||||
"pinned": false,
|
||||
"date": "2026-02-23T17:57:31Z"
|
||||
"date": "2026-03-04T07:25:35Z"
|
||||
},
|
||||
{
|
||||
"slug": "tududi",
|
||||
@@ -1719,9 +1719,9 @@
|
||||
{
|
||||
"slug": "watcharr",
|
||||
"repo": "sbondCo/Watcharr",
|
||||
"version": "v2.1.1",
|
||||
"version": "v3.0.0",
|
||||
"pinned": false,
|
||||
"date": "2025-07-15T22:38:01Z"
|
||||
"date": "2026-03-04T09:29:14Z"
|
||||
},
|
||||
{
|
||||
"slug": "watchyourlan",
|
||||
|
||||
@@ -26,6 +26,17 @@ fetch_and_deploy_gh_release "docmost" "docmost/docmost" "tarball"
|
||||
|
||||
msg_info "Configuring Docmost (Patience)"
|
||||
cd /opt/docmost
|
||||
|
||||
# Fix: Docmost EE (audit logs etc.) lives in a git submodule that is NOT
|
||||
# included in GitHub tarballs. The community NoopAuditService exists but
|
||||
# is only exported by CoreModule – child modules such as UserModule cannot
|
||||
# resolve it. Making CoreModule @Global() exposes the token app-wide.
|
||||
if [[ ! -f /opt/docmost/apps/server/src/ee/ee.module.ts ]] \
|
||||
&& ! grep -q '@Global()' /opt/docmost/apps/server/src/core/core.module.ts 2>/dev/null; then
|
||||
sed -i '/^ Module,$/a\ Global,' /opt/docmost/apps/server/src/core/core.module.ts
|
||||
sed -i '/^@Module({$/i @Global()' /opt/docmost/apps/server/src/core/core.module.ts
|
||||
fi
|
||||
|
||||
mv .env.example .env
|
||||
mkdir data
|
||||
sed -i -e "s|APP_SECRET=.*|APP_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)|" \
|
||||
|
||||
@@ -19,7 +19,7 @@ msg_ok "Installed Dependencies"
|
||||
|
||||
PG_VERSION="17" setup_postgresql
|
||||
PG_DB_NAME="fluiddb" PG_DB_USER="fluiduser" setup_postgresql_db
|
||||
NODE_VERSION="20" setup_nodejs
|
||||
NODE_VERSION="24" setup_nodejs
|
||||
fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar" "tarball"
|
||||
|
||||
msg_info "Configuring fluid-calendar"
|
||||
|
||||
@@ -18,7 +18,8 @@ $STD apt install -y \
|
||||
build-essential \
|
||||
openssl \
|
||||
sqlite3 \
|
||||
unzip
|
||||
unzip \
|
||||
git
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing Bun"
|
||||
|
||||
@@ -20,24 +20,8 @@ $STD apt install -y \
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
PG_VERSION="17" setup_postgresql
|
||||
PYTHON_VERSION="3.13" setup_uv
|
||||
|
||||
msg_info "Setting up PostgreSQL"
|
||||
DB_NAME="litellm_db"
|
||||
DB_USER="litellm"
|
||||
DB_PASS="$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)"
|
||||
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
|
||||
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER ENCODING 'UTF8' TEMPLATE template0;"
|
||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET client_encoding TO 'utf8';"
|
||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET default_transaction_isolation TO 'read committed';"
|
||||
$STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
|
||||
{
|
||||
echo "${APPLICATION} Credentials"
|
||||
echo "Database Name: $DB_NAME"
|
||||
echo "Database User: $DB_USER"
|
||||
echo "Database Password: $DB_PASS"
|
||||
} >>~/litellm.creds
|
||||
msg_ok "Set up PostgreSQL"
|
||||
PG_DB_NAME="litellm_db" PG_DB_USER="litellm" setup_postgresql_db
|
||||
PYTHON_VERSION="3.13" USE_UVX="YES" setup_uv
|
||||
|
||||
msg_info "Setting up Virtual Environment"
|
||||
mkdir -p /opt/litellm
|
||||
@@ -53,10 +37,9 @@ mkdir -p /opt
|
||||
cat <<EOF >/opt/litellm/litellm.yaml
|
||||
general_settings:
|
||||
master_key: sk-1234
|
||||
database_url: postgresql://$DB_USER:$DB_PASS@127.0.0.1:5432/$DB_NAME
|
||||
database_url: postgresql://$PG_DB_USER:$PG_DB_PASS@127.0.0.1:5432/$PG_DB_NAME
|
||||
store_model_in_db: true
|
||||
EOF
|
||||
|
||||
uv --directory=/opt/litellm run litellm --config /opt/litellm/litellm.yaml --use_prisma_db_push --skip_server_startup
|
||||
msg_ok "Configured LiteLLM"
|
||||
|
||||
@@ -73,7 +56,6 @@ Restart=always
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl enable -q --now litellm
|
||||
msg_ok "Created Service"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user