From 63e2ce0849a3939640dc91b391df9f3a61a1fd70 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Sun, 4 Oct 2026 14:03:24 +0200 Subject: [PATCH] immich: read the Intel runtime from the pinned release (#17677) The URLs came from the ML Dockerfile on main, which upstream moved into scripts/install-intel-runtime.sh, so update failed on the grep and OpenVINO installs found no packages. --- ct/immich.sh | 19 ++++++++++--------- install/immich-install.sh | 13 +++++++------ 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/ct/immich.sh b/ct/immich.sh index 7d9e85fb7..a6a51e118 100644 --- a/ct/immich.sh +++ b/ct/immich.sh @@ -77,14 +77,17 @@ EOF BASE_DIR=${STAGING_DIR}/base-images SOURCE_DIR=${STAGING_DIR}/image-source cd /tmp + RELEASE="v3.2.4" if [[ -f ~/.intel_version ]]; then - curl_with_retry "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/machine-learning/Dockerfile" "Dockerfile" - readarray -t INTEL_URLS < <( - sed -n "/intel-[igc|opencl]/p" ./Dockerfile | awk '{print $3}' - sed -n "/libigdgmm12/p" ./Dockerfile | awk '{print $3}' - ) - INTEL_RELEASE="$(grep "intel-opencl-icd_" ./Dockerfile | awk -F '_' '{print $2}')" - if [[ "$INTEL_RELEASE" != "$(cat ~/.intel_version)" ]]; then + INTEL_SRC="https://raw.githubusercontent.com/immich-app/immich/${RELEASE}/machine-learning" + curl -fsSL "${INTEL_SRC}/scripts/install-intel-runtime.sh" -o ./intel-runtime 2>/dev/null || + curl_with_retry "${INTEL_SRC}/Dockerfile" "./intel-runtime" + readarray -t INTEL_URLS < <(grep -oE 'https://github\.com/intel/[^[:space:]]+\.deb' ./intel-runtime) + INTEL_RELEASE="$(grep -oE 'intel-opencl-icd_[^_]+' ./intel-runtime | cut -d_ -f2)" || true + rm -f ./intel-runtime + if [[ -z "$INTEL_RELEASE" ]]; then + msg_warn "No Intel runtime found for Immich ${RELEASE}, keeping the installed one" + elif [[ "$INTEL_RELEASE" != "$(cat ~/.intel_version)" ]]; then msg_info "Updating Intel OpenVINO dependencies" for url in "${INTEL_URLS[@]}"; do curl_with_retry "$url" "$(basename "$url")" @@ -96,7 +99,6 @@ EOF rm ./*.deb $STD apt-mark hold libigdgmm12 dpkg-query -W -f='${Version}\n' intel-opencl-icd >~/.intel_version - rm -f ./Dockerfile msg_ok "Updated Intel OpenVINO dependencies" fi fi @@ -112,7 +114,6 @@ EOF msg_ok "Image-processing libraries up to date" fi - RELEASE="v3.2.4" if check_for_gh_release "Immich" "immich-app/immich" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then if [[ $(cat ~/.immich) > "2.5.1" ]]; then msg_info "Enabling Maintenance Mode" diff --git a/install/immich-install.sh b/install/immich-install.sh index ea4ec53a6..d765df9dc 100644 --- a/install/immich-install.sh +++ b/install/immich-install.sh @@ -13,6 +13,7 @@ setting_up_container network_check update_os +RELEASE="v3.2.4" if lscpu | grep -q 'GenuineIntel'; then echo "" echo "" @@ -33,11 +34,11 @@ if lscpu | grep -q 'GenuineIntel'; then msg_info "Installing Intel OpenVINO dependencies" tmp_dir=$(mktemp -d) $STD pushd "$tmp_dir" - curl_with_retry "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/machine-learning/Dockerfile" "Dockerfile" - readarray -t INTEL_URLS < <( - sed -n "/intel-[igc|opencl]/p" ./Dockerfile | awk '{print $3}' - sed -n "/libigdgmm12/p" ./Dockerfile | awk '{print $3}' - ) + INTEL_SRC="https://raw.githubusercontent.com/immich-app/immich/${RELEASE}/machine-learning" + curl -fsSL "${INTEL_SRC}/scripts/install-intel-runtime.sh" -o ./intel-runtime 2>/dev/null || + curl_with_retry "${INTEL_SRC}/Dockerfile" "./intel-runtime" + readarray -t INTEL_URLS < <(grep -oE 'https://github\.com/intel/[^[:space:]]+\.deb' ./intel-runtime) + rm -f ./intel-runtime for url in "${INTEL_URLS[@]}"; do curl_with_retry "$url" "$(basename "$url")" done @@ -353,7 +354,7 @@ ML_DIR="${APP_DIR}/machine-learning" GEO_DIR="${INSTALL_DIR}/geodata" mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache} -fetch_and_deploy_gh_release "Immich" "immich-app/immich" "tarball" "v3.2.4" "$SRC_DIR" +fetch_and_deploy_gh_release "Immich" "immich-app/immich" "tarball" "${RELEASE}" "$SRC_DIR" PNPM_VERSION="$(jq -r '.packageManager | split("@")[1] | split("+")[0]' ${SRC_DIR}/package.json)" export COREPACK_ENABLE_DOWNLOAD_PROMPT=0 NODE_VERSION="24" NODE_MODULE="corepack" setup_nodejs