From a096fa19bea698834f440888a5e1163328cd543d Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 20 Mar 2026 09:14:24 -0400 Subject: [PATCH] Immich: v2.6.1 (#13111) --- ct/immich.sh | 13 +++++----- install/immich-install.sh | 53 ++++++++++++++++++++------------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/ct/immich.sh b/ct/immich.sh index d403fc2da..89f0bf09c 100644 --- a/ct/immich.sh +++ b/ct/immich.sh @@ -83,7 +83,7 @@ EOF ) INTEL_RELEASE="$(grep "intel-opencl-icd_" ./Dockerfile | awk -F '_' '{print $2}')" if [[ "$INTEL_RELEASE" != "$(cat ~/.intel_version)" ]]; then - msg_info "Updating Intel iGPU dependencies" + msg_info "Updating Intel OpenVINO dependencies" for url in "${INTEL_URLS[@]}"; do curl_with_retry "$url" "$(basename "$url")" done @@ -94,10 +94,10 @@ EOF rm ./*.deb $STD apt-mark hold libigdgmm12 dpkg-query -W -f='${Version}\n' intel-opencl-icd >~/.intel_version - msg_ok "Intel iGPU dependencies updated" + msg_ok "Updated Intel OpenVINO dependencies" fi - rm ./Dockerfile fi + rm ./Dockerfile if [[ -f ~/.immich_library_revisions ]]; then libraries=("libjxl" "libheif" "libraw" "imagemagick" "libvips") cd "$BASE_DIR" @@ -109,7 +109,7 @@ EOF msg_ok "Image-processing libraries up to date" fi - RELEASE="v2.5.6" + RELEASE="v2.6.1" 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" @@ -226,14 +226,13 @@ EOF [[ $attempt -lt 3 ]] && msg_warn "Python download attempt $attempt failed, retrying..." && sleep 5 done msg_ok "Pre-installed Python ${ML_PYTHON}" - msg_info "Updating HW-accelerated machine-learning" - $STD uv add --no-sync --optional openvino onnxruntime-openvino==1.24.1 --active -n -p "${ML_PYTHON}" --managed-python + msg_info "Updating Intel OpenVINO machine-learning" for attempt in $(seq 1 3); do $STD sudo --preserve-env=VIRTUAL_ENV,UV_HTTP_TIMEOUT -nu immich uv sync --extra openvino --no-dev --active --link-mode copy -n -p "${ML_PYTHON}" --managed-python && break [[ $attempt -lt 3 ]] && msg_warn "uv sync attempt $attempt failed, retrying..." && sleep 10 done patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.13/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-313-x86_64-linux-gnu.so" - msg_ok "Updated HW-accelerated machine-learning" + msg_ok "Updated Intel OpenVINO machine-learning" else ML_PYTHON="python3.11" msg_info "Pre-installing Python ${ML_PYTHON} for machine-learning" diff --git a/install/immich-install.sh b/install/immich-install.sh index 6f4b94f0d..4a287668e 100644 --- a/install/immich-install.sh +++ b/install/immich-install.sh @@ -13,41 +13,43 @@ setting_up_container network_check update_os -if [ -d /dev/dri ]; then +if lscpu | grep -q 'GenuineIntel'; then echo "" echo "" - echo -e "🤖 ${BL}Immich Machine Learning Options${CL}" + echo -e "🤖 ${BL}Immich Machine-Learning Options${CL}" echo "─────────────────────────────────────────" echo "Please choose your machine-learning type:" echo "" echo " 1) CPU only (default)" - echo " 2) Intel OpenVINO (requires GPU passthrough)" + echo " 2) **NEW** Intel OpenVINO CPU or iGPU" echo "" read -r -p "${TAB3}Select machine-learning type [1]: " ML_TYPE ML_TYPE="${ML_TYPE:-1}" if [[ "$ML_TYPE" == "2" ]]; then - msg_info "Installing OpenVINO dependencies" touch ~/.openvino $STD apt install -y --no-install-recommends patchelf - 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}' - ) - for url in "${INTEL_URLS[@]}"; do - curl_with_retry "$url" "$(basename "$url")" - done - $STD apt install -y ./libigdgmm12*.deb - rm ./libigdgmm12*.deb - $STD apt install -y ./*.deb - $STD apt-mark hold libigdgmm12 - $STD popd - rm -rf "$tmp_dir" - dpkg-query -W -f='${Version}\n' intel-opencl-icd >~/.intel_version - msg_ok "Installed OpenVINO dependencies" + if [[ -d /dev/dri ]]; 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}' + ) + for url in "${INTEL_URLS[@]}"; do + curl_with_retry "$url" "$(basename "$url")" + done + $STD apt install -y ./libigdgmm12*.deb + rm ./libigdgmm12*.deb + $STD apt install -y ./*.deb + $STD apt-mark hold libigdgmm12 + $STD popd + rm -rf "$tmp_dir" + dpkg-query -W -f='${Version}\n' intel-opencl-icd >~/.intel_version + msg_ok "Installed Intel OpenVINO dependencies" + fi fi fi @@ -293,7 +295,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" "v2.5.6" "$SRC_DIR" +fetch_and_deploy_gh_release "Immich" "immich-app/immich" "tarball" "v2.6.1" "$SRC_DIR" PNPM_VERSION="$(jq -r '.packageManager | split("@")[1] | split("+")[0]' ${SRC_DIR}/package.json)" NODE_VERSION="24" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs @@ -353,14 +355,13 @@ if [[ -f ~/.openvino ]]; then [[ $attempt -lt 3 ]] && msg_warn "Python download attempt $attempt failed, retrying..." && sleep 5 done msg_ok "Pre-installed Python ${ML_PYTHON}" - msg_info "Installing HW-accelerated machine-learning" - $STD uv add --no-sync --optional openvino onnxruntime-openvino==1.24.1 --active -n -p "${ML_PYTHON}" --managed-python + msg_info "Installing Intel OpenVINO machine-learning" for attempt in $(seq 1 3); do $STD sudo --preserve-env=VIRTUAL_ENV,UV_HTTP_TIMEOUT -nu immich uv sync --extra openvino --no-dev --active --link-mode copy -n -p "${ML_PYTHON}" --managed-python && break [[ $attempt -lt 3 ]] && msg_warn "uv sync attempt $attempt failed, retrying..." && sleep 10 done patchelf --clear-execstack "${VIRTUAL_ENV}/lib/python3.13/site-packages/onnxruntime/capi/onnxruntime_pybind11_state.cpython-313-x86_64-linux-gnu.so" - msg_ok "Installed HW-accelerated machine-learning" + msg_ok "Installed Intel OpenVINO machine-learning" else ML_PYTHON="python3.11" msg_info "Pre-installing Python ${ML_PYTHON} for machine-learning"