From 12eef98d7eb6cafb23a2d1bc1c98b3ed17f37265 Mon Sep 17 00:00:00 2001 From: "CanbiZ (MickLesk)" <47820557+MickLesk@users.noreply.github.com> Date: Tue, 22 Sep 2026 15:29:51 +0200 Subject: [PATCH] immich: keep geodata linked and the build deps present on update The update wipes $APP_DIR before redeploying, which takes the geodata symlink the install created with it, and never puts it back. The app then finds no reverse-geocoding data and the web UI does not come up. The library recompile assumes headers that only reached the install list later, so a container built before that fails at the first missing one - LCMS2 in the reported case. --- ct/immich.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ct/immich.sh b/ct/immich.sh index f976e619f..5e48333e5 100644 --- a/ct/immich.sh +++ b/ct/immich.sh @@ -105,6 +105,9 @@ EOF libraries=("libjxl" "jpegli" "libheif" "libraw" "imagemagick" "libvips") cd "$BASE_DIR" msg_warn "Checking for updates to custom image-processing libraries (recompile time: 2-15min per library)" + # Containers built before these landed in the install list have none of + # them, and the recompile below fails on the first missing header. + $STD apt install -y liblcms2-dev libjpeg62-turbo-dev libspng-dev libexif-dev $STD git pull for library in "${libraries[@]}"; do compile_"$library" @@ -192,6 +195,10 @@ EOF export SHARP_FORCE_GLOBAL_LIBVIPS=true $STD pnpm --dir "$APP_DIR/node_modules/sharp" exec npm run build + # The rm -rf above took the geodata symlink with it. Without it the app + # finds no reverse-geocoding data and the web UI never comes up. + ln -sfn "$GEO_DIR" "$APP_DIR/geodata" + # Patch helmet.json: disable upgrade-insecure-requests for HTTP access if [[ -f "$APP_DIR/helmet.json" ]]; then jq '.contentSecurityPolicy.directives["upgrade-insecure-requests"] = null' "$APP_DIR/helmet.json" >"$APP_DIR/helmet.json.tmp" && mv "$APP_DIR/helmet.json.tmp" "$APP_DIR/helmet.json"