Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -1,3 +1,13 @@
|
||||
## immich: the database gets 768M, and v3.2.4 is published with it (2026-09-30, afternoon, R-732)
|
||||
|
||||
- **Cause, measured** (`felhom.eu/documentation/audits/immich-first-start-2026-09-30/A-cause.md`): the first-start geodata
|
||||
import runs up to 9 concurrent 5000-row INSERTs; the database needs ~400 MB anon + ~170 MB touched shared_buffers (the
|
||||
image's fixed 512MB). At 512M without swap: 61–104 OOM kills; with swap it survives by swapping. `shared_buffers` 128MB
|
||||
alone does not help (measured). An update that ships a new geodata file re-runs the import.
|
||||
- `56c4888`: immich v3.2.2 → v3.2.4 (server + ML), `immich-postgres` 512M → 768M, `mem_limit` 4096M → 4480M, header comment
|
||||
corrected. Proven with swap off: fresh installs (bench ×2, 9202) 0 kills, anon ≤ 54 %; the step on both venues.
|
||||
The step carries `files_may_change` (immich's `.immich` markers; R-734). +256 MB per immich box.
|
||||
|
||||
## The last six PostgreSQL apps decided; seven more apps update themselves at night (2026-09-30, day brief)
|
||||
|
||||
- **PostgreSQL → 18, converted by the box** (the ONLY image move in each commit, written by `upgrade-test.py
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
# REPORT — 2026-09-30 (day): the last six PostgreSQL apps decided; seven more within-major steps
|
||||
# REPORT — 2026-09-30 (late afternoon): immich's first start fixed; v3.2.4 published with it
|
||||
|
||||
Architecture: `09-update-architecture.md` §3 decisions 35, 37–39, 42–43; §6.4 part 10; §6.5 (the drill catalog, 9202 only).
|
||||
Evidence: `felhom.eu/documentation/audits/pg-last-six-2026-09-30/`. Operator report: `felhom.eu/REPORT-pg-last-six-2026-09-30.md`.
|
||||
Evidence: `felhom.eu/documentation/audits/immich-first-start-2026-09-30/`. Operator report: `felhom.eu/REPORT-immich-first-start-2026-09-30.md`.
|
||||
|
||||
- rallly, outline, sparkyfitness → PostgreSQL 18: bench converted (31/42/94 tables equal), box 9202 CONVERTED in 7.1/7.9/9.8 s
|
||||
through the guarded Update, one undo case each (undone, back on the old major, seed read back). Engine gate ALLOWED on push.
|
||||
- zipline, adventurelog, immich stay on 16 (their upstreams run 16, 16, 14).
|
||||
- Three new front-door fixtures; zipline's fixture fixed to its real first-run route.
|
||||
- Part F: bookstack, kimai, audiobookshelf, n8n, navidrome, grafana, komga — each proven on both venues, one commit each.
|
||||
- immich v3.2.4 NOT moved: first start at today's pin OOM-killed its database on the bench (R-732).
|
||||
- Night-updatable apps: 28 (+ nextcloud) in the morning → 31 (+ nextcloud) after.
|
||||
- Cause: 9 concurrent geodata INSERTs need ~575 MB in the database; 512M only fits with swap. Controls: swap alone, limit alone
|
||||
flip it; shared_buffers alone does not.
|
||||
- `56c4888`: v3.2.4 + `immich-postgres` 768M (`mem_limit` 4480M). Fresh installs with swap off: 0 kills on both venues.
|
||||
- The step: bench proven (10-min watch 0 kills), box 9202 done in 58.5 s, album read back, limit 768M after.
|
||||
- An installed immich on 3.2.2 gets 768M with its next guarded Update (by hand, or the night leg when a whole copy exists).
|
||||
|
||||
Reference in New Issue
Block a user