Skip to content

Commit ae3e1de

Browse files
authored
fix(immich): disable upgrade-insecure-requests CSP directive (#13600)
Helmet's useDefaults adds upgrade-insecure-requests to the CSP, which forces browsers to upgrade all HTTP requests to HTTPS. Since most LXC users access Immich directly via HTTP, this breaks the web UI completely (CORS errors, spinning logo). Patch helmet.json after deploy to explicitly null out the directive, keeping CSP benefits while allowing HTTP access. Fixes #13597
1 parent c11b2e9 commit ae3e1de

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

ct/immich.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,12 @@ EOF
181181
unset SHARP_IGNORE_GLOBAL_LIBVIPS
182182
export SHARP_FORCE_GLOBAL_LIBVIPS=true
183183
$STD pnpm --filter immich --frozen-lockfile --prod --no-optional deploy "$APP_DIR"
184+
185+
# Patch helmet.json: disable upgrade-insecure-requests for HTTP access
186+
if [[ -f "$APP_DIR/helmet.json" ]]; then
187+
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"
188+
fi
189+
184190
cp "$APP_DIR"/package.json "$APP_DIR"/bin
185191
sed -i "s|^start|${APP_DIR}/bin/start|" "$APP_DIR"/bin/immich-admin
186192

install/immich-install.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,12 @@ $STD pnpm --filter immich --frozen-lockfile build
312312
unset SHARP_IGNORE_GLOBAL_LIBVIPS
313313
export SHARP_FORCE_GLOBAL_LIBVIPS=true
314314
$STD pnpm --filter immich --frozen-lockfile --prod --no-optional deploy "$APP_DIR"
315+
316+
# Patch helmet.json: disable upgrade-insecure-requests for HTTP access
317+
if [[ -f "$APP_DIR/helmet.json" ]]; then
318+
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"
319+
fi
320+
315321
cp "$APP_DIR"/package.json "$APP_DIR"/bin
316322
sed -i "s|^start|${APP_DIR}/bin/start|" "$APP_DIR"/bin/immich-admin
317323

0 commit comments

Comments
 (0)