From 3d8e050af4c5b7b042a70e11db7221c0994cdd91 Mon Sep 17 00:00:00 2001 From: Claudio Date: Sun, 17 May 2026 23:13:36 +0200 Subject: [PATCH] fix(compose): cap indexer concurrency to keep shared hosts alive Default PHOTOPRISM_INDEX_WORKERS is NumCPU/2 (3 on the M0 6-core test LXC). Each worker forks TF + ffmpeg + libvips, so a fresh index of ~1.2k photos pushed the LXC's load avg above 50 and starved the Proxmox host. Pin to PP_WORKERS / PP_INDEX_WORKERS (default 2) so the indexer is calm by default; bump in .env.photoprism on dedicated boxes. --- docker-compose.photoprism.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docker-compose.photoprism.yml b/docker-compose.photoprism.yml index 663dfe3..11260b2 100644 --- a/docker-compose.photoprism.yml +++ b/docker-compose.photoprism.yml @@ -78,6 +78,13 @@ services: PHOTOPRISM_ORIGINALS_LIMIT: ${PP_ORIGINALS_LIMIT:-50000} PHOTOPRISM_HTTP_COMPRESSION: gzip PHOTOPRISM_LOG_LEVEL: ${PP_LOG_LEVEL:-info} + # Indexer concurrency. Defaults to NumCPU/2 (= 3 on a 6-core LXC), + # but each worker forks TF + ffmpeg + libvips so effective load is + # much higher — a fresh index of 1.2k photos on M0 pushed the LXC + # load to 50+ and starved sibling containers. Pin to a low value + # for shared hosts; raise on dedicated machines. + PHOTOPRISM_WORKERS: ${PP_WORKERS:-2} + PHOTOPRISM_INDEX_WORKERS: ${PP_INDEX_WORKERS:-${PP_WORKERS:-2}} # M0 safety: keep originals read-only. Flip to "false" in M2 when the # right-sidebar enables metadata edits and we want EXIF backwrite. PHOTOPRISM_READONLY: ${PP_READONLY:-true}