From 36bf5cb57e5829b6398317b8a4551c55ae3cae48 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 4 Feb 2026 08:48:18 -0500 Subject: [PATCH 01/14] Immich: pin version to 2.5.3 (#11515) * Immich: pin version to 2.5.3 [FIX] Immich: only show OpenVINO menu if `/dev/dri` detected * Grab pnpm version from release package.json --- ct/immich.sh | 9 ++--- install/immich-install.sh | 77 ++++++++++++++++++++------------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/ct/immich.sh b/ct/immich.sh index f79cca3b8..5e9937cb4 100644 --- a/ct/immich.sh +++ b/ct/immich.sh @@ -36,10 +36,6 @@ function update_script() { exit fi - setup_uv - PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')" - NODE_VERSION="24" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs - if [[ ! -f /etc/apt/preferences.d/preferences ]]; then msg_info "Adding Debian Testing repo" sed -i 's/ trixie-updates/ trixie-updates testing/g' /etc/apt/sources.list.d/debian.sources @@ -109,7 +105,7 @@ EOF msg_ok "Image-processing libraries up to date" fi - RELEASE="2.5.2" + RELEASE="2.5.3" if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then if [[ $(cat ~/.immich) > "2.5.1" ]]; then msg_info "Enabling Maintenance Mode" @@ -164,7 +160,10 @@ EOF rm -rf "${APP_DIR:?}"/* ) + setup_uv CLEAN_INSTALL=1 fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v${RELEASE}" "$SRC_DIR" + PNPM_VERSION="$(jq -r '.packageManager | split("@")[1]' ${SRC_DIR}/package.json)" + NODE_VERSION="24" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs msg_info "Updating Immich web and microservices" cd "$SRC_DIR"/server diff --git a/install/immich-install.sh b/install/immich-install.sh index b86058c12..16fb9aad3 100644 --- a/install/immich-install.sh +++ b/install/immich-install.sh @@ -13,44 +13,44 @@ setting_up_container network_check update_os -echo "" -echo "" -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 "" +if [ -d /dev/dri ]; then + echo "" + echo "" + 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 "" -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 -fsSLO https://raw.githubusercontent.com/immich-app/base-images/refs/heads/main/server/Dockerfile - readarray -t INTEL_URLS < <( - sed -n "/intel-[igc|opencl]/p" ./Dockerfile | awk '{print $2}' - sed -n "/libigdgmm12/p" ./Dockerfile | awk '{print $3}' - ) - for url in "${INTEL_URLS[@]}"; do - curl -fsSLO "$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" + 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 -fsSLO https://raw.githubusercontent.com/immich-app/base-images/refs/heads/main/server/Dockerfile + readarray -t INTEL_URLS < <( + sed -n "/intel-[igc|opencl]/p" ./Dockerfile | awk '{print $2}' + sed -n "/libigdgmm12/p" ./Dockerfile | awk '{print $3}' + ) + for url in "${INTEL_URLS[@]}"; do + curl -fsSLO "$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" + fi fi -setup_uv - msg_info "Installing dependencies" $STD apt install --no-install-recommends -y \ git \ @@ -144,8 +144,7 @@ msg_info "Installing packages from Debian Testing repo" $STD apt install -t testing --no-install-recommends -yqq libmimalloc3 libde265-dev msg_ok "Installed packages from Debian Testing repo" -PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')" -NODE_VERSION="24" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs +setup_uv PG_VERSION="16" PG_MODULES="pgvector" setup_postgresql VCHORD_RELEASE="0.5.3" @@ -290,7 +289,9 @@ 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.2" "$SRC_DIR" +fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v2.5.3" "$SRC_DIR" +PNPM_VERSION="$(jq -r '.packageManager | split("@")[1]' ${SRC_DIR}/package.json)" +NODE_VERSION="24" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs msg_info "Installing Immich (patience)" From 43044c60f0ed640f9f2007f4a20a611b6b5ad768 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 13:48:50 +0000 Subject: [PATCH 02/14] Update CHANGELOG.md (#11540) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 134674a26..e7d7d4e66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -405,6 +405,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - Wishlist ([#11527](https://github.com/community-scripts/ProxmoxVE/pull/11527)) - WriteFreely ([#11524](https://github.com/community-scripts/ProxmoxVE/pull/11524)) +### 🚀 Updated Scripts + + - #### 🐞 Bug Fixes + + - Immich: pin version to 2.5.3 [@vhsdream](https://github.com/vhsdream) ([#11515](https://github.com/community-scripts/ProxmoxVE/pull/11515)) + ### 💾 Core - #### ✨ New Features From 472439ce6e58f2d7a39def9faf0799a33c3be98b Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 4 Feb 2026 10:19:53 -0500 Subject: [PATCH 03/14] [ADDON] Immich Public Proxy addon (#11518) * [ADDON] Immich Public Proxy * prompt to add Immich IP or domain * fix path * fix immich port * allow localhost * add JSON * Update tools/addon/immich-public-proxy.sh Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com> * NodeJS things --------- Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com> --- frontend/public/json/immich-public-proxy.json | 44 +++ tools/addon/immich-public-proxy.sh | 264 ++++++++++++++++++ 2 files changed, 308 insertions(+) create mode 100644 frontend/public/json/immich-public-proxy.json create mode 100644 tools/addon/immich-public-proxy.sh diff --git a/frontend/public/json/immich-public-proxy.json b/frontend/public/json/immich-public-proxy.json new file mode 100644 index 000000000..73e10f751 --- /dev/null +++ b/frontend/public/json/immich-public-proxy.json @@ -0,0 +1,44 @@ +{ + "name": "Immich Public Proxy", + "slug": "immich-public-proxy", + "categories": [ + 21 + ], + "date_created": "2026-02-04", + "type": "addon", + "updateable": true, + "privileged": false, + "interface_port": 3000, + "documentation": "https://github.com/alangrainger/immich-public-proxy/docs", + "website": "https://github.com/alangrainger/immich-public-proxy", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/immich-public-proxy.webp", + "config_path": "/opt/immich-proxy/app/.env", + "description": "Share your Immich photos and albums in a safe way without exposing your Immich instance to the public.", + "install_methods": [ + { + "type": "default", + "script": "tools/addon/immich-public-proxy.sh", + "resources": { + "cpu": null, + "ram": null, + "hdd": null, + "os": null, + "version": null + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "text": "Requires Node.js 24+", + "type": "info" + }, + { + "text": "Update with: update_immich-public-proxy", + "type": "info" + } + ] +} diff --git a/tools/addon/immich-public-proxy.sh b/tools/addon/immich-public-proxy.sh new file mode 100644 index 000000000..77471722a --- /dev/null +++ b/tools/addon/immich-public-proxy.sh @@ -0,0 +1,264 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2026 community-scripts ORG +# Author: vhsdream +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/alangrainger/immich-public-proxy + +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/core.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/tools.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/error_handler.func) + +# Enable error handling +set -Eeuo pipefail +trap 'error_handler' ERR + +# ============================================================================== +# CONFIGURATION +# ============================================================================== +APP="Immich Public Proxy" +APP_TYPE="addon" +INSTALL_PATH="/opt/immich-proxy" +CONFIG_PATH="/opt/immich-proxy/app" +DEFAULT_PORT=3000 + +# Initialize all core functions (colors, formatting, icons, STD mode) +load_functions + +# ============================================================================== +# HEADER +# ============================================================================== +function header_info { + clear + cat <<"EOF" + ____ _ __ ____ + / _/___ ___ ____ ___ (_)____/ /_ / __ \_________ _ ____ __ + / // __ `__ \/ __ `__ \/ / ___/ __ \______/ /_/ / ___/ __ \| |/_/ / / / + _/ // / / / / / / / / / / / /__/ / / /_____/ ____/ / / /_/ /> /dev/null || true + rm -f "$SERVICE_PATH" + rm -rf "$INSTALL_PATH" + rm -f "/usr/local/bin/update_immich-public-proxy" + rm -f "$HOME/.immichpublicproxy" + msg_ok "${APP} has been uninstalled" +} + +# ============================================================================== +# UPDATE +# ============================================================================== +function update() { + if check_for_gh_release "Immich Public Proxy" "alangrainger/immich-public-proxy"; then + msg_info "Stopping service" + systemctl stop immich-proxy.service &>/dev/null || true + msg_ok "Stopped service" + + msg_info "Backing up configuration" + cp "$CONFIG_PATH"/.env /tmp/ipp.env.bak 2>/dev/null || true + cp "$CONFIG_PATH"/config.json /tmp/ipp.config.json.bak 2>/dev/null || true + msg_ok "Backed up configuration" + + NODE_VERSION="24" setup_nodejs + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Immich Public Proxy" "alangrainger/immich-public-proxy" "tarball" "latest" "$INSTALL_PATH" + + msg_info "Restoring configuration" + cp /tmp/ipp.env.bak "$CONFIG_PATH"/.env 2>/dev/null || true + cp /tmp/ipp.config.json.bak "$CONFIG_PATH"/config.json 2>/dev/null || true + rm -f /tmp/ipp.*.bak + msg_ok "Restored configuration" + + msg_info "Installing dependencies" + cd "$CONFIG_PATH" + $STD npm install + msg_ok "Installed dependencies" + + msg_info "Building ${APP}" + $STD npm run build + msg_ok "Built ${APP}" + + msg_info "Starting service" + systemctl start immich-proxy + msg_ok "Started service" + msg_ok "Updated successfully" + exit + fi +} + +# ============================================================================== +# INSTALL +# ============================================================================== +function install() { + NODE_VERSION="24" setup_nodejs + + # Force fresh download by removing version cache + rm -f "$HOME/.immichpublicproxy" + fetch_and_deploy_gh_release "Immich Public Proxy" "alangrainger/immich-public-proxy" "tarball" "latest" "$INSTALL_PATH" + + msg_info "Installing dependencies" + cd "$CONFIG_PATH" + $STD npm install + msg_ok "Installed dependencies" + + msg_info "Building ${APP}" + $STD npm run build + msg_ok "Built ${APP}" + + MAX_ATTEMPTS=3 + attempt=0 + while true; do + attempt=$((attempt + 1)) + read -rp "${TAB3}Enter your LOCAL Immich IP or domain (ex. 192.168.1.100 or immich.local.lan): " DOMAIN + if [[ -z "$DOMAIN" ]]; then + if ((attempt >= MAX_ATTEMPTS)); then + DOMAIN="${LOCAL_IP:-localhost}" + msg_warn "Using fallback: $DOMAIN" + break + fi + msg_warn "Domain cannot be empty! (Attempt $attempt/$MAX_ATTEMPTS)" + elif [[ "$DOMAIN" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then + valid_ip=true + IFS='.' read -ra octets <<<"$DOMAIN" + for octet in "${octets[@]}"; do + if ((octet > 255)); then + valid_ip=false + break + fi + done + if $valid_ip; then + break + else + msg_warn "Invalid IP address!" + fi + elif [[ "$DOMAIN" =~ ^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*\.[a-zA-Z]{2,}$ || "$DOMAIN" == "localhost" ]]; then + break + else + msg_warn "Invalid domain format!" + fi + done + + msg_info "Creating configuration" + cat <"$CONFIG_PATH"/.env +NODE_ENV=production +IMMICH_URL=http://${DOMAIN}:2283 +EOF + chmod 600 "$CONFIG_PATH"/.env + msg_ok "Created configuration" + + msg_info "Creating service" + cat <"$SERVICE_PATH" +[Unit] +Description=Immich Public Proxy +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=${INSTALL_PATH} +EnvironmentFile=${CONFIG_PATH}/.env +ExecStart=/usr/bin/node ${INSTALL_PATH}/app/server.js +Restart=always +RestartSec=10 + +[Install] +WantedBy=multi-user.target +EOF + systemctl enable -q --now immich-proxy + msg_ok "Created and started service" + + # Create update script (simple wrapper that calls this addon with type=update) + msg_info "Creating update script" + cat <<'UPDATEEOF' >/usr/local/bin/update_immich-public-proxy +#!/usr/bin/env bash +# Immich Public Proxy Update Script +type=update bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/immich-public-proxy.sh)" +UPDATEEOF + chmod +x /usr/local/bin/update_immich-public-proxy + msg_ok "Created update script (/usr/local/bin/update_immich-public-proxy)" + + echo "" + msg_ok "${APP} is reachable at: ${BL}http://${LOCAL_IP}:${DEFAULT_PORT}${CL}" + echo "" + msg_warn "Additional configuration is available at '/opt/immich-proxy/app/config.json'" +} + +# ============================================================================== +# MAIN +# ============================================================================== + +# Handle type=update (called from update script) +if [[ "${type:-}" == "update" ]]; then + header_info + if [[ -d "$INSTALL_PATH" && -f "$SERVICE_PATH" ]]; then + update + else + msg_error "${APP} is not installed. Nothing to update." + exit 1 + fi + exit 0 +fi + +header_info +get_lxc_ip + +# Check if already installed +if [[ -d "$INSTALL_PATH" && -f "$SERVICE_PATH" ]]; then + msg_warn "${APP} is already installed." + echo "" + + echo -n "${TAB}Uninstall ${APP}? (y/N): " + read -r uninstall_prompt + if [[ "${uninstall_prompt,,}" =~ ^(y|yes)$ ]]; then + uninstall + exit 0 + fi + + echo -n "${TAB}Update ${APP}? (y/N): " + read -r update_prompt + if [[ "${update_prompt,,}" =~ ^(y|yes)$ ]]; then + update + exit 0 + fi + + msg_warn "No action selected. Exiting." + exit 0 +fi + +# Fresh installation +msg_warn "${APP} is not installed." +echo "" +echo -e "${TAB}${INFO} This will install:" +echo -e "${TAB} - Node.js 24" +echo -e "${TAB} - Immich Public Proxy" +echo "" + +echo -n "${TAB}Install ${APP}? (y/N): " +read -r install_prompt +if [[ "${install_prompt,,}" =~ ^(y|yes)$ ]]; then + install +else + msg_warn "Installation cancelled. Exiting." + exit 0 +fi From 3046eb000dfbdcc97fa3597c065fd4fc598d4207 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 15:20:23 +0000 Subject: [PATCH 04/14] Update CHANGELOG.md (#11542) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7d7d4e66..76e33764c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -417,6 +417,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - core: create vm-core.func from dev [@MickLesk](https://github.com/MickLesk) ([#11528](https://github.com/community-scripts/ProxmoxVE/pull/11528)) +### 🧰 Tools + + - #### ✨ New Features + + - [ADDON] Immich Public Proxy addon [@vhsdream](https://github.com/vhsdream) ([#11518](https://github.com/community-scripts/ProxmoxVE/pull/11518)) + ### 🌐 Website - #### 🐞 Bug Fixes From b025fd049ce6566b68025050c69b5d18b5238c29 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 18:17:43 +0000 Subject: [PATCH 05/14] chore: update github-versions.json (#11544) Co-authored-by: github-actions[bot] --- frontend/public/json/github-versions.json | 26 +++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/frontend/public/json/github-versions.json b/frontend/public/json/github-versions.json index ad8283379..c1e06fe83 100644 --- a/frontend/public/json/github-versions.json +++ b/frontend/public/json/github-versions.json @@ -1,5 +1,5 @@ { - "generated": "2026-02-04T12:11:53Z", + "generated": "2026-02-04T18:17:33Z", "versions": [ { "slug": "2fauth", @@ -256,9 +256,9 @@ { "slug": "docmost", "repo": "docmost/docmost", - "version": "v0.25.0", + "version": "v0.25.1", "pinned": false, - "date": "2026-02-04T00:33:45Z" + "date": "2026-02-04T15:19:51Z" }, { "slug": "domain-locker", @@ -515,9 +515,9 @@ { "slug": "huntarr", "repo": "plexguide/Huntarr.io", - "version": "9.1.11", + "version": "9.1.12", "pinned": false, - "date": "2026-02-04T11:30:25Z" + "date": "2026-02-04T14:28:36Z" }, { "slug": "inspircd", @@ -1096,9 +1096,9 @@ { "slug": "pulse", "repo": "rcourtman/Pulse", - "version": "v5.0.17", + "version": "v5.1.0", "pinned": false, - "date": "2026-01-20T19:07:30Z" + "date": "2026-02-04T17:43:59Z" }, { "slug": "pve-scripts-local", @@ -1271,9 +1271,9 @@ { "slug": "speedtest-tracker", "repo": "alexjustesen/speedtest-tracker", - "version": "v1.13.6", + "version": "v1.13.7", "pinned": false, - "date": "2026-02-03T21:20:51Z" + "date": "2026-02-04T16:47:42Z" }, { "slug": "spoolman", @@ -1369,9 +1369,9 @@ { "slug": "tianji", "repo": "msgbyte/tianji", - "version": "v1.31.9", + "version": "v1.31.10", "pinned": false, - "date": "2026-01-31T18:22:40Z" + "date": "2026-02-04T17:21:04Z" }, { "slug": "traccar", @@ -1411,9 +1411,9 @@ { "slug": "trip", "repo": "itskovacs/TRIP", - "version": "1.38.0", + "version": "1.38.1", "pinned": false, - "date": "2026-01-31T15:56:30Z" + "date": "2026-02-04T18:10:15Z" }, { "slug": "tududi", From 5f31954d9106c903bd4679f972d6cac38b9c07da Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 4 Feb 2026 14:21:30 -0500 Subject: [PATCH 06/14] [FIX] Immich Public Proxy docs link (#11543) --- frontend/public/json/immich-public-proxy.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/immich-public-proxy.json b/frontend/public/json/immich-public-proxy.json index 73e10f751..7eac59dc6 100644 --- a/frontend/public/json/immich-public-proxy.json +++ b/frontend/public/json/immich-public-proxy.json @@ -9,7 +9,7 @@ "updateable": true, "privileged": false, "interface_port": 3000, - "documentation": "https://github.com/alangrainger/immich-public-proxy/docs", + "documentation": "https://github.com/alangrainger/immich-public-proxy/tree/main/docs", "website": "https://github.com/alangrainger/immich-public-proxy", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/immich-public-proxy.webp", "config_path": "/opt/immich-proxy/app/.env", From 868446a4b6e02e27fc1c0d1c0c176e0dcc84894b Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 19:21:53 +0000 Subject: [PATCH 07/14] Update CHANGELOG.md (#11545) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 76e33764c..cd3b91beb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -429,6 +429,10 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - fix(frontend): implement weighted search scoring for command menu [@ls-root](https://github.com/ls-root) ([#11534](https://github.com/community-scripts/ProxmoxVE/pull/11534)) +### ❔ Uncategorized + + - [FIX] Immich Public Proxy docs link [@vhsdream](https://github.com/vhsdream) ([#11543](https://github.com/community-scripts/ProxmoxVE/pull/11543)) + ## 2026-02-03 ### 🆕 New Scripts From 4bd5c7b54b9beb0c6e055f46d745b5d359626660 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 4 Feb 2026 14:57:52 -0500 Subject: [PATCH 08/14] [FIX] Scanopy: ensure Scanopy Daemon update (#11541) - It wasn't updating due to it having the same name as the server - Changed it to 'Scanopy Daemon' - Other small fixes --- ct/scanopy.sh | 19 +++++++++++-------- install/scanopy-install.sh | 6 +++--- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/ct/scanopy.sh b/ct/scanopy.sh index b4806a949..248bf0032 100644 --- a/ct/scanopy.sh +++ b/ct/scanopy.sh @@ -29,7 +29,7 @@ function update_script() { exit fi - if check_for_gh_release "scanopy" "scanopy/scanopy"; then + if check_for_gh_release "Scanopy" "scanopy/scanopy"; then msg_info "Stopping services" systemctl stop scanopy-server [[ -f /etc/systemd/system/scanopy-daemon.service ]] && systemctl stop scanopy-daemon @@ -40,7 +40,7 @@ function update_script() { [[ -f /opt/scanopy/oidc.toml ]] && cp /opt/scanopy/oidc.toml /opt/scanopy.oidc.toml msg_ok "Backed up configurations" - CLEAN_INSTALL=1 fetch_and_deploy_gh_release "scanopy" "scanopy/scanopy" "tarball" "latest" "/opt/scanopy" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "Scanopy" "scanopy/scanopy" "tarball" "latest" "/opt/scanopy" ensure_dependencies pkg-config libssl-dev TOOLCHAIN="$(grep "channel" /opt/scanopy/backend/rust-toolchain.toml | awk -F\" '{print $2}')" @@ -61,19 +61,22 @@ function update_script() { $STD npm run build msg_ok "Created frontend UI" - msg_info "Building scanopy-server (patience)" + msg_info "Building Scanopy Server (patience)" cd /opt/scanopy/backend $STD cargo build --release --bin server mv ./target/release/server /usr/bin/scanopy-server - msg_ok "Built scanopy-server" + msg_ok "Built Scanopy Server" - [[ -f /etc/systemd/system/scanopy-daemon.service ]] && - fetch_and_deploy_gh_release "scanopy" "scanopy/scanopy" "singlefile" "latest" "/usr/local/bin" "scanopy-daemon-linux-amd64" && - rm -f /usr/bin/scanopy-daemon ~/configure_daemon.sh && + if [[ -f /etc/systemd/system/scanopy-daemon.service ]]; then + fetch_and_deploy_gh_release "Scanopy Daemon" "scanopy/scanopy" "singlefile" "latest" "/usr/local/bin" "scanopy-daemon-linux-amd64" + mv "/usr/local/bin/Scanopy Daemon" /usr/local/bin/scanopy-daemon + rm -f /usr/bin/scanopy-daemon ~/configure_daemon.sh sed -i -e 's|usr/bin|usr/local/bin|' \ -e 's/push/daemon_poll/' \ - -e 's/pull/server_poll/' /etc/systemd/system/scanopy-daemon.service && + -e 's/pull/server_poll/' /etc/systemd/system/scanopy-daemon.service systemctl daemon-reload + msg_ok "Updated Scanopy Daemon" + fi msg_info "Starting services" systemctl start scanopy-server diff --git a/install/scanopy-install.sh b/install/scanopy-install.sh index e832bba9b..337b7e588 100644 --- a/install/scanopy-install.sh +++ b/install/scanopy-install.sh @@ -23,7 +23,7 @@ msg_ok "Installed Dependencies" PG_VERSION=17 setup_postgresql NODE_VERSION="24" setup_nodejs PG_DB_NAME="scanopy_db" PG_DB_USER="scanopy" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db -fetch_and_deploy_gh_release "scanopy" "scanopy/scanopy" "tarball" "latest" "/opt/scanopy" +fetch_and_deploy_gh_release "Scanopy" "scanopy/scanopy" "tarball" "latest" "/opt/scanopy" TOOLCHAIN="$(grep "channel" /opt/scanopy/backend/rust-toolchain.toml | awk -F\" '{print $2}')" RUST_TOOLCHAIN=$TOOLCHAIN setup_rust @@ -35,11 +35,11 @@ $STD npm ci --no-fund --no-audit $STD npm run build msg_ok "Created frontend UI" -msg_info "Building scanopy-server (patience)" +msg_info "Building Scanopy Server (patience)" cd /opt/scanopy/backend $STD cargo build --release --bin server mv ./target/release/server /usr/bin/scanopy-server -msg_ok "Built scanopy-server" +msg_ok "Built Scanopy Server" msg_info "Configuring server for first-run" cat </opt/scanopy/.env From be994ce84f507f37df7768ec6c034fa0f21b8a0e Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 19:58:23 +0000 Subject: [PATCH 09/14] Update CHANGELOG.md (#11551) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd3b91beb..83bc3128a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -409,6 +409,7 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit - #### 🐞 Bug Fixes + - [FIX] Scanopy: ensure Scanopy Daemon update [@vhsdream](https://github.com/vhsdream) ([#11541](https://github.com/community-scripts/ProxmoxVE/pull/11541)) - Immich: pin version to 2.5.3 [@vhsdream](https://github.com/vhsdream) ([#11515](https://github.com/community-scripts/ProxmoxVE/pull/11515)) ### 💾 Core From 7b8a3a111dfa6e82d56e852f273fe760f1e64acc Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 21:06:58 +0100 Subject: [PATCH 10/14] Update .app files (#11550) Co-authored-by: GitHub Actions --- tools/headers/immich-public-proxy | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 tools/headers/immich-public-proxy diff --git a/tools/headers/immich-public-proxy b/tools/headers/immich-public-proxy new file mode 100644 index 000000000..3a2195356 --- /dev/null +++ b/tools/headers/immich-public-proxy @@ -0,0 +1,6 @@ + ____ _ __ ____ __ ___ ____ + / _/___ ___ ____ ___ (_)____/ /_ / __ \__ __/ /_ / (_)____ / __ \_________ _ ____ __ + / // __ `__ \/ __ `__ \/ / ___/ __ \ / /_/ / / / / __ \/ / / ___/ / /_/ / ___/ __ \| |/_/ / / / + _/ // / / / / / / / / / / / /__/ / / / / ____/ /_/ / /_/ / / / /__ / ____/ / / /_/ /> Date: Wed, 4 Feb 2026 22:59:43 +0100 Subject: [PATCH 11/14] Add log directory and permissions for koillection (#11553) Create log directory and set ownership for www-data --- ct/koillection.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ct/koillection.sh b/ct/koillection.sh index df4fb2a6f..7304390a7 100644 --- a/ct/koillection.sh +++ b/ct/koillection.sh @@ -59,6 +59,8 @@ function update_script() { $STD yarn install $STD yarn build mkdir -p /opt/koillection/public/uploads + mkdir -p /opt/koillection/var/log + chown -R www-data:www-data /opt/koillection/var/log chown -R www-data:www-data /opt/koillection/public/uploads rm -r /opt/koillection-backup From a74f6ee3c30a8153e79dc9c41181e1422195a4af Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Wed, 4 Feb 2026 22:00:07 +0000 Subject: [PATCH 12/14] Update CHANGELOG.md (#11555) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 83bc3128a..4352800e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -407,6 +407,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit ### 🚀 Updated Scripts + - Add log directory and permissions for koillection [@shineangelic](https://github.com/shineangelic) ([#11553](https://github.com/community-scripts/ProxmoxVE/pull/11553)) + - #### 🐞 Bug Fixes - [FIX] Scanopy: ensure Scanopy Daemon update [@vhsdream](https://github.com/vhsdream) ([#11541](https://github.com/community-scripts/ProxmoxVE/pull/11541)) From 93c52abebdbb612aa5b06678f4dacd3049181c1c Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Feb 2026 00:22:22 +0000 Subject: [PATCH 13/14] chore: update github-versions.json (#11557) Co-authored-by: github-actions[bot] --- frontend/public/json/github-versions.json | 26 +++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/frontend/public/json/github-versions.json b/frontend/public/json/github-versions.json index c1e06fe83..b409bf662 100644 --- a/frontend/public/json/github-versions.json +++ b/frontend/public/json/github-versions.json @@ -1,5 +1,5 @@ { - "generated": "2026-02-04T18:17:33Z", + "generated": "2026-02-05T00:22:14Z", "versions": [ { "slug": "2fauth", @@ -445,9 +445,9 @@ { "slug": "headscale", "repo": "juanfont/headscale", - "version": "v0.27.1", + "version": "v0.28.0", "pinned": false, - "date": "2025-11-11T19:32:29Z" + "date": "2026-02-04T20:40:23Z" }, { "slug": "healthchecks", @@ -536,9 +536,9 @@ { "slug": "invoiceninja", "repo": "invoiceninja/invoiceninja", - "version": "v5.12.53", + "version": "v5.12.54", "pinned": false, - "date": "2026-02-04T00:52:01Z" + "date": "2026-02-04T23:52:17Z" }, { "slug": "jackett", @@ -746,9 +746,9 @@ { "slug": "mealie", "repo": "mealie-recipes/mealie", - "version": "v3.10.1", + "version": "v3.10.2", "pinned": false, - "date": "2026-02-03T01:04:38Z" + "date": "2026-02-04T23:32:32Z" }, { "slug": "mediamanager", @@ -781,9 +781,9 @@ { "slug": "metube", "repo": "alexta69/metube", - "version": "2026.02.03", + "version": "2026.02.04", "pinned": false, - "date": "2026-02-03T21:49:49Z" + "date": "2026-02-04T20:01:18Z" }, { "slug": "miniflux", @@ -1096,9 +1096,9 @@ { "slug": "pulse", "repo": "rcourtman/Pulse", - "version": "v5.1.0", + "version": "v5.1.2", "pinned": false, - "date": "2026-02-04T17:43:59Z" + "date": "2026-02-05T00:18:57Z" }, { "slug": "pve-scripts-local", @@ -1271,9 +1271,9 @@ { "slug": "speedtest-tracker", "repo": "alexjustesen/speedtest-tracker", - "version": "v1.13.7", + "version": "v1.13.8", "pinned": false, - "date": "2026-02-04T16:47:42Z" + "date": "2026-02-04T19:24:23Z" }, { "slug": "spoolman", From ddd130dbe3850224c72ebd42e36740a4b32ac6e2 Mon Sep 17 00:00:00 2001 From: "community-scripts-pr-app[bot]" <189241966+community-scripts-pr-app[bot]@users.noreply.github.com> Date: Thu, 5 Feb 2026 00:22:45 +0000 Subject: [PATCH 14/14] Update CHANGELOG.md (#11558) Co-authored-by: github-actions[bot] --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4352800e8..baab98ea4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -398,6 +398,8 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit +## 2026-02-05 + ## 2026-02-04 ### 🆕 New Scripts