86 Commits

Author SHA1 Message Date
Chris
a49d9c5713 Immich: Pin photo-processing library revisions (#13748) 2026-04-14 21:19:16 +02:00
Chris
af9bf93707 Immich: Pin version to 2.7.5 (#13715) 2026-04-13 21:20:02 +02:00
Chris
b40bc46b4b Immich: Pin version to 2.7.4 (#13661) 2026-04-11 22:07:23 +02:00
Chris
6b224ac649 Immich: Pin version to 2.7.3 (#13631) 2026-04-10 07:20:17 +02:00
CanbiZ (MickLesk)
ae3e1deece 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
2026-04-08 19:47:10 +02:00
Chris
c5083471d9 Immich: v2.7.2 (#13579)
* Squash merge dev/openvino-cpu into immich

* Immich: bump to v2.7.0

* Upstream fix for helmet.json

* Pin to 2.7.1; revert `helmet.json` fix

* Pin to v2.7.2
2026-04-08 07:21:07 +02:00
CanbiZ (MickLesk)
6017a124f9 chore(immich): bump to v2.6.3 (#13324) 2026-03-27 11:25:33 +01:00
CanbiZ (MickLesk)
0a458c0a11 Immich: Bump to 2.6.2 | use start.sh in service, ensure DB_HOSTNAME in .env | Fix Rights Issue with ZFS Shares (#13199)
* fix(immich): use start.sh in service, ensure DB_HOSTNAME in .env

* Bump Immich to v2.6.2 and adjust chown handling

Update Immich release references from v2.6.1 to v2.6.2 in ct/immich.sh and install/immich-install.sh. Replace broad recursive chown -R on the install dir with a safer approach that avoids recursing into the upload directory (which may be a mounted volume with restricted permissions): set ownership on the install dir itself, chown each top-level entry except 'upload', and attempt to chown the upload path while ignoring errors. Also adjust ordering for /var/log/immich chown to avoid permission issues when enabling services.
2026-03-26 12:24:26 +01:00
Chris
a096fa19be Immich: v2.6.1 (#13111) 2026-03-20 14:14:24 +01:00
MickLesk
8ef2c445c8 immich: increase uv timeout to 300 2026-03-16 20:41:21 +01:00
MickLesk
e4a7ed6965 immcih: crop sha from pnpm 2026-03-16 20:36:21 +01:00
MickLesk
c69dae5326 immich: use curl with retry function 2026-03-16 20:23:46 +01:00
MickLesk
fee4617802 qf: add gcc13 fallback and use gcc14 2026-03-16 20:03:45 +01:00
CanbiZ (MickLesk)
13aea57207 fix(immich): use gcc-13 for compilation & add uv python pre-install with retry (#12935)
- Install gcc-13/g++-13 and export CC/CXX before compiling custom
  photo-processing libraries to work around GCC-14 ICE segfaults
  on Debian 13 Trixie (closes #12895)
- Pre-install Python via 'uv python install' with 3-attempt retry
  logic before running 'uv sync' to prevent connection reset failures
  during machine-learning setup (closes #12926)
- Applied to both fresh install and update paths
2026-03-16 17:32:16 +01:00
Chris
eec763bed0 [Fix] Immich: Pin libvips to 8.17.3 (#12744) 2026-03-10 15:22:48 +01:00
Denislav Denev
fbc8133a86 fix(immich): correct LibRaw clone URL to official upstream (#12526)
* fix(immich): correct LibRaw clone URL to official upstream

The Immich helper script clones LibRaw from:

  https://github.com/libraw/libraw.git

This repository does not exist and results in:

  fatal: unable to access ... error: 500
  exit code: 128

The correct upstream repository is:

  https://github.com/LibRaw/LibRaw.git

This should resolve installation failure during the LibRaw compilation stage.

* Fix repository URL for libraw in install script

---------

Co-authored-by: Chris <punk.sand7393@fastmail.com>
2026-03-04 05:49:45 +01:00
Chris
dd37770b86 Fix sed command to fully replace line in postgresql.conf (#12429) 2026-02-28 21:41:17 +01:00
Chris
edb86a7150 [FIX] Immich: fix Openvino memory leak during OCR; improve HW-accelerated ML performance (#12426) 2026-02-28 20:30:37 +01:00
Chris
117786376a [QOL] Immich: add warning regarding library compilation time (#12345) 2026-02-26 08:45:59 +01:00
CanbiZ (MickLesk)
dbdd891a99 several scripts: add additional github link in source (#12282)
* fix(error-handler): prevent silent() from re-enabling error handling during recovery

Root cause: silent() (core.func) unconditionally calls set -Eeuo pipefail
and trap 'error_handler' ERR after every command. When build_container()
intentionally disables error handling for its recovery section, any
intermediate call through silent()/ re-enables it. This causes the
grep/sed pipeline for missing_cmd extraction to trigger error_handler
(grep returns exit code 1 on no match + pipefail = fatal).

Fixes:
1. silent(): Save errexit state before disabling, only restore if it was
   active. Callers that intentionally disabled error handling (e.g.
   build_container recovery) are no longer silently re-enabled.

2. build.func: Add || true to missing_cmd grep pipeline as defense-in-depth
   against pipeline failure propagation.

3. build.func: Add explicit set +Eeuo pipefail / trap - ERR after
   post_update_to_api() call, before error classification grep/sed section.

4. build.func: Remove stale global combined_log variable from variables()
   that used a different path format (/tmp/install-SESSION-combined.log)
   than the actual local variable (/tmp/NSAPP-CTID-SESSION.log). The global
   was never written to and caused confusion when error_handler displayed it.

* Update build.func

* chore(install): add Github source links to all setup_nodejs scripts

52 install scripts had a project website in '# Source:' but no GitHub
link. Merged the GitHub repo URL into the Source header as:
  # Source: https://website.com/ | Github: https://github.com/OWNER/REPO

Repos sourced from fetch_and_deploy_gh_release calls, get_latest_github_release
calls, or known project repos for npm/pip installed apps.

Two scripts (fumadocs, pve-scripts-local) had no Source line at all —
added one. Shinobi skipped (GitLab-only, no GitHub repo).

* chore(install): add Github source links to all fetch_and_deploy scripts

77 additional install scripts had fetch_and_deploy_gh_release calls but
no GitHub link in the Source header. Merged the primary app repo into
the Source header as:
  # Source: https://website.com/ | Github: https://github.com/OWNER/REPO

Where multiple fetch_and_deploy calls existed (app + dependency), the
primary app repo was selected:
- ersatztv: ErsatzTV/ErsatzTV (not ffmpeg)
- firefly: firefly-iii/firefly-iii (not data-importer)
- komga: gotson/komga (not kepubify dep)
- sabnzbd: sabnzbd/sabnzbd (not par2cmdline-turbo dep)
- signoz: SigNoz/signoz (not otel-collector)
- tunarr: chrisbenincasa/tunarr (not ffmpeg dep)

Also fixed cosmos-install.sh double https:// in Source URL.

Skipped: autocaliweb (source already on codeberg, GitHub repos are deps only)

* revert: restore misc/build.func and misc/core.func to main state

These error-handler fixes belong to fix/error-handler-recovery, not to
this sources-only branch.

* chore(ct,tools): sync Source headers with install/ and add Github links to addon scripts
2026-02-24 15:11:53 +01:00
Chris
a16dfb6d82 Immich: Pin version to 2.5.6 (#11775) 2026-02-10 22:43:15 +01:00
Chris
aa1350d126 Immich: supress startup messages for immich-admin (#11635) 2026-02-06 20:57:43 +01:00
Chris
7973216438 Immich: pin to v2.5.5 (#11598)
* Use uppercase

* Immich: pin version to 2.5.4

* Restart immich-proxy service after update if found

* Pin version to 2.5.5
2026-02-06 17:28:15 +01:00
Chris
36bf5cb57e 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
2026-02-04 14:48:18 +01:00
Chris
8589afb17e [Hotfix] Immich: revert healthcheck feature (#11427) 2026-02-01 18:30:55 +01:00
Chris
61964c264e Immich Refactor #2 (#11375) 2026-02-01 02:07:27 +01:00
Chris
e3b796b842 Immich: Pin version to 2.5.2 (#11335) 2026-01-29 18:02:37 +01:00
Chris
b67a82123e Immich: v2.5.0 (#11240) 2026-01-29 14:37:54 +01:00
Chris
85d50cf1d1 Immich: update libraw (#11233) 2026-01-27 17:38:16 +01:00
CanbiZ (MickLesk)
4fc57b0e0b immich: use dpkg-query to get intel-opencl-icd version (#10848) 2026-01-16 09:32:13 +01:00
Chris
c178058315 Install libde265-dev from Testing; refactor install check logic in update (#10810) 2026-01-14 17:10:58 +01:00
Chris
a990d39812 Fix intel version check; install legacy packages (#10787) 2026-01-13 21:17:26 +01:00
Tobias
c1fe8b91b4 chore: bump copyright to 2026 - happy new year (#10585)
* chore: bump copyright to 2026 - happy new year

* fix

* meilisearch fix source url

* livebook: fix space

* fix source cmd

* fix source cmd
2026-01-06 13:28:12 +01:00
Chris
8a67635651 Bump Immich to v2.4.1 (#10154) 2025-12-19 22:40:45 +01:00
Chris
b829dcc849 Immich: v2.4.0 (#10095)
* [ENHANCEMENT] Immich: Support for newer Intel GPUs

- Add support for newer Intel GPUs: Battlemage, Arrow Lake and Panther
Lake by adding v2.22.2 Intel IGC packages
- Fix: ensure libigdgmm12 is installed before other packages during
update
- Fix: Download and install Intel packages in `/tmp` to allow apt to
drop root privileges during installation

* Bump Immich to v2.4.0
2025-12-18 17:53:41 +01:00
CanbiZ (MickLesk)
3a9d03fdb7 use setup_hwaccel for robust hardware acceleration (#10054)
* fix(jellyfin): use setup_hwaccel for robust hardware acceleration

Replaces manual hardware acceleration setup with the centralized
setup_hwaccel function from tools.func.

This fixes the installation failure in privileged containers where
/dev/dri does not exist (e.g., when no GPU is passed through).

The setup_hwaccel function includes:
- Proper error handling for missing /dev/dri
- GPU vendor detection (Intel, AMD, NVIDIA)
- Graceful fallback when no GPU is available

Fixes: Installation fails with 'chgrp: cannot access /dev/dri'
when creating privileged containers without GPU passthrough.

* refactor(hwaccel): standardize hardware acceleration across all install scripts

Migrated all install scripts to use the centralized setup_hwaccel function:
- plex-install.sh
- emby-install.sh
- ersatztv-install.sh
- frigate-install.sh
- tdarr-install.sh
- unmanic-install.sh
- channels-install.sh
- ollama-install.sh
- immich-install.sh (added error handling)

Enhanced setup_hwaccel function in tools.func:
- Added -d /dev/dri check before setting permissions
- Added error handling (2>/dev/null || true) for all /dev/dri operations
- Added adduser error handling for video/render groups
- No longer fails if no GPU is detected (graceful skip)
- Added intel-media-va-driver for newer Intel GPUs
- Improved AMD APU support with firmware packages
- Better NVIDIA handling (warning instead of failure)

This fixes installation failures in privileged containers without GPU
passthrough, where /dev/dri does not exist.

Supports: Ubuntu, Debian 12 (Bookworm), Debian 13 (Trixie)
GPU Support: Intel, AMD, NVIDIA (manual driver)

* refactor(hwaccel): complete migration for all GPU apps

Migrated remaining GPU apps to setup_hwaccel:
- fileflows-install.sh
- openwebui-install.sh (added setup_hwaccel - was missing)
- tunarr-install.sh

Also fixed tools/pve/hw-acceleration.sh:
- Added error handling for /dev/dri operations
- Added chmod 660 /dev/dri/* that was missing
- Added error suppression for adduser commands

All 13 GPU apps (var_gpu=yes) now use centralized setup_hwaccel:
jellyfin, plex, emby, ersatztv, frigate, tdarr, unmanic,
channels, ollama, immich, fileflows, openwebui, tunarr

* feat(hwaccel): complete Intel non-free driver support and GID sync

Enhanced setup_hwaccel function:
- Auto-detect Intel GPU generation (Gen 9+ for non-free drivers)
- Debian 12 (Bookworm): Add non-free repo + intel-media-va-driver-non-free
- Debian 13 (Trixie): Add non-free repo + libvpl2 + mesa-opencl-icd
- Ubuntu: Use ubuntu repos with intel-media-va-driver
- Fallback to open drivers if non-free fails
- GID sync for video/render groups (moved from install scripts)

OpenWebUI: Added Intel oneAPI support when installing Ollama
- Intel Level Zero GPU support
- Intel oneAPI Base Toolkit
- Same setup as standalone Ollama install

Cleanup:
- Removed duplicate GID sync from tdarr-install.sh
- Removed duplicate GID sync from unmanic-install.sh

* fix(ersatztv): remove duplicate HW acceleration code

Removed manual Intel HW acceleration setup that remained after
setup_hwaccel migration. The non-free driver prompt is no longer
needed as setup_hwaccel auto-detects Intel GPU generation.
2025-12-17 14:37:31 +01:00
Chris
e2c6020c64 pin correct version (#9332) 2025-11-21 14:33:09 +01:00
Chris
dd8bb6f42b Immich v2.3.1: OpenVINO tuning, OCR fixes, Maintenance mode, workflows/plugin framework (#9310)
* Add env var for OpenVINO floating point precision setting

* v2.3.1 - Maintenance mode, workflow/plugin framework
2025-11-20 18:08:25 +01:00
CanbiZ
714c2e5888 Bump K to H-Scripts to Debian 13 (Trixie) (#8597)
* Update scripts to use Debian 13 and improve update logic

Bump default container OS version from Debian 12 to 13 across multiple LXC setup scripts. Refactor update_script functions for consistency, improve messaging, and standardize apt usage. Update Kimai install and update scripts to use setup_php, setup_composer, and fetch_and_deploy_gh_release helpers, and switch from MySQL to MariaDB. Update Kometa to use Python 3.13. Minor improvements to backup, cleanup, and service management steps in several scripts.

* Refactor install scripts: unify cleanup and apt usage

Replaces repeated apt-get commands with apt for installing dependencies, and consolidates cleanup steps into a single cleanup_lxc function across all install scripts. Also updates repository setup to use setup_deb822_repo where applicable, and makes minor improvements to dependency installation and service setup.

* Update default Debian version to 13 and refactor updates

Set the default Debian version to 13 across all container scripts. Standardize apt command usage by replacing 'apt-get' with 'apt' where appropriate. Remove redundant cleanup steps from update scripts and streamline update logic for consistency. Also, call 'cleanup_lxc' after 'update_script' in the build function.

* Update default OS version to Debian 13 in JSON configs

Updated the 'version' field from '12' to '13' for Debian-based install methods across multiple application JSON files. Also set default OS and version for inspircd. This ensures new containers use the latest supported Debian release.

* fix kimai Update Check

* grammar

* Correct typo in success message

* Fix typo in success message for update

* refactor

* fixed jenkins / improve komodo

---------

Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-11-12 10:56:18 +01:00
Chris
72391a96a8 Immich: Pin version to 2.2.3 (#8861) 2025-11-05 17:36:00 +01:00
Chris
e969f7f5a0 Pin version to 2.2.2 (#8848) 2025-11-03 20:07:59 +01:00
Chris
d8618652d9 Immich: Pin version to 2.2.1 (#8800) 2025-11-01 13:44:21 +01:00
Chris
132e49f35e Immich: Updates for v2.2.0 (#8770)
* replace for-loop with curl native for multiple downloads

* add ccache dependency for OCR feature

* Update NodeJS to 24

* bump pinned version to 2.2.0
2025-10-30 20:40:44 +01:00
Chris
12eec5f160 Immich: v2.1.0 (#8348)
- Ensure VectorChord upgrades only run if there is also an Immich update
- Ensure pgvector is up-to-date before updating VectorChord
- Move postgresql service restart before extension update commands
- Add reindex commands to update process
- Attempt to address superfluous sharp compilation
2025-10-15 22:20:56 +02:00
Chris
21bb9c618b Immich: add testing repo (#8310) 2025-10-12 20:50:48 +02:00
mlongwell
2c791b9e41 immich: guard /dev/dri permissions so CPU-only installs don’t fail (#8094) 2025-10-04 18:44:00 +02:00
Chris
ae6ca4de23 Immich: bump version to 2.0.1 (#8090) 2025-10-03 20:54:58 +02:00
Chris
2a765f58f0 Immich: bump version to 2.0.0 stable (#8041) 2025-10-02 00:28:51 +02:00
Chris
6820bdcade Immich: bump version to 1.144.1 (#7994)
- small change during update to ensure the immich user can write to
uv.lock while building machine-learning
2025-10-01 10:39:20 +02:00
Chris
82a7d252ab Bump Immich to v1.143.1 (#7864) 2025-09-23 21:35:27 +02:00