From 11e37ee8077042ca61b71f2985f110f6ddc793d3 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Wed, 23 Sep 2026 22:02:17 +0200 Subject: [PATCH] night 2026-09-23: Part C evidence (11 moves across 10 apps so far) Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS --- .../audits/night-2026-09-23/C-moves.txt | 7 + .../audits/night-2026-09-23/PROGRESS.md | 8 + .../apps/emby/bench/MV-emby.log | 106 + .../bench/evidence/MV-emby/abort-states.json | 8 + .../bench/evidence/MV-emby/compose-final.log | 259 +++ .../bench/evidence/MV-emby/engine-state.json | 1 + .../bench/evidence/MV-emby/files-after.json | 3 + .../bench/evidence/MV-emby/files-before.json | 3 + .../evidence/MV-emby/memory-samples.json | 682 ++++++ .../evidence/MV-emby/migration-lines.txt | 3 + .../apps/emby/bench/evidence/MV-emby/run.log | 57 + .../emby/bench/evidence/MV-emby/to-full.log | 285 +++ .../bench/evidence/MV-emby/to-states.json | 8 + .../emby/bench/evidence/MV-emby/verdict.json | 49 + .../apps/gitea/bench/MV-gitea.log | 31 + .../bench/evidence/MV-gitea/compose-final.log | 16 + .../gitea/bench/evidence/MV-gitea/run.log | 5 + .../bench/evidence/MV-gitea/verdict.json | 26 + .../night-2026-09-23/apps/gitea/log.txt | 10 + .../apps/gitea/observables-before.json | 15 + .../night-2026-09-23/apps/gitea/verdict.json | 24 + .../apps/immich/bench/MV-immich.log | 153 ++ .../evidence/MV-immich/abort-states.json | 26 + .../evidence/MV-immich/compose-final.log | 681 ++++++ .../evidence/MV-immich/engine-state.json | 8 + .../bench/evidence/MV-immich/files-after.json | 4 + .../evidence/MV-immich/files-before.json | 4 + .../evidence/MV-immich/memory-samples.json | 2002 +++++++++++++++++ .../evidence/MV-immich/migration-lines.txt | 0 .../immich/bench/evidence/MV-immich/run.log | 58 + .../bench/evidence/MV-immich/to-full.log | 668 ++++++ .../bench/evidence/MV-immich/to-states.json | 26 + .../bench/evidence/MV-immich/verdict.json | 95 + .../apps/kimai/app-logs-after.txt | 351 +++ .../night-2026-09-23/apps/kimai/badges.json | 31 + .../apps/kimai/bench/MV-kimai.log | 127 ++ .../bench/evidence/MV-kimai/abort-states.json | 14 + .../bench/evidence/MV-kimai/compose-final.log | 150 ++ .../bench/evidence/MV-kimai/engine-state.json | 8 + .../bench/evidence/MV-kimai/files-after.json | 1 + .../bench/evidence/MV-kimai/files-before.json | 1 + .../evidence/MV-kimai/memory-samples.json | 1122 +++++++++ .../evidence/MV-kimai/migration-lines.txt | 6 + .../kimai/bench/evidence/MV-kimai/run.log | 58 + .../kimai/bench/evidence/MV-kimai/to-full.log | 226 ++ .../bench/evidence/MV-kimai/to-states.json | 14 + .../bench/evidence/MV-kimai/verdict.json | 69 + .../night-2026-09-23/apps/kimai/log.txt | 31 + .../apps/kimai/observables-before.json | 22 + .../apps/kimai/observables.json | 46 + .../night-2026-09-23/apps/kimai/phases.json | 59 + .../night-2026-09-23/apps/kimai/verdict.json | 52 + .../apps/komga/bench/MV-komga.log | 106 + .../bench/evidence/MV-komga/abort-states.json | 8 + .../bench/evidence/MV-komga/compose-final.log | 61 + .../bench/evidence/MV-komga/engine-state.json | 1 + .../bench/evidence/MV-komga/files-after.json | 3 + .../bench/evidence/MV-komga/files-before.json | 3 + .../evidence/MV-komga/memory-samples.json | 682 ++++++ .../evidence/MV-komga/migration-lines.txt | 6 + .../komga/bench/evidence/MV-komga/run.log | 57 + .../komga/bench/evidence/MV-komga/to-full.log | 63 + .../bench/evidence/MV-komga/to-states.json | 8 + .../bench/evidence/MV-komga/verdict.json | 49 + .../apps/n8n/bench/MV-n8n.log | 106 + .../bench/evidence/MV-n8n/abort-states.json | 8 + .../bench/evidence/MV-n8n/compose-final.log | 79 + .../bench/evidence/MV-n8n/engine-state.json | 1 + .../bench/evidence/MV-n8n/files-after.json | 1 + .../bench/evidence/MV-n8n/files-before.json | 1 + .../bench/evidence/MV-n8n/memory-samples.json | 682 ++++++ .../bench/evidence/MV-n8n/migration-lines.txt | 6 + .../apps/n8n/bench/evidence/MV-n8n/run.log | 57 + .../n8n/bench/evidence/MV-n8n/to-full.log | 91 + .../n8n/bench/evidence/MV-n8n/to-states.json | 8 + .../n8n/bench/evidence/MV-n8n/verdict.json | 49 + .../audits/night-2026-09-23/apps/n8n/log.txt | 5 + .../night-2026-09-23/apps/n8n/verdict.json | 3 +- .../bench-staledrive/MV-nextcloud.log | 35 + .../evidence/MV-nextcloud/compose-final.log | 137 ++ .../evidence/MV-nextcloud/run.log | 5 + .../evidence/MV-nextcloud/verdict.json | 30 + .../apps/romm-engine/app-logs-after.txt | 310 +++ .../apps/romm-engine/badges.json | 31 + .../apps/romm-engine/bench/MV-romm.log | 140 ++ .../bench/evidence/MV-romm/abort-states.json | 20 + .../bench/evidence/MV-romm/compose-final.log | 119 + .../bench/evidence/MV-romm/engine-state.json | 8 + .../bench/evidence/MV-romm/files-after.json | 4 + .../bench/evidence/MV-romm/files-before.json | 4 + .../evidence/MV-romm/memory-samples.json | 1562 +++++++++++++ .../evidence/MV-romm/migration-lines.txt | 6 + .../bench/evidence/MV-romm/run.log | 57 + .../bench/evidence/MV-romm/to-full.log | 180 ++ .../bench/evidence/MV-romm/to-states.json | 20 + .../bench/evidence/MV-romm/verdict.json | 83 + .../night-2026-09-23/apps/romm-engine/log.txt | 36 + .../apps/romm-engine/observables-before.json | 27 + .../apps/romm-engine/observables.json | 56 + .../apps/romm-engine/phases.json | 59 + .../apps/romm-engine/verdict.json | 59 + .../audits/night-2026-09-23/benchq-Q1.txt | 4 + .../audits/night-2026-09-23/benchq-Q10.txt | 3 + .../audits/night-2026-09-23/benchq-Q11.txt | 1 + .../audits/night-2026-09-23/benchq-Q2.txt | 2 + .../audits/night-2026-09-23/benchq-Q7.txt | 4 + .../audits/night-2026-09-23/benchq-Q8.txt | 2 + .../audits/night-2026-09-23/benchq-Q9.txt | 3 + .../audits/night-2026-09-23/benchq.py | 8 +- .../audits/night-2026-09-23/boxq-B1.txt | 4 + .../audits/night-2026-09-23/boxq-B7.txt | 3 + .../audits/night-2026-09-23/boxq-B8.txt | 3 + .../audits/night-2026-09-23/boxq-gitea.log | 10 + .../audits/night-2026-09-23/boxq-kimai.log | 31 + .../audits/night-2026-09-23/boxq-n8n.log | 4 + .../night-2026-09-23/boxq-romm-engine.log | 36 + documentation/audits/night-2026-09-23/boxq.py | 11 +- .../audits/night-2026-09-23/run_edge.py | 3 +- 118 files changed, 12976 insertions(+), 7 deletions(-) create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/MV-emby.log create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/abort-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/compose-final.log create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/engine-state.json create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/files-after.json create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/files-before.json create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/memory-samples.json create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/migration-lines.txt create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/run.log create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/to-full.log create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/to-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/verdict.json create mode 100644 documentation/audits/night-2026-09-23/apps/gitea/bench/MV-gitea.log create mode 100644 documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/compose-final.log create mode 100644 documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/run.log create mode 100644 documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/verdict.json create mode 100644 documentation/audits/night-2026-09-23/apps/gitea/log.txt create mode 100644 documentation/audits/night-2026-09-23/apps/gitea/observables-before.json create mode 100644 documentation/audits/night-2026-09-23/apps/gitea/verdict.json create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/MV-immich.log create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/abort-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/compose-final.log create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/engine-state.json create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/files-after.json create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/files-before.json create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/memory-samples.json create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/migration-lines.txt create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/run.log create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/to-full.log create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/to-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/verdict.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/app-logs-after.txt create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/badges.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/MV-kimai.log create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/abort-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/compose-final.log create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/engine-state.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/files-after.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/files-before.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/memory-samples.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/migration-lines.txt create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/run.log create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/to-full.log create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/to-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/verdict.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/log.txt create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/observables-before.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/observables.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/phases.json create mode 100644 documentation/audits/night-2026-09-23/apps/kimai/verdict.json create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/MV-komga.log create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/abort-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/compose-final.log create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/engine-state.json create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/files-after.json create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/files-before.json create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/memory-samples.json create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/migration-lines.txt create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/run.log create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/to-full.log create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/to-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/verdict.json create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/MV-n8n.log create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/abort-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/compose-final.log create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/engine-state.json create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/files-after.json create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/files-before.json create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/memory-samples.json create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/migration-lines.txt create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/run.log create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/to-full.log create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/to-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/verdict.json create mode 100644 documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/MV-nextcloud.log create mode 100644 documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/compose-final.log create mode 100644 documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/run.log create mode 100644 documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/verdict.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/app-logs-after.txt create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/badges.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/MV-romm.log create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/abort-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/compose-final.log create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/engine-state.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/files-after.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/files-before.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/memory-samples.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/migration-lines.txt create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/run.log create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/to-full.log create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/to-states.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/verdict.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/log.txt create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/observables-before.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/observables.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/phases.json create mode 100644 documentation/audits/night-2026-09-23/apps/romm-engine/verdict.json create mode 100644 documentation/audits/night-2026-09-23/benchq-Q10.txt create mode 100644 documentation/audits/night-2026-09-23/benchq-Q11.txt create mode 100644 documentation/audits/night-2026-09-23/benchq-Q9.txt create mode 100644 documentation/audits/night-2026-09-23/boxq-B7.txt create mode 100644 documentation/audits/night-2026-09-23/boxq-B8.txt create mode 100644 documentation/audits/night-2026-09-23/boxq-gitea.log create mode 100644 documentation/audits/night-2026-09-23/boxq-kimai.log create mode 100644 documentation/audits/night-2026-09-23/boxq-romm-engine.log diff --git a/documentation/audits/night-2026-09-23/C-moves.txt b/documentation/audits/night-2026-09-23/C-moves.txt index 05c18338..ff8bd230 100644 --- a/documentation/audits/night-2026-09-23/C-moves.txt +++ b/documentation/audits/night-2026-09-23/C-moves.txt @@ -2,3 +2,10 @@ romm 5.3.0 -> 5.3.1 moved in catalog 7ff4e68 at 21:33. Gate on the real registry ghost 6.64.0 -> 6.65.0 moved in catalog e6afab9 at 21:33 wishlist moved in catalog 1545c5f at 21:42 opengist moved in catalog 657c83f at 21:42 +navidrome moved in catalog 76cc1f5 at 21:44 +komga 1.25.0->1.27.1 + 768M moved in catalog fc1becc at 21:47 +n8n 2.40.5->2.41.1 moved in catalog 04b63db at 21:50 +emby 4.11.0.1->4.11.0.3 moved in catalog 8d573ad at 21:55 +kimai-db mariadb 11.6->11.8 moved in catalog 376b2c3 at 21:59 +romm-db mariadb 11.4->11.8 moved in catalog 431cdec at 22:00 +immich-machine-learning v3.0.3->v3.2.2 moved in catalog b82b7c6 at 22:01 diff --git a/documentation/audits/night-2026-09-23/PROGRESS.md b/documentation/audits/night-2026-09-23/PROGRESS.md index 9d11a4cb..9074b168 100644 --- a/documentation/audits/night-2026-09-23/PROGRESS.md +++ b/documentation/audits/night-2026-09-23/PROGRESS.md @@ -20,3 +20,11 @@ | 20:58 | C0 venue | bench LXC **9401** on demo-hp (nvme-scratch, 6c/10G), docker 26.1.5, Docker Hub login; **C3 negative control → failed** (bench measures) | C0-harness-venue-create.txt | | 21:06 | C R-612 | bench: 128M → seed OOM-killed (oom_kill 3), 1024M peak 345M, 512M peak 312M seed completes; 9202 before: seed SIGKILLed but after the rows (sign-up worked — lie NOT reproduced, timing-dependent); after 512M: seed completes. Live catalog `a5a729a` | apps/wishlist/r612-*.json | | 21:15 | C R-613 | UPTIME_KUMA_DB_TYPE=sqlite: before `setup-database` while box says running; after `entryPage`, /metrics 401; db in the volume. First "after" run used a stale template (R-607 lag) — kept, renamed. Live catalog `a5a729a` | apps/uptime-kuma/r613-*.json | +| 20:53 | C queues | bench (9401) and box (9202) queues started, database apps first; each edge's evidence copied off the bench when it ends | benchq-*.txt, boxq-*.txt | +| 21:18 | C fix | bench load generator followed redirects (every request `err`) → fixed; anon memory sampled (R-652/R-653); ghost re-run | — | +| 21:30 | C decision 22 | `memory_tight` reads the app's own memory (anon) where measured — CC unattended, recorded in `09` §3 | 09-update-architecture.md | +| 21:32 | C move | **romm 5.3.0→5.3.1** catalog `7ff4e68` (CI 922) — gate judged it on the real registry; wrong-digest control REFUSED | C-moves.txt | +| 21:34 | C move | **ghost 6.64.0→6.65.0** `e6afab9` (CI 923) — after a re-run with real load | apps/ghost | +| 21:41 | C move | **wishlist v0.66.0→v0.67.1** + **opengist 1.13→1.15** `657c83f` (CI 925) | apps/wishlist, apps/opengist | +| 21:45 | C move | **navidrome 0.64.0→0.64.1** `76cc1f5` — second step on its ladder | apps/navidrome | +| 21:40 | C not moved | **adventurelog v0.13.0**: backend + data fine, the NEW frontend's own healthcheck (`/health` → backend `/health/`) never passes in the template's network shape — box UNDID the update (under the 90 s drill timeout), bench never healthy in 420 s | apps/adventurelog | diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/MV-emby.log b/documentation/audits/night-2026-09-23/apps/emby/bench/MV-emby.log new file mode 100644 index 00000000..e33cfb5c --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/MV-emby.log @@ -0,0 +1,106 @@ +[19:42:18] MV-emby: deploying emby at FROM {'emby': 'emby/embyserver:4.11.0.1'} +[19:43:10] FROM settled=True in 30.8s :: {"emby": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:43:10] fixture: the BOX walk's own (Emby), through upgrade_boxport +[19:43:10] emby: seeded first user drille7433d86 +[19:43:10] emby: readback found=True (http 200, control passed) +[19:43:10] C1 (seed reads back BEFORE): True +[19:43:10] MV-emby: swapping to TO {'emby': 'emby/embyserver:4.11.0.3'} +[19:43:33] TO up -d rc=0 +[19:44:04] TO settled=True in 30.9s :: {"emby": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:44:04] migration lines observed: 3 +[19:44:04] emby: readback found=True (http 200, control passed) +[19:44:04] RESULT (seed reads back AFTER): True +[19:44:05] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:8096 +[19:44:20] + 15s emby=159M/2048M peak=160M kills=0 rs=0 reqs=300 +[19:44:35] + 30s emby=160M/2048M peak=161M kills=0 rs=0 reqs=604 +[19:44:50] + 45s emby=159M/2048M peak=161M kills=0 rs=0 reqs=900 +[19:45:05] + 60s emby=159M/2048M peak=161M kills=0 rs=0 reqs=1200 +[19:45:20] + 76s emby=145M/2048M peak=161M kills=0 rs=0 reqs=1501 +[19:45:35] + 91s emby=145M/2048M peak=161M kills=0 rs=0 reqs=1804 +[19:45:51] + 106s emby=145M/2048M peak=161M kills=0 rs=0 reqs=2102 +[19:46:06] + 121s emby=146M/2048M peak=161M kills=0 rs=0 reqs=2402 +[19:46:21] + 136s emby=144M/2048M peak=161M kills=0 rs=0 reqs=2702 +[19:46:36] + 151s emby=144M/2048M peak=161M kills=0 rs=0 reqs=3000 +[19:46:51] + 166s emby=145M/2048M peak=161M kills=0 rs=0 reqs=3299 +[19:47:06] + 182s emby=144M/2048M peak=161M kills=0 rs=0 reqs=3594 +[19:47:21] + 197s emby=141M/2048M peak=161M kills=0 rs=0 reqs=3890 +[19:47:37] + 212s emby=140M/2048M peak=161M kills=0 rs=0 reqs=4190 +[19:47:52] + 227s emby=141M/2048M peak=161M kills=0 rs=0 reqs=4486 +[19:48:07] + 242s emby=141M/2048M peak=161M kills=0 rs=0 reqs=4786 +[19:48:22] + 258s emby=141M/2048M peak=161M kills=0 rs=0 reqs=5086 +[19:48:37] + 273s emby=141M/2048M peak=161M kills=0 rs=0 reqs=5386 +[19:48:52] + 288s emby=141M/2048M peak=161M kills=0 rs=0 reqs=5686 +[19:49:07] + 303s emby=142M/2048M peak=161M kills=0 rs=0 reqs=5986 +[19:49:23] + 318s emby=141M/2048M peak=161M kills=0 rs=0 reqs=6286 +[19:49:38] + 333s emby=141M/2048M peak=161M kills=0 rs=0 reqs=6586 +[19:49:53] + 348s emby=140M/2048M peak=161M kills=0 rs=0 reqs=6886 +[19:50:08] + 363s emby=141M/2048M peak=161M kills=0 rs=0 reqs=7186 +[19:50:23] + 378s emby=141M/2048M peak=161M kills=0 rs=0 reqs=7486 +[19:50:38] + 394s emby=141M/2048M peak=161M kills=0 rs=0 reqs=7786 +[19:50:53] + 409s emby=141M/2048M peak=161M kills=0 rs=0 reqs=8086 +[19:51:08] + 424s emby=141M/2048M peak=161M kills=0 rs=0 reqs=8386 +[19:51:24] + 439s emby=141M/2048M peak=161M kills=0 rs=0 reqs=8686 +[19:51:39] + 454s emby=142M/2048M peak=161M kills=0 rs=0 reqs=8986 +[19:51:54] + 469s emby=142M/2048M peak=161M kills=0 rs=0 reqs=9286 +[19:52:09] + 484s emby=142M/2048M peak=161M kills=0 rs=0 reqs=9586 +[19:52:24] + 499s emby=143M/2048M peak=161M kills=0 rs=0 reqs=9886 +[19:52:39] + 515s emby=142M/2048M peak=161M kills=0 rs=0 reqs=10186 +[19:52:54] + 530s emby=143M/2048M peak=161M kills=0 rs=0 reqs=10486 +[19:53:09] + 545s emby=143M/2048M peak=161M kills=0 rs=0 reqs=10786 +[19:53:25] + 560s emby=143M/2048M peak=161M kills=0 rs=0 reqs=11086 +[19:53:40] + 575s emby=143M/2048M peak=161M kills=0 rs=0 reqs=11386 +[19:53:55] + 590s emby=143M/2048M peak=161M kills=0 rs=0 reqs=11686 +[19:54:10] + 605s emby=143M/2048M peak=161M kills=0 rs=0 reqs=11987 +[19:54:10] memory watch: killed=False tight=[] requests=11987 codes={'302': 11987} +[19:54:10] MV-emby: ABORT — putting the FROM images back +[19:54:42] emby: readback found=True (http 200, control passed) +[19:54:42] ABORT: app came back in 30.8s; data present=True +{ + "harness_version": 3, + "edge": "MV-emby", + "app": "emby", + "note": "night 2026-09-23 within-a-major move: emby=emby/embyserver:4.11.0.3", + "from": { + "emby": "emby/embyserver:4.11.0.1" + }, + "to": { + "emby": "emby/embyserver:4.11.0.3" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kemby | Info SqliteUserRepository: Sqlite compiler options: ATOMIC_INTRINSICS=1,COMPILER=gcc-13.4.0,DEFAULT_AUTOVACUUM,DEFAULT_CACHE_SIZE=-2000,DEFAULT_FILE_FORMAT=4,DEFAULT_JOURNAL_SIZE_LIMIT=-1,DEFAULT_MMAP_SIZE=0,DEFAULT_PAGE_SIZE=4096,DEFAULT_PCACHE_INITSZ=20,DEFAULT_RECURSIVE_TRIGGERS,DEFAULT_SECTOR_SIZE=4096,DEFAULT_SYNCHRONOUS=2,DEFAULT_WAL_AUTOCHECKPOINT=1000,DEFAULT_WAL_SYNCHRONOUS=2,DEFAULT_WORKER_THREADS=0,DIRECT_OVERFLOW_READ,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_MATH_FUNCTIONS,ENABLE_PERCENTILE,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MALLOC_SOFT_LIMIT=1024,MAX_ATTACHED=10,MAX_COLUMN=2000,MAX_COMPOUND_SELECT=500,MAX_DEFAULT_PAGE_SIZE=8192,MAX_EXPR_DEPTH=1000,MAX_FUNCTION_ARG=1000,MAX_LENGTH=1000000000,MAX_LIKE_PATTERN_LENGTH=50000,MAX_MMAP_SIZE=0x7fff0000,MAX_PAGE_COUNT=0xfffffffe,MAX_PAGE_SIZE=65536,MAX_SCHEMA_RETRY=25,MAX_SQL_LENGTH=1000000000,MAX_TRIGGER_DEPTH=1000,MAX_VARIABLE_NUMBER=250000,MAX_VDBE_OP=250000000,MAX_WORKER_THREADS=8,MUTEX_PTHREADS,OMIT_LOOKASIDE,OMIT_SHARED_CACHE,SYSTEM_MALLOC,TEMP_STORE=1,THREADSAFE=1", + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": null, + "memory": { + "soak_s": 605.6, + "requested_s": 600, + "requests": 11987, + "codes": { + "302": 11987 + }, + "first_kill": null, + "containers": { + "emby": { + "limit": 2147483648, + "peak": 169578496, + "peak_pct": 0.079, + "anon_peak_sampled": 97271808, + "anon_peak_pct": 0.045, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 30.9, + "measured_at": "2026-09-23T19:54:42Z", + "evidence": "evidence/MV-emby", + "files_changed": [], + "total_s": 744.0 +} diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/abort-states.json b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/abort-states.json new file mode 100644 index 00000000..8e43020b --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/abort-states.json @@ -0,0 +1,8 @@ +{ + "emby": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/compose-final.log b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/compose-final.log new file mode 100644 index 00000000..84417f13 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/compose-final.log @@ -0,0 +1,259 @@ +emby | s6-rc: info: service s6rc-oneshot-runner: starting +emby | s6-rc: info: service s6rc-oneshot-runner successfully started +emby | s6-rc: info: service fix-attrs: starting +emby | s6-rc: info: service fix-attrs successfully started +emby | s6-rc: info: service legacy-cont-init: starting +emby | s6-rc: info: service legacy-cont-init successfully started +emby | s6-rc: info: service emby-server: starting +emby | s6-rc: info: service emby-server successfully started +emby | s6-rc: info: service legacy-services: starting +emby | s6-rc: info: service legacy-services successfully started +emby | Info Main: Application path: /system/EmbyServer.dll +emby | Info NetworkManager: Adding event handler for NetworkChange.NetworkAddressChanged +emby | Info App: Setting default culture to en-us +emby | Info Main: Emby Server 4.11.0.1 +emby | Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3 +emby | Operating system: Linux version 7.0.2-6-pve (build@proxmox) (gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC PMX 7.0.2-6 (2 +emby | OS/Process: x64/x64 +emby | Framework: .NET 8.0.28 +emby | Runtime: system/System.Private.CoreLib.dll +emby | Processor count: 6 +emby | Data path: /config +emby | Application path: /system +emby | Info Main: Logs path: /config/logs +emby | Info Main: Cache path: /config/cache +emby | Info Main: Internal metadata path: /config/metadata +emby | Info Main: DefaultThreadCurrentCulture: en-US +emby | Info Main: DefaultThreadCurrentUICulture: en-US +emby | Info Main: DefaultThreadCurrentUICulture: en-US +emby | Info Main: Server Friendly Name: ‌293effea0184‌ +emby | Info Main: Local time: 09/23/2026 21:54:12 +02:00 +emby | Info App: Emby Server Version: 4.11.0.1 +emby | Info App: Loading assemblies +emby | Info App: Updating pre-installed plugins due to server rollback. Last server version: 4.11.0.3. Current server version: 4.11.0.1 +emby | Info App: Any manually installed plugins will need to be reverted to compatible versions. Please use the Emby plugin catalog to install compatible versions of your plugins. +emby | Info App: Why did you roll back your server version? If you did so because of a problem, please make sure to report it to the Emby team. +emby | Info App: Copying plugin from /system/plugins/OpenSubtitles.dll to /config/plugins/OpenSubtitles.dll +emby | Info App: Copying plugin from /system/plugins/Tvdb.dll to /config/plugins/Tvdb.dll +emby | Info App: Copying plugin from /system/plugins/Emby.Server.CinemaMode.dll to /config/plugins/Emby.Server.CinemaMode.dll +emby | Info App: Copying plugin from /system/plugins/Fanart.dll to /config/plugins/Fanart.dll +emby | Info App: Copying plugin from /system/plugins/NfoMetadata.dll to /config/plugins/NfoMetadata.dll +emby | Info App: Copying plugin from /system/plugins/Emby.Dlna.dll to /config/plugins/Emby.Dlna.dll +emby | Info App: Copying plugin from /system/plugins/EmbyGuideData.dll to /config/plugins/EmbyGuideData.dll +emby | Info App: Copying plugin from /system/plugins/BlurayMounter.dll to /config/plugins/BlurayMounter.dll +emby | Info App: Copying plugin from /system/plugins/Emby.PortMapper.dll to /config/plugins/Emby.PortMapper.dll +emby | Info App: Copying plugin from /system/plugins/Emby.Webhooks.dll to /config/plugins/Emby.Webhooks.dll +emby | Info App: Copying plugin from /system/plugins/MusicBrainz.dll to /config/plugins/MusicBrainz.dll +emby | Info App: Copying plugin from /system/plugins/DvdMounter.dll to /config/plugins/DvdMounter.dll +emby | Info App: Copying plugin from /system/plugins/MovieDb.dll to /config/plugins/MovieDb.dll +emby | Info App: Copying plugin from /system/plugins/AudioDb.dll to /config/plugins/AudioDb.dll +emby | Info App: Copying plugin from /system/plugins/OMDb.dll to /config/plugins/OMDb.dll +emby | Info App: Copying plugin from /system/plugins/StudioImages.dll to /config/plugins/StudioImages.dll +emby | Info App: Copying plugin from /system/plugins/Emby.XmlTV.dll to /config/plugins/Emby.XmlTV.dll +emby | Info App: Copying plugin from /system/plugins/MBBackup.dll to /config/plugins/MBBackup.dll +emby | Info App: Copying plugin from /system/plugins/Emby.M3UTuner.dll to /config/plugins/Emby.M3UTuner.dll +emby | Info App: Loading Emby.Api, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Web, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading MediaBrowser.Model, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading MediaBrowser.Common, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading MediaBrowser.Controller, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Providers, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Photos, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Server.Implementations, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.LiveTV, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.ActivityLog, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Server.MediaEncoding, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.LocalMetadata, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Notifications, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Web.GenericUI, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Codecs.Dxva, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Codecs, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Server.Connect, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Server.Sync, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading EmbyServer, Version=4.11.0.1, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading OpenSubtitles, Version=1.0.69.0, Culture=neutral, PublicKeyToken=null from /config/plugins/OpenSubtitles.dll +emby | Info App: Loading Tvdb, Version=1.6.6.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Tvdb.dll +emby | Info App: Loading Emby.Server.CinemaMode, Version=1.0.52.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Server.CinemaMode.dll +emby | Info App: Loading Fanart, Version=1.0.18.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Fanart.dll +emby | Info App: Loading NfoMetadata, Version=1.0.86.0, Culture=neutral, PublicKeyToken=null from /config/plugins/NfoMetadata.dll +emby | Info App: Loading Emby.Dlna, Version=1.5.7.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Dlna.dll +emby | Info App: Loading EmbyGuideData, Version=1.0.21.0, Culture=neutral, PublicKeyToken=null from /config/plugins/EmbyGuideData.dll +emby | Info App: Loading BlurayMounter, Version=1.0.5.0, Culture=neutral, PublicKeyToken=null from /config/plugins/BlurayMounter.dll +emby | Info App: Loading Emby.PortMapper, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.PortMapper.dll +emby | Info App: Loading Emby.Webhooks, Version=1.0.38.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Webhooks.dll +emby | Info App: Loading MusicBrainz, Version=1.0.30.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MusicBrainz.dll +emby | Info App: Loading DvdMounter, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null from /config/plugins/DvdMounter.dll +emby | Info App: Loading MovieDb, Version=1.9.5.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MovieDb.dll +emby | Info App: Loading AudioDb, Version=1.0.21.0, Culture=neutral, PublicKeyToken=null from /config/plugins/AudioDb.dll +emby | Info App: Loading OMDb, Version=1.0.23.0, Culture=neutral, PublicKeyToken=null from /config/plugins/OMDb.dll +emby | Info App: Loading StudioImages, Version=1.0.3.0, Culture=neutral, PublicKeyToken=null from /config/plugins/StudioImages.dll +emby | Info App: Loading Emby.XmlTV, Version=1.2.2.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.XmlTV.dll +emby | Info App: Loading MBBackup, Version=1.8.6.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MBBackup.dll +emby | Info App: Loading Emby.M3UTuner, Version=1.0.46.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.M3UTuner.dll +emby | Info SqliteUserRepository: Initializing PooledDatabaseConnectionManager with pool size: 3 +emby | Info SqliteUserRepository: Sqlite version: 3.53.4 +emby | Info SqliteUserRepository: Sqlite compiler options: ATOMIC_INTRINSICS=1,COMPILER=gcc-13.4.0,DEFAULT_AUTOVACUUM,DEFAULT_CACHE_SIZE=-2000,DEFAULT_FILE_FORMAT=4,DEFAULT_JOURNAL_SIZE_LIMIT=-1,DEFAULT_MMAP_SIZE=0,DEFAULT_PAGE_SIZE=4096,DEFAULT_PCACHE_INITSZ=20,DEFAULT_RECURSIVE_TRIGGERS,DEFAULT_SECTOR_SIZE=4096,DEFAULT_SYNCHRONOUS=2,DEFAULT_WAL_AUTOCHECKPOINT=1000,DEFAULT_WAL_SYNCHRONOUS=2,DEFAULT_WORKER_THREADS=0,DIRECT_OVERFLOW_READ,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_MATH_FUNCTIONS,ENABLE_PERCENTILE,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MALLOC_SOFT_LIMIT=1024,MAX_ATTACHED=10,MAX_COLUMN=2000,MAX_COMPOUND_SELECT=500,MAX_DEFAULT_PAGE_SIZE=8192,MAX_EXPR_DEPTH=1000,MAX_FUNCTION_ARG=1000,MAX_LENGTH=1000000000,MAX_LIKE_PATTERN_LENGTH=50000,MAX_MMAP_SIZE=0x7fff0000,MAX_PAGE_COUNT=0xfffffffe,MAX_PAGE_SIZE=65536,MAX_SCHEMA_RETRY=25,MAX_SQL_LENGTH=1000000000,MAX_TRIGGER_DEPTH=1000,MAX_VARIABLE_NUMBER=250000,MAX_VDBE_OP=250000000,MAX_WORKER_THREADS=8,MUTEX_PTHREADS,OMIT_LOOKASIDE,OMIT_SHARED_CACHE,SYSTEM_MALLOC,TEMP_STORE=1,THREADSAFE=1 +emby | Info SqliteUserRepository: Sqlite ThreadSafe: 1 +emby | Info SqliteUserRepository: Sqlite ThreadingMode: MultiThreaded +emby | Info SqliteUserRepository: Opening sqlite connection to /config/data/users.db. isReadOnly: False +emby | Info SqliteUserRepository: Default journal_mode for /config/data/users.db is wal +emby | Info SqliteUserRepository: PRAGMA cache_size=-65536 +emby | Info SqliteUserRepository: PRAGMA page_size=4096 +emby | Info SqliteUserRepository: PRAGMA foreign_keys=1 +emby | Info SqliteUserRepository: PRAGMA SECURE_DELETE=0 +emby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info SqliteItemRepository: Initializing PooledDatabaseConnectionManager with pool size: 5 +emby | Info AuthenticationRepository: Initializing PooledDatabaseConnectionManager with pool size: 5 +emby | Info ActivityRepository: Initializing PooledDatabaseConnectionManager with pool size: 3 +emby | Info ActivityRepository: Opening sqlite connection to /config/data/activitylog.db. isReadOnly: False +emby | Info ActivityRepository: Default journal_mode for /config/data/activitylog.db is wal +emby | Info ActivityRepository: PRAGMA cache_size=-65536 +emby | Info ActivityRepository: PRAGMA page_size=4096 +emby | Info ActivityRepository: PRAGMA foreign_keys=1 +emby | Info ActivityRepository: PRAGMA SECURE_DELETE=0 +emby | Info ActivityRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info ActivityRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info NetworkManager: Detecting local network addresses +emby | Info NetworkManager: networkInterface: Ethernet eth0, Speed: 10000000000, Description: eth0 +emby | Info NetworkManager: GatewayAddresses: 172.18.0.1 +emby | Info NetworkManager: UnicastAddresses: 172.18.0.2 +emby | Info NetworkManager: networkInterface: Loopback lo, Speed: -1, Description: lo +emby | Info NetworkManager: GatewayAddresses: +emby | Info NetworkManager: UnicastAddresses: 127.0.0.1,::1 +emby | Info NetworkManager: Detected local ip addresses: [{"IPAddress":"172.18.0.2","HasGateWayAddress":true,"PrefixLength":16,"IPv4Mask":"255.255.0.0","BroadcastAddress":"172.18.255.255"},{"IPAddress":"127.0.0.1","HasGateWayAddress":false,"PrefixLength":8,"IPv4Mask":"255.0.0.0","BroadcastAddress":"127.255.255.255"},{"IPAddress":"::1","HasGateWayAddress":false,"PrefixLength":128}] +emby | Info App: Adding HttpListener prefix http://+:8096/ +emby | Info AuthenticationRepository: Opening sqlite connection to /config/data/authentication.db. isReadOnly: False +emby | Info AuthenticationRepository: Default journal_mode for /config/data/authentication.db is wal +emby | Info AuthenticationRepository: PRAGMA cache_size=-65536 +emby | Info AuthenticationRepository: PRAGMA page_size=4096 +emby | Info AuthenticationRepository: PRAGMA foreign_keys=1 +emby | Info AuthenticationRepository: PRAGMA SECURE_DELETE=0 +emby | Info AuthenticationRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info AuthenticationRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info SqliteItemRepository: Opening sqlite connection to /config/data/library.db. isReadOnly: False +emby | Info SqliteItemRepository: Default journal_mode for /config/data/library.db is wal +emby | Info SqliteItemRepository: PRAGMA cache_size=-131072 +emby | Info SqliteItemRepository: PRAGMA page_size=4096 +emby | Info SqliteItemRepository: PRAGMA foreign_keys=1 +emby | Info SqliteItemRepository: PRAGMA SECURE_DELETE=0 +emby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info SqliteItemRepository: Init Complete +emby | Info SqliteItemRepository: Opening sqlite connection to /config/data/library.db. isReadOnly: True +emby | Info SqliteItemRepository: PRAGMA cache_size=-131072 +emby | Info SqliteItemRepository: PRAGMA page_size=4096 +emby | Info SqliteItemRepository: PRAGMA foreign_keys=1 +emby | Info SqliteItemRepository: PRAGMA SECURE_DELETE=0 +emby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info SqliteUserRepository: Opening sqlite connection to /config/data/users.db. isReadOnly: True +emby | Info SqliteUserRepository: PRAGMA cache_size=-65536 +emby | Info SqliteUserRepository: PRAGMA page_size=4096 +emby | Info SqliteUserRepository: PRAGMA foreign_keys=1 +emby | Info SqliteUserRepository: PRAGMA SECURE_DELETE=0 +emby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info App: Emby Server 4.11.0.1 +emby | Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3 +emby | Operating system: Linux version 7.0.2-6-pve (build@proxmox) (gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC PMX 7.0.2-6 (2 +emby | OS/Process: x64/x64 +emby | Framework: .NET 8.0.28 +emby | Runtime: system/System.Private.CoreLib.dll +emby | Processor count: 6 +emby | Data path: /config +emby | Application path: /system +emby | Info App: Logs path: /config/logs +emby | Info App: Cache path: /config/cache +emby | Info App: Internal metadata path: /config/metadata +emby | Info App: Transcoding temporary files path: /config/transcoding-temp +emby | Info App: DefaultThreadCurrentCulture: en-US +emby | Info App: DefaultThreadCurrentUICulture: en-US +emby | Info App: DefaultThreadCurrentUICulture: en-US +emby | Info App: Server Friendly Name: ‌293effea0184‌ +emby | Info App: Local time: 09/23/2026 21:54:13 +02:00 +emby | Info FfmpegManager: FFMpeg: /bin/ffmpeg +emby | Info FfmpegManager: FFProbe: /bin/ffprobe +emby | Info FfmpegManager: FFDetect: /bin/ffdetect +emby | Info Skia: SkiaSharp version: 2.88.0.0 +emby | Info libvips: NetVips version: 3.0.0.0 +emby | Info ImageProcessor: Adding image processor Skia +emby | Info ImageProcessor: Adding image processor libvips +emby | Info TaskManager: Daily trigger for Video preview thumbnail extraction set to fire at 09/24/2026 02:00:00, which is 245.76253767166668 minutes from now. +emby | Info TaskManager: Daily trigger for Rotate log file set to fire at 09/24/2026 00:00:00, which is 125.76212192833333 minutes from now. +emby | Info TaskManager: Queueing task HardwareDetectionScheduledTask +emby | Info TaskManager: Executing Hardware Detection +emby | Info TaskManager: Daily trigger for Emby Server Backup set to fire at 09/24/2026 00:10:00, which is 135.76194795166666 minutes from now. +emby | Info App: ServerId: 488ce61f449641aea0ad39797cf4cd4e +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Execute: /bin/ffmpeg -hide_banner -version +emby | Info App: Starting entry point Emby.Server.Implementations.Networking.RemoteAddressEntryPoint +emby | Info App: Loading data from /config/data/wan.dat +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Process exited with code 0 +emby | Info App: Entry point completed: Emby.Server.Implementations.Networking.RemoteAddressEntryPoint. Duration: 0.002987 seconds +emby | Info App: Starting entry point Emby.Server.Connect.ConnectEntryPoint +emby | Info App: Loading data from /config/data/connect.txt +emby | Info App: Entry point completed: Emby.Server.Connect.ConnectEntryPoint. Duration: 0.0043274 seconds +emby | Info App: Starting entry point Emby.Dlna.Main.DlnaEntryPoint +emby | Info FfmpegManager: FfmpegValidator.Validate complete +emby | Info App: Entry point completed: Emby.Dlna.Main.DlnaEntryPoint. Duration: 0.0721079 seconds +emby | Info App: Core startup complete +emby | Info App: Starting entry point Emby.Server.Implementations.Udp.UdpServerEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.Udp.UdpServerEntryPoint. Duration: 0.0016888 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.Session.PartyEventNotifier +emby | Info App: Entry point completed: Emby.Server.Implementations.Session.PartyEventNotifier. Duration: 0.0008481 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint. Duration: 0.0013743 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.Library.DeviceAccessEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.Library.DeviceAccessEntryPoint. Duration: 0.0004693 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.IO.LibraryMonitorStartup +emby | Info App: Entry point completed: Emby.Server.Implementations.IO.LibraryMonitorStartup. Duration: 0.019563 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.AutomaticRestartEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.AutomaticRestartEntryPoint. Duration: 0.0005102 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.KeepServerAwake +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.KeepServerAwake. Duration: 0.0001471 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.LibraryChangedNotifier +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.LibraryChangedNotifier. Duration: 0.0009068 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.LogLibrariesEntryPoint +emby | Info App: Libraries +emby | Server Configuration: CollapseVideoFolders: False +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.LogLibrariesEntryPoint. Duration: 0.0008575 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.ServerEventNotifier +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.ServerEventNotifier. Duration: 0.0018216 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.StartupWizard +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.StartupWizard. Duration: 0.0003939 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.SystemEvents +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.SystemEvents. Duration: 0.0002141 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.UserDataChangeNotifier +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.UserDataChangeNotifier. Duration: 0.0002156 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.Channels.ChannelsEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.Channels.ChannelsEntryPoint. Duration: 0.0023012 seconds +emby | Info App: Starting entry point Emby.LiveTV.EntryPoint +emby | Info LiveTV: Loading live tv data from /config/data/livetv/timers +emby | Info App: Entry point completed: Emby.LiveTV.EntryPoint. Duration: 0.0024035 seconds +emby | Info App: Starting entry point Emby.LiveTV.RecordingNotifier +emby | Info App: Entry point completed: Emby.LiveTV.RecordingNotifier. Duration: 0.0011414 seconds +emby | Info App: Starting entry point Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint +emby | Info App: Entry point completed: Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint. Duration: 0.0006033 seconds +emby | Info App: Starting entry point Emby.Notifications.NotificationManagerEntryPoint +emby | Info Notifications: Registering event nofitier Activity Log +emby | Info Notifications: Registering event nofitier Emby Server User Notifications +emby | Info Notifications: Registering event factory CoreNotificationTypeFactory +emby | Info Notifications: Registering event factory BackupNotificationTypeFactory +emby | Info App: Entry point completed: Emby.Notifications.NotificationManagerEntryPoint. Duration: 0.0231852 seconds +emby | Info App: Starting entry point Emby.Server.Sync.SyncNotificationEntryPoint +emby | Info App: Entry point completed: Emby.Server.Sync.SyncNotificationEntryPoint. Duration: 0.000917 seconds +emby | Info App: Starting entry point EmbyServer.Windows.LoopUtilEntryPoint +emby | Info App: Entry point completed: EmbyServer.Windows.LoopUtilEntryPoint. Duration: 9.48E-05 seconds +emby | Info App: Starting entry point Tvdb.EntryPoint +emby | Info App: Entry point completed: Tvdb.EntryPoint. Duration: 3.63E-05 seconds +emby | Info App: Starting entry point Emby.Security.PluginSecurityManager +emby | Info App: Entry point completed: Emby.Security.PluginSecurityManager. Duration: 3.11E-05 seconds +emby | Info App: Starting entry point Emby.Server.CinemaMode.IntrosEntryPoint +emby | Info App: Entry point completed: Emby.Server.CinemaMode.IntrosEntryPoint. Duration: 0.0001489 seconds +emby | Info App: Starting entry point NfoMetadata.EntryPoint +emby | Info App: Entry point completed: NfoMetadata.EntryPoint. Duration: 0.0001215 seconds +emby | Info App: Starting entry point Emby.PortMapper.ExternalPortForwarding +emby | Info App: Entry point completed: Emby.PortMapper.ExternalPortForwarding. Duration: 0.0014273 seconds +emby | Info App: Starting entry point MBBackup.ServerEntryPoint +emby | Info App: Entry point completed: MBBackup.ServerEntryPoint. Duration: 8.56E-05 seconds +emby | Info App: All entry points have started diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/engine-state.json b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/engine-state.json new file mode 100644 index 00000000..ec747fa4 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/engine-state.json @@ -0,0 +1 @@ +null \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/files-after.json b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/files-after.json new file mode 100644 index 00000000..65fca25a --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/files-after.json @@ -0,0 +1,3 @@ +{ + "/srv/felhom-gate/hdd/userdata/media": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/files-before.json b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/files-before.json new file mode 100644 index 00000000..65fca25a --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/files-before.json @@ -0,0 +1,3 @@ +{ + "/srv/felhom-gate/hdd/userdata/media": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/memory-samples.json b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/memory-samples.json new file mode 100644 index 00000000..3ed110c8 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/memory-samples.json @@ -0,0 +1,682 @@ +[ + { + "t": 15.1, + "containers": { + "emby": { + "limit": 2147483648, + "current": 167043072, + "peak": 168034304, + "anon": 97165312, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 300 + }, + { + "t": 30.3, + "containers": { + "emby": { + "limit": 2147483648, + "current": 167821312, + "peak": 169091072, + "anon": 97189888, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 604 + }, + { + "t": 45.4, + "containers": { + "emby": { + "limit": 2147483648, + "current": 166912000, + "peak": 169091072, + "anon": 97214464, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 900 + }, + { + "t": 60.5, + "containers": { + "emby": { + "limit": 2147483648, + "current": 167768064, + "peak": 169578496, + "anon": 97271808, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1200 + }, + { + "t": 75.6, + "containers": { + "emby": { + "limit": 2147483648, + "current": 152260608, + "peak": 169578496, + "anon": 96182272, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1501 + }, + { + "t": 90.8, + "containers": { + "emby": { + "limit": 2147483648, + "current": 152211456, + "peak": 169578496, + "anon": 96149504, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1804 + }, + { + "t": 105.9, + "containers": { + "emby": { + "limit": 2147483648, + "current": 152891392, + "peak": 169578496, + "anon": 96403456, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2102 + }, + { + "t": 121.0, + "containers": { + "emby": { + "limit": 2147483648, + "current": 153096192, + "peak": 169578496, + "anon": 95477760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2402 + }, + { + "t": 136.2, + "containers": { + "emby": { + "limit": 2147483648, + "current": 151961600, + "peak": 169578496, + "anon": 95186944, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2702 + }, + { + "t": 151.3, + "containers": { + "emby": { + "limit": 2147483648, + "current": 151953408, + "peak": 169578496, + "anon": 93794304, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3000 + }, + { + "t": 166.5, + "containers": { + "emby": { + "limit": 2147483648, + "current": 152363008, + "peak": 169578496, + "anon": 93339648, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3299 + }, + { + "t": 181.7, + "containers": { + "emby": { + "limit": 2147483648, + "current": 151609344, + "peak": 169578496, + "anon": 93134848, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3594 + }, + { + "t": 196.9, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148570112, + "peak": 169578496, + "anon": 91279360, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3890 + }, + { + "t": 212.0, + "containers": { + "emby": { + "limit": 2147483648, + "current": 147329024, + "peak": 169578496, + "anon": 88862720, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4190 + }, + { + "t": 227.1, + "containers": { + "emby": { + "limit": 2147483648, + "current": 147984384, + "peak": 169578496, + "anon": 88956928, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4486 + }, + { + "t": 242.3, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148307968, + "peak": 169578496, + "anon": 88956928, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4786 + }, + { + "t": 257.5, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148205568, + "peak": 169578496, + "anon": 88952832, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5086 + }, + { + "t": 272.6, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148508672, + "peak": 169578496, + "anon": 88952832, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5386 + }, + { + "t": 287.7, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148615168, + "peak": 169578496, + "anon": 88809472, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5686 + }, + { + "t": 302.9, + "containers": { + "emby": { + "limit": 2147483648, + "current": 149192704, + "peak": 169578496, + "anon": 88834048, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5986 + }, + { + "t": 318.0, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148307968, + "peak": 169578496, + "anon": 88776704, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6286 + }, + { + "t": 333.1, + "containers": { + "emby": { + "limit": 2147483648, + "current": 147976192, + "peak": 169578496, + "anon": 87941120, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6586 + }, + { + "t": 348.3, + "containers": { + "emby": { + "limit": 2147483648, + "current": 147779584, + "peak": 169578496, + "anon": 87957504, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6886 + }, + { + "t": 363.4, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148074496, + "peak": 169578496, + "anon": 87986176, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7186 + }, + { + "t": 378.5, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148049920, + "peak": 169578496, + "anon": 87982080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7486 + }, + { + "t": 393.6, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148086784, + "peak": 169578496, + "anon": 87998464, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7786 + }, + { + "t": 408.7, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148639744, + "peak": 169578496, + "anon": 87990272, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8086 + }, + { + "t": 423.8, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148344832, + "peak": 169578496, + "anon": 87973888, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8386 + }, + { + "t": 439.0, + "containers": { + "emby": { + "limit": 2147483648, + "current": 148643840, + "peak": 169578496, + "anon": 87973888, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8686 + }, + { + "t": 454.1, + "containers": { + "emby": { + "limit": 2147483648, + "current": 149606400, + "peak": 169578496, + "anon": 87957504, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8986 + }, + { + "t": 469.2, + "containers": { + "emby": { + "limit": 2147483648, + "current": 149880832, + "peak": 169578496, + "anon": 88141824, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9286 + }, + { + "t": 484.3, + "containers": { + "emby": { + "limit": 2147483648, + "current": 149897216, + "peak": 169578496, + "anon": 88137728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9586 + }, + { + "t": 499.4, + "containers": { + "emby": { + "limit": 2147483648, + "current": 150163456, + "peak": 169578496, + "anon": 88158208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9886 + }, + { + "t": 514.6, + "containers": { + "emby": { + "limit": 2147483648, + "current": 149680128, + "peak": 169578496, + "anon": 88178688, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10186 + }, + { + "t": 529.7, + "containers": { + "emby": { + "limit": 2147483648, + "current": 150487040, + "peak": 169578496, + "anon": 88903680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10486 + }, + { + "t": 544.8, + "containers": { + "emby": { + "limit": 2147483648, + "current": 150786048, + "peak": 169578496, + "anon": 88903680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10786 + }, + { + "t": 559.9, + "containers": { + "emby": { + "limit": 2147483648, + "current": 150515712, + "peak": 169578496, + "anon": 88903680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11086 + }, + { + "t": 575.1, + "containers": { + "emby": { + "limit": 2147483648, + "current": 150831104, + "peak": 169578496, + "anon": 88924160, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11386 + }, + { + "t": 590.2, + "containers": { + "emby": { + "limit": 2147483648, + "current": 150503424, + "peak": 169578496, + "anon": 88907776, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11686 + }, + { + "t": 605.3, + "containers": { + "emby": { + "limit": 2147483648, + "current": 150798336, + "peak": 169578496, + "anon": 88907776, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11987 + } +] \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/migration-lines.txt b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/migration-lines.txt new file mode 100644 index 00000000..8dc40903 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/migration-lines.txt @@ -0,0 +1,3 @@ +emby | Info SqliteUserRepository: Sqlite compiler options: ATOMIC_INTRINSICS=1,COMPILER=gcc-13.4.0,DEFAULT_AUTOVACUUM,DEFAULT_CACHE_SIZE=-2000,DEFAULT_FILE_FORMAT=4,DEFAULT_JOURNAL_SIZE_LIMIT=-1,DEFAULT_MMAP_SIZE=0,DEFAULT_PAGE_SIZE=4096,DEFAULT_PCACHE_INITSZ=20,DEFAULT_RECURSIVE_TRIGGERS,DEFAULT_SECTOR_SIZE=4096,DEFAULT_SYNCHRONOUS=2,DEFAULT_WAL_AUTOCHECKPOINT=1000,DEFAULT_WAL_SYNCHRONOUS=2,DEFAULT_WORKER_THREADS=0,DIRECT_OVERFLOW_READ,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_MATH_FUNCTIONS,ENABLE_PERCENTILE,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MALLOC_SOFT_LIMIT=1024,MAX_ATTACHED=10,MAX_COLUMN=2000,MAX_COMPOUND_SELECT=500,MAX_DEFAULT_PAGE_SIZE=8192,MAX_EXPR_DEPTH=1000,MAX_FUNCTION_ARG=1000,MAX_LENGTH=1000000000,MAX_LIKE_PATTERN_LENGTH=50000,MAX_MMAP_SIZE=0x7fff0000,MAX_PAGE_COUNT=0xfffffffe,MAX_PAGE_SIZE=65536,MAX_SCHEMA_RETRY=25,MAX_SQL_LENGTH=1000000000,MAX_TRIGGER_DEPTH=1000,MAX_VARIABLE_NUMBER=250000,MAX_VDBE_OP=250000000,MAX_WORKER_THREADS=8,MUTEX_PTHREADS,OMIT_LOOKASIDE,OMIT_SHARED_CACHE,SYSTEM_MALLOC,TEMP_STORE=1,THREADSAFE=1 +emby | Info App: Starting entry point Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint. Duration: 0.0014745 seconds \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/run.log b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/run.log new file mode 100644 index 00000000..5d308b08 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/run.log @@ -0,0 +1,57 @@ +[19:42:18] MV-emby: deploying emby at FROM {'emby': 'emby/embyserver:4.11.0.1'} +[19:43:10] FROM settled=True in 30.8s :: {"emby": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:43:10] fixture: the BOX walk's own (Emby), through upgrade_boxport +[19:43:10] emby: seeded first user drille7433d86 +[19:43:10] emby: readback found=True (http 200, control passed) +[19:43:10] C1 (seed reads back BEFORE): True +[19:43:10] MV-emby: swapping to TO {'emby': 'emby/embyserver:4.11.0.3'} +[19:43:33] TO up -d rc=0 +[19:44:04] TO settled=True in 30.9s :: {"emby": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:44:04] migration lines observed: 3 +[19:44:04] emby: readback found=True (http 200, control passed) +[19:44:04] RESULT (seed reads back AFTER): True +[19:44:05] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.2:8096 +[19:44:20] + 15s emby=159M/2048M peak=160M kills=0 rs=0 reqs=300 +[19:44:35] + 30s emby=160M/2048M peak=161M kills=0 rs=0 reqs=604 +[19:44:50] + 45s emby=159M/2048M peak=161M kills=0 rs=0 reqs=900 +[19:45:05] + 60s emby=159M/2048M peak=161M kills=0 rs=0 reqs=1200 +[19:45:20] + 76s emby=145M/2048M peak=161M kills=0 rs=0 reqs=1501 +[19:45:35] + 91s emby=145M/2048M peak=161M kills=0 rs=0 reqs=1804 +[19:45:51] + 106s emby=145M/2048M peak=161M kills=0 rs=0 reqs=2102 +[19:46:06] + 121s emby=146M/2048M peak=161M kills=0 rs=0 reqs=2402 +[19:46:21] + 136s emby=144M/2048M peak=161M kills=0 rs=0 reqs=2702 +[19:46:36] + 151s emby=144M/2048M peak=161M kills=0 rs=0 reqs=3000 +[19:46:51] + 166s emby=145M/2048M peak=161M kills=0 rs=0 reqs=3299 +[19:47:06] + 182s emby=144M/2048M peak=161M kills=0 rs=0 reqs=3594 +[19:47:21] + 197s emby=141M/2048M peak=161M kills=0 rs=0 reqs=3890 +[19:47:37] + 212s emby=140M/2048M peak=161M kills=0 rs=0 reqs=4190 +[19:47:52] + 227s emby=141M/2048M peak=161M kills=0 rs=0 reqs=4486 +[19:48:07] + 242s emby=141M/2048M peak=161M kills=0 rs=0 reqs=4786 +[19:48:22] + 258s emby=141M/2048M peak=161M kills=0 rs=0 reqs=5086 +[19:48:37] + 273s emby=141M/2048M peak=161M kills=0 rs=0 reqs=5386 +[19:48:52] + 288s emby=141M/2048M peak=161M kills=0 rs=0 reqs=5686 +[19:49:07] + 303s emby=142M/2048M peak=161M kills=0 rs=0 reqs=5986 +[19:49:23] + 318s emby=141M/2048M peak=161M kills=0 rs=0 reqs=6286 +[19:49:38] + 333s emby=141M/2048M peak=161M kills=0 rs=0 reqs=6586 +[19:49:53] + 348s emby=140M/2048M peak=161M kills=0 rs=0 reqs=6886 +[19:50:08] + 363s emby=141M/2048M peak=161M kills=0 rs=0 reqs=7186 +[19:50:23] + 378s emby=141M/2048M peak=161M kills=0 rs=0 reqs=7486 +[19:50:38] + 394s emby=141M/2048M peak=161M kills=0 rs=0 reqs=7786 +[19:50:53] + 409s emby=141M/2048M peak=161M kills=0 rs=0 reqs=8086 +[19:51:08] + 424s emby=141M/2048M peak=161M kills=0 rs=0 reqs=8386 +[19:51:24] + 439s emby=141M/2048M peak=161M kills=0 rs=0 reqs=8686 +[19:51:39] + 454s emby=142M/2048M peak=161M kills=0 rs=0 reqs=8986 +[19:51:54] + 469s emby=142M/2048M peak=161M kills=0 rs=0 reqs=9286 +[19:52:09] + 484s emby=142M/2048M peak=161M kills=0 rs=0 reqs=9586 +[19:52:24] + 499s emby=143M/2048M peak=161M kills=0 rs=0 reqs=9886 +[19:52:39] + 515s emby=142M/2048M peak=161M kills=0 rs=0 reqs=10186 +[19:52:54] + 530s emby=143M/2048M peak=161M kills=0 rs=0 reqs=10486 +[19:53:09] + 545s emby=143M/2048M peak=161M kills=0 rs=0 reqs=10786 +[19:53:25] + 560s emby=143M/2048M peak=161M kills=0 rs=0 reqs=11086 +[19:53:40] + 575s emby=143M/2048M peak=161M kills=0 rs=0 reqs=11386 +[19:53:55] + 590s emby=143M/2048M peak=161M kills=0 rs=0 reqs=11686 +[19:54:10] + 605s emby=143M/2048M peak=161M kills=0 rs=0 reqs=11987 +[19:54:10] memory watch: killed=False tight=[] requests=11987 codes={'302': 11987} +[19:54:10] MV-emby: ABORT — putting the FROM images back +[19:54:42] emby: readback found=True (http 200, control passed) +[19:54:42] ABORT: app came back in 30.8s; data present=True \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/to-full.log b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/to-full.log new file mode 100644 index 00000000..903a2985 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/to-full.log @@ -0,0 +1,285 @@ +emby | s6-rc: info: service s6rc-oneshot-runner: starting +emby | s6-rc: info: service s6rc-oneshot-runner successfully started +emby | s6-rc: info: service fix-attrs: starting +emby | s6-rc: info: service fix-attrs successfully started +emby | s6-rc: info: service legacy-cont-init: starting +emby | s6-rc: info: service legacy-cont-init successfully started +emby | s6-rc: info: service emby-server: starting +emby | s6-rc: info: service emby-server successfully started +emby | s6-rc: info: service legacy-services: starting +emby | s6-rc: info: service legacy-services successfully started +emby | Info Main: Application path: /system/EmbyServer.dll +emby | Info NetworkManager: Adding event handler for NetworkChange.NetworkAddressChanged +emby | Info App: Setting default culture to en-us +emby | Info Main: Emby Server 4.11.0.3 +emby | Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3 +emby | Operating system: Linux version 7.0.2-6-pve (build@proxmox) (gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC PMX 7.0.2-6 (2 +emby | OS/Process: x64/x64 +emby | Framework: .NET 8.0.28 +emby | Runtime: system/System.Private.CoreLib.dll +emby | Processor count: 6 +emby | Data path: /config +emby | Application path: /system +emby | Info Main: Logs path: /config/logs +emby | Info Main: Cache path: /config/cache +emby | Info Main: Internal metadata path: /config/metadata +emby | Info Main: DefaultThreadCurrentCulture: en-US +emby | Info Main: DefaultThreadCurrentUICulture: en-US +emby | Info Main: DefaultThreadCurrentUICulture: en-US +emby | Info Main: Server Friendly Name: ‌ff4fc4f791ea‌ +emby | Info Main: Local time: 09/23/2026 21:43:34 +02:00 +emby | Info App: Emby Server Version: 4.11.0.3 +emby | Info App: Loading assemblies +emby | Info App: File /config/plugins/OpenSubtitles.dll has version 1.0.69.0 +emby | Info App: File /system/plugins/OpenSubtitles.dll has version 1.0.69.0 +emby | Info App: File /config/plugins/Tvdb.dll has version 1.6.6.0 +emby | Info App: File /system/plugins/Tvdb.dll has version 1.6.6.0 +emby | Info App: File /config/plugins/Emby.Server.CinemaMode.dll has version 1.0.52.0 +emby | Info App: File /system/plugins/Emby.Server.CinemaMode.dll has version 1.0.52.0 +emby | Info App: File /config/plugins/Fanart.dll has version 1.0.18.0 +emby | Info App: File /system/plugins/Fanart.dll has version 1.0.18.0 +emby | Info App: File /config/plugins/NfoMetadata.dll has version 1.0.86.0 +emby | Info App: File /system/plugins/NfoMetadata.dll has version 1.0.86.0 +emby | Info App: File /config/plugins/Emby.Dlna.dll has version 1.5.7.0 +emby | Info App: File /system/plugins/Emby.Dlna.dll has version 1.5.7.0 +emby | Info App: File /config/plugins/EmbyGuideData.dll has version 1.0.21.0 +emby | Info App: File /system/plugins/EmbyGuideData.dll has version 1.0.21.0 +emby | Info App: File /config/plugins/BlurayMounter.dll has version 1.0.5.0 +emby | Info App: File /system/plugins/BlurayMounter.dll has version 1.0.5.0 +emby | Info App: File /config/plugins/Emby.PortMapper.dll has version 1.3.0.0 +emby | Info App: File /system/plugins/Emby.PortMapper.dll has version 1.3.0.0 +emby | Info App: File /config/plugins/Emby.Webhooks.dll has version 1.0.38.0 +emby | Info App: File /system/plugins/Emby.Webhooks.dll has version 1.0.38.0 +emby | Info App: File /config/plugins/MusicBrainz.dll has version 1.0.30.0 +emby | Info App: File /system/plugins/MusicBrainz.dll has version 1.0.30.0 +emby | Info App: File /config/plugins/DvdMounter.dll has version 1.0.2.0 +emby | Info App: File /system/plugins/DvdMounter.dll has version 1.0.2.0 +emby | Info App: File /config/plugins/MovieDb.dll has version 1.9.5.0 +emby | Info App: File /system/plugins/MovieDb.dll has version 1.9.5.0 +emby | Info App: File /config/plugins/AudioDb.dll has version 1.0.21.0 +emby | Info App: File /system/plugins/AudioDb.dll has version 1.0.21.0 +emby | Info App: File /config/plugins/OMDb.dll has version 1.0.23.0 +emby | Info App: File /system/plugins/OMDb.dll has version 1.0.23.0 +emby | Info App: File /config/plugins/StudioImages.dll has version 1.0.3.0 +emby | Info App: File /system/plugins/StudioImages.dll has version 1.0.3.0 +emby | Info App: File /config/plugins/Emby.XmlTV.dll has version 1.2.2.0 +emby | Info App: File /system/plugins/Emby.XmlTV.dll has version 1.2.2.0 +emby | Info App: File /config/plugins/MBBackup.dll has version 1.8.6.0 +emby | Info App: File /system/plugins/MBBackup.dll has version 1.8.6.0 +emby | Info App: File /config/plugins/Emby.M3UTuner.dll has version 1.0.46.0 +emby | Info App: File /system/plugins/Emby.M3UTuner.dll has version 1.0.46.0 +emby | Info App: Loading Emby.Api, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Web, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading MediaBrowser.Model, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading MediaBrowser.Common, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading MediaBrowser.Controller, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Providers, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Photos, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Server.Implementations, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.LiveTV, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.ActivityLog, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Server.MediaEncoding, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.LocalMetadata, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Notifications, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Web.GenericUI, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Codecs.Dxva, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Codecs, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Server.Connect, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading Emby.Server.Sync, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading EmbyServer, Version=4.11.0.3, Culture=neutral, PublicKeyToken=null +emby | Info App: Loading OpenSubtitles, Version=1.0.69.0, Culture=neutral, PublicKeyToken=null from /config/plugins/OpenSubtitles.dll +emby | Info App: Loading Tvdb, Version=1.6.6.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Tvdb.dll +emby | Info App: Loading Emby.Server.CinemaMode, Version=1.0.52.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Server.CinemaMode.dll +emby | Info App: Loading Fanart, Version=1.0.18.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Fanart.dll +emby | Info App: Loading NfoMetadata, Version=1.0.86.0, Culture=neutral, PublicKeyToken=null from /config/plugins/NfoMetadata.dll +emby | Info App: Loading Emby.Dlna, Version=1.5.7.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Dlna.dll +emby | Info App: Loading EmbyGuideData, Version=1.0.21.0, Culture=neutral, PublicKeyToken=null from /config/plugins/EmbyGuideData.dll +emby | Info App: Loading BlurayMounter, Version=1.0.5.0, Culture=neutral, PublicKeyToken=null from /config/plugins/BlurayMounter.dll +emby | Info App: Loading Emby.PortMapper, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.PortMapper.dll +emby | Info App: Loading Emby.Webhooks, Version=1.0.38.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.Webhooks.dll +emby | Info App: Loading MusicBrainz, Version=1.0.30.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MusicBrainz.dll +emby | Info App: Loading DvdMounter, Version=1.0.2.0, Culture=neutral, PublicKeyToken=null from /config/plugins/DvdMounter.dll +emby | Info App: Loading MovieDb, Version=1.9.5.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MovieDb.dll +emby | Info App: Loading AudioDb, Version=1.0.21.0, Culture=neutral, PublicKeyToken=null from /config/plugins/AudioDb.dll +emby | Info App: Loading OMDb, Version=1.0.23.0, Culture=neutral, PublicKeyToken=null from /config/plugins/OMDb.dll +emby | Info App: Loading StudioImages, Version=1.0.3.0, Culture=neutral, PublicKeyToken=null from /config/plugins/StudioImages.dll +emby | Info App: Loading Emby.XmlTV, Version=1.2.2.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.XmlTV.dll +emby | Info App: Loading MBBackup, Version=1.8.6.0, Culture=neutral, PublicKeyToken=null from /config/plugins/MBBackup.dll +emby | Info App: Loading Emby.M3UTuner, Version=1.0.46.0, Culture=neutral, PublicKeyToken=null from /config/plugins/Emby.M3UTuner.dll +emby | Info SqliteUserRepository: Initializing PooledDatabaseConnectionManager with pool size: 3 +emby | Info SqliteUserRepository: Sqlite version: 3.53.4 +emby | Info SqliteUserRepository: Sqlite compiler options: ATOMIC_INTRINSICS=1,COMPILER=gcc-13.4.0,DEFAULT_AUTOVACUUM,DEFAULT_CACHE_SIZE=-2000,DEFAULT_FILE_FORMAT=4,DEFAULT_JOURNAL_SIZE_LIMIT=-1,DEFAULT_MMAP_SIZE=0,DEFAULT_PAGE_SIZE=4096,DEFAULT_PCACHE_INITSZ=20,DEFAULT_RECURSIVE_TRIGGERS,DEFAULT_SECTOR_SIZE=4096,DEFAULT_SYNCHRONOUS=2,DEFAULT_WAL_AUTOCHECKPOINT=1000,DEFAULT_WAL_SYNCHRONOUS=2,DEFAULT_WORKER_THREADS=0,DIRECT_OVERFLOW_READ,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_MATH_FUNCTIONS,ENABLE_PERCENTILE,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MALLOC_SOFT_LIMIT=1024,MAX_ATTACHED=10,MAX_COLUMN=2000,MAX_COMPOUND_SELECT=500,MAX_DEFAULT_PAGE_SIZE=8192,MAX_EXPR_DEPTH=1000,MAX_FUNCTION_ARG=1000,MAX_LENGTH=1000000000,MAX_LIKE_PATTERN_LENGTH=50000,MAX_MMAP_SIZE=0x7fff0000,MAX_PAGE_COUNT=0xfffffffe,MAX_PAGE_SIZE=65536,MAX_SCHEMA_RETRY=25,MAX_SQL_LENGTH=1000000000,MAX_TRIGGER_DEPTH=1000,MAX_VARIABLE_NUMBER=250000,MAX_VDBE_OP=250000000,MAX_WORKER_THREADS=8,MUTEX_PTHREADS,OMIT_LOOKASIDE,OMIT_SHARED_CACHE,SYSTEM_MALLOC,TEMP_STORE=1,THREADSAFE=1 +emby | Info SqliteUserRepository: Sqlite ThreadSafe: 1 +emby | Info SqliteUserRepository: Sqlite ThreadingMode: MultiThreaded +emby | Info SqliteUserRepository: Opening sqlite connection to /config/data/users.db. isReadOnly: False +emby | Info SqliteUserRepository: Default journal_mode for /config/data/users.db is wal +emby | Info SqliteUserRepository: PRAGMA cache_size=-65536 +emby | Info SqliteUserRepository: PRAGMA page_size=4096 +emby | Info SqliteUserRepository: PRAGMA foreign_keys=1 +emby | Info SqliteUserRepository: PRAGMA SECURE_DELETE=0 +emby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info SqliteItemRepository: Initializing PooledDatabaseConnectionManager with pool size: 5 +emby | Info AuthenticationRepository: Initializing PooledDatabaseConnectionManager with pool size: 5 +emby | Info ActivityRepository: Initializing PooledDatabaseConnectionManager with pool size: 3 +emby | Info ActivityRepository: Opening sqlite connection to /config/data/activitylog.db. isReadOnly: False +emby | Info ActivityRepository: Default journal_mode for /config/data/activitylog.db is wal +emby | Info ActivityRepository: PRAGMA cache_size=-65536 +emby | Info ActivityRepository: PRAGMA page_size=4096 +emby | Info ActivityRepository: PRAGMA foreign_keys=1 +emby | Info ActivityRepository: PRAGMA SECURE_DELETE=0 +emby | Info ActivityRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info ActivityRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info NetworkManager: Detecting local network addresses +emby | Info NetworkManager: networkInterface: Ethernet eth0, Speed: 10000000000, Description: eth0 +emby | Info NetworkManager: GatewayAddresses: 172.18.0.1 +emby | Info NetworkManager: UnicastAddresses: 172.18.0.2 +emby | Info NetworkManager: networkInterface: Loopback lo, Speed: -1, Description: lo +emby | Info NetworkManager: GatewayAddresses: +emby | Info NetworkManager: UnicastAddresses: 127.0.0.1,::1 +emby | Info NetworkManager: Detected local ip addresses: [{"IPAddress":"172.18.0.2","HasGateWayAddress":true,"PrefixLength":16,"IPv4Mask":"255.255.0.0","BroadcastAddress":"172.18.255.255"},{"IPAddress":"127.0.0.1","HasGateWayAddress":false,"PrefixLength":8,"IPv4Mask":"255.0.0.0","BroadcastAddress":"127.255.255.255"},{"IPAddress":"::1","HasGateWayAddress":false,"PrefixLength":128}] +emby | Info App: Adding HttpListener prefix http://+:8096/ +emby | Info AuthenticationRepository: Opening sqlite connection to /config/data/authentication.db. isReadOnly: False +emby | Info AuthenticationRepository: Default journal_mode for /config/data/authentication.db is wal +emby | Info AuthenticationRepository: PRAGMA cache_size=-65536 +emby | Info AuthenticationRepository: PRAGMA page_size=4096 +emby | Info AuthenticationRepository: PRAGMA foreign_keys=1 +emby | Info AuthenticationRepository: PRAGMA SECURE_DELETE=0 +emby | Info AuthenticationRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info AuthenticationRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info SqliteItemRepository: Opening sqlite connection to /config/data/library.db. isReadOnly: False +emby | Info SqliteItemRepository: Default journal_mode for /config/data/library.db is wal +emby | Info SqliteItemRepository: PRAGMA cache_size=-131072 +emby | Info SqliteItemRepository: PRAGMA page_size=4096 +emby | Info SqliteItemRepository: PRAGMA foreign_keys=1 +emby | Info SqliteItemRepository: PRAGMA SECURE_DELETE=0 +emby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info SqliteItemRepository: Init Complete +emby | Info SqliteItemRepository: Opening sqlite connection to /config/data/library.db. isReadOnly: True +emby | Info SqliteItemRepository: PRAGMA cache_size=-131072 +emby | Info SqliteItemRepository: PRAGMA page_size=4096 +emby | Info SqliteItemRepository: PRAGMA foreign_keys=1 +emby | Info SqliteItemRepository: PRAGMA SECURE_DELETE=0 +emby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info SqliteItemRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info SqliteUserRepository: Opening sqlite connection to /config/data/users.db. isReadOnly: True +emby | Info SqliteUserRepository: PRAGMA cache_size=-65536 +emby | Info SqliteUserRepository: PRAGMA page_size=4096 +emby | Info SqliteUserRepository: PRAGMA foreign_keys=1 +emby | Info SqliteUserRepository: PRAGMA SECURE_DELETE=0 +emby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DDL to 0 is 0 +emby | Info SqliteUserRepository: Result of setting SQLITE_DBCONFIG_DQS_DML to 0 is 0 +emby | Info App: Emby Server 4.11.0.3 +emby | Command line: /system/EmbyServer.dll -programdata /config -ffdetect /bin/ffdetect -ffmpeg /bin/ffmpeg -ffprobe /bin/ffprobe -restartexitcode 3 +emby | Operating system: Linux version 7.0.2-6-pve (build@proxmox) (gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP PREEMPT_DYNAMIC PMX 7.0.2-6 (2 +emby | OS/Process: x64/x64 +emby | Framework: .NET 8.0.28 +emby | Runtime: system/System.Private.CoreLib.dll +emby | Processor count: 6 +emby | Data path: /config +emby | Application path: /system +emby | Info App: Logs path: /config/logs +emby | Info App: Cache path: /config/cache +emby | Info App: Internal metadata path: /config/metadata +emby | Info App: Transcoding temporary files path: /config/transcoding-temp +emby | Info App: DefaultThreadCurrentCulture: en-US +emby | Info App: DefaultThreadCurrentUICulture: en-US +emby | Info App: DefaultThreadCurrentUICulture: en-US +emby | Info App: Server Friendly Name: ‌ff4fc4f791ea‌ +emby | Info App: Local time: 09/23/2026 21:43:34 +02:00 +emby | Info FfmpegManager: FFMpeg: /bin/ffmpeg +emby | Info FfmpegManager: FFProbe: /bin/ffprobe +emby | Info FfmpegManager: FFDetect: /bin/ffdetect +emby | Info Skia: SkiaSharp version: 2.88.0.0 +emby | Info libvips: NetVips version: 3.0.0.0 +emby | Info ImageProcessor: Adding image processor Skia +emby | Info ImageProcessor: Adding image processor libvips +emby | Info TaskManager: Daily trigger for Video preview thumbnail extraction set to fire at 09/24/2026 02:00:00, which is 256.4034536716667 minutes from now. +emby | Info TaskManager: Daily trigger for Rotate log file set to fire at 09/24/2026 00:00:00, which is 136.40309582833333 minutes from now. +emby | Info TaskManager: Queueing task HardwareDetectionScheduledTask +emby | Info TaskManager: Executing Hardware Detection +emby | Info TaskManager: Daily trigger for Emby Server Backup set to fire at 09/24/2026 00:10:00, which is 146.40293542166665 minutes from now. +emby | Info App: ServerId: 488ce61f449641aea0ad39797cf4cd4e +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Execute: /bin/ffmpeg -hide_banner -version +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -version' Process exited with code 0 +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -decoders' Execute: /bin/ffmpeg -hide_banner -decoders +emby | Info App: Starting entry point Emby.Server.Implementations.Networking.RemoteAddressEntryPoint +emby | Info App: Loading data from /config/data/wan.dat +emby | Info App: Entry point completed: Emby.Server.Implementations.Networking.RemoteAddressEntryPoint. Duration: 0.0045636 seconds +emby | Info App: Starting entry point Emby.Server.Connect.ConnectEntryPoint +emby | Info App: Loading data from /config/data/connect.txt +emby | Info App: Entry point completed: Emby.Server.Connect.ConnectEntryPoint. Duration: 0.0034069 seconds +emby | Info App: Starting entry point Emby.Dlna.Main.DlnaEntryPoint +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -decoders' Process exited with code 0 +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -encoders' Execute: /bin/ffmpeg -hide_banner -encoders +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -encoders' Process exited with code 0 +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -hwaccels' Execute: /bin/ffmpeg -hide_banner -hwaccels +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -hwaccels' Process exited with code 0 +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -protocols' Execute: /bin/ffmpeg -hide_banner -protocols +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -protocols' Process exited with code 0 +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -filters' Execute: /bin/ffmpeg -hide_banner -filters +emby | Info FfmpegManager: ProcessRun 'ffmpeg -hide_banner -filters' Process exited with code 0 +emby | Info FfmpegManager: FfmpegValidator.Validate complete +emby | Info App: Entry point completed: Emby.Dlna.Main.DlnaEntryPoint. Duration: 0.0777058 seconds +emby | Info App: Core startup complete +emby | Info App: Starting entry point Emby.Server.Implementations.Udp.UdpServerEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.Udp.UdpServerEntryPoint. Duration: 0.0023822 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.Session.PartyEventNotifier +emby | Info App: Entry point completed: Emby.Server.Implementations.Session.PartyEventNotifier. Duration: 0.0008239 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.Playlists.PlaylistUpgradeEntryPoint. Duration: 0.0014745 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.Library.DeviceAccessEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.Library.DeviceAccessEntryPoint. Duration: 0.0002649 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.IO.LibraryMonitorStartup +emby | Info App: Entry point completed: Emby.Server.Implementations.IO.LibraryMonitorStartup. Duration: 0.0185668 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.AutomaticRestartEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.AutomaticRestartEntryPoint. Duration: 0.0005183 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.KeepServerAwake +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.KeepServerAwake. Duration: 0.00012 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.LibraryChangedNotifier +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.LibraryChangedNotifier. Duration: 0.0006934 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.LogLibrariesEntryPoint +emby | Info App: Libraries +emby | Server Configuration: CollapseVideoFolders: False +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.LogLibrariesEntryPoint. Duration: 0.0008119 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.ServerEventNotifier +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.ServerEventNotifier. Duration: 0.0014808 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.StartupWizard +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.StartupWizard. Duration: 0.0003357 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.SystemEvents +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.SystemEvents. Duration: 0.0001834 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.EntryPoints.UserDataChangeNotifier +emby | Info App: Entry point completed: Emby.Server.Implementations.EntryPoints.UserDataChangeNotifier. Duration: 0.0002083 seconds +emby | Info App: Starting entry point Emby.Server.Implementations.Channels.ChannelsEntryPoint +emby | Info App: Entry point completed: Emby.Server.Implementations.Channels.ChannelsEntryPoint. Duration: 0.0019125 seconds +emby | Info App: Starting entry point Emby.LiveTV.EntryPoint +emby | Info LiveTV: Loading live tv data from /config/data/livetv/timers +emby | Info App: Entry point completed: Emby.LiveTV.EntryPoint. Duration: 0.002161 seconds +emby | Info App: Starting entry point Emby.LiveTV.RecordingNotifier +emby | Info App: Entry point completed: Emby.LiveTV.RecordingNotifier. Duration: 0.0010724 seconds +emby | Info App: Starting entry point Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint +emby | Info App: Entry point completed: Emby.Server.MediaEncoding.Api.EncodingManagerEntryPoint. Duration: 0.0007403 seconds +emby | Info App: Starting entry point Emby.Notifications.NotificationManagerEntryPoint +emby | Info Notifications: Registering event nofitier Activity Log +emby | Info Notifications: Registering event nofitier Emby Server User Notifications +emby | Info Notifications: Registering event factory CoreNotificationTypeFactory +emby | Info Notifications: Registering event factory BackupNotificationTypeFactory +emby | Info App: Entry point completed: Emby.Notifications.NotificationManagerEntryPoint. Duration: 0.0226956 seconds +emby | Info App: Starting entry point Emby.Server.Sync.SyncNotificationEntryPoint +emby | Info App: Entry point completed: Emby.Server.Sync.SyncNotificationEntryPoint. Duration: 0.0010585 seconds +emby | Info App: Starting entry point EmbyServer.Windows.LoopUtilEntryPoint +emby | Info App: Entry point completed: EmbyServer.Windows.LoopUtilEntryPoint. Duration: 8.2E-05 seconds +emby | Info App: Starting entry point Tvdb.EntryPoint +emby | Info App: Entry point completed: Tvdb.EntryPoint. Duration: 0.0001292 seconds +emby | Info App: Starting entry point Emby.Security.PluginSecurityManager +emby | Info App: Entry point completed: Emby.Security.PluginSecurityManager. Duration: 3.48E-05 seconds +emby | Info App: Starting entry point Emby.Server.CinemaMode.IntrosEntryPoint +emby | Info App: Entry point completed: Emby.Server.CinemaMode.IntrosEntryPoint. Duration: 0.0001535 seconds +emby | Info App: Starting entry point NfoMetadata.EntryPoint +emby | Info App: Entry point completed: NfoMetadata.EntryPoint. Duration: 0.0001135 seconds +emby | Info App: Starting entry point Emby.PortMapper.ExternalPortForwarding +emby | Info App: Entry point completed: Emby.PortMapper.ExternalPortForwarding. Duration: 0.0011133 seconds +emby | Info App: Starting entry point MBBackup.ServerEntryPoint +emby | Info App: Entry point completed: MBBackup.ServerEntryPoint. Duration: 2.8E-05 seconds +emby | Info App: All entry points have started diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/to-states.json b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/to-states.json new file mode 100644 index 00000000..8e43020b --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/to-states.json @@ -0,0 +1,8 @@ +{ + "emby": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/verdict.json b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/verdict.json new file mode 100644 index 00000000..db0217d7 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/emby/bench/evidence/MV-emby/verdict.json @@ -0,0 +1,49 @@ +{ + "harness_version": 3, + "edge": "MV-emby", + "app": "emby", + "note": "night 2026-09-23 within-a-major move: emby=emby/embyserver:4.11.0.3", + "from": { + "emby": "emby/embyserver:4.11.0.1" + }, + "to": { + "emby": "emby/embyserver:4.11.0.3" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kemby | Info SqliteUserRepository: Sqlite compiler options: ATOMIC_INTRINSICS=1,COMPILER=gcc-13.4.0,DEFAULT_AUTOVACUUM,DEFAULT_CACHE_SIZE=-2000,DEFAULT_FILE_FORMAT=4,DEFAULT_JOURNAL_SIZE_LIMIT=-1,DEFAULT_MMAP_SIZE=0,DEFAULT_PAGE_SIZE=4096,DEFAULT_PCACHE_INITSZ=20,DEFAULT_RECURSIVE_TRIGGERS,DEFAULT_SECTOR_SIZE=4096,DEFAULT_SYNCHRONOUS=2,DEFAULT_WAL_AUTOCHECKPOINT=1000,DEFAULT_WAL_SYNCHRONOUS=2,DEFAULT_WORKER_THREADS=0,DIRECT_OVERFLOW_READ,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_MATH_FUNCTIONS,ENABLE_PERCENTILE,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MALLOC_SOFT_LIMIT=1024,MAX_ATTACHED=10,MAX_COLUMN=2000,MAX_COMPOUND_SELECT=500,MAX_DEFAULT_PAGE_SIZE=8192,MAX_EXPR_DEPTH=1000,MAX_FUNCTION_ARG=1000,MAX_LENGTH=1000000000,MAX_LIKE_PATTERN_LENGTH=50000,MAX_MMAP_SIZE=0x7fff0000,MAX_PAGE_COUNT=0xfffffffe,MAX_PAGE_SIZE=65536,MAX_SCHEMA_RETRY=25,MAX_SQL_LENGTH=1000000000,MAX_TRIGGER_DEPTH=1000,MAX_VARIABLE_NUMBER=250000,MAX_VDBE_OP=250000000,MAX_WORKER_THREADS=8,MUTEX_PTHREADS,OMIT_LOOKASIDE,OMIT_SHARED_CACHE,SYSTEM_MALLOC,TEMP_STORE=1,THREADSAFE=1", + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": null, + "memory": { + "soak_s": 605.6, + "requested_s": 600, + "requests": 11987, + "codes": { + "302": 11987 + }, + "first_kill": null, + "containers": { + "emby": { + "limit": 2147483648, + "peak": 169578496, + "peak_pct": 0.079, + "anon_peak_sampled": 97271808, + "anon_peak_pct": 0.045, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 30.9, + "measured_at": "2026-09-23T19:54:42Z", + "evidence": "evidence/MV-emby", + "files_changed": [], + "total_s": 744.0 +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/gitea/bench/MV-gitea.log b/documentation/audits/night-2026-09-23/apps/gitea/bench/MV-gitea.log new file mode 100644 index 00000000..d95682b5 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/gitea/bench/MV-gitea.log @@ -0,0 +1,31 @@ +[19:49:51] MV-gitea: deploying gitea at FROM {'gitea': 'gitea/gitea:1.27.0'} +[19:50:28] FROM settled=True in 30.9s :: {"gitea": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:50:28] fixture: the BOX walk's own (Gitea), through upgrade_boxport +[19:50:28] gitea: admin user create :: 2026/09/23 21:50:28 modules/setting/setting.go:106:MustInstalled() [F] Unable to load config file for a installed Gitea instance, you should +[19:50:28] INCONCLUSIVE — no non-browser seed route. Nothing was planted by hand. +{ + "harness_version": 3, + "edge": "MV-gitea", + "app": "gitea", + "note": "night 2026-09-23 within-a-major move: gitea=gitea/gitea:1.27.3", + "from": { + "gitea": "gitea/gitea:1.27.0" + }, + "to": { + "gitea": "gitea/gitea:1.27.3" + }, + "verdict": "inconclusive", + "seed_read_before": false, + "seed_read_after": false, + "healthy_after": false, + "migration_observed": null, + "abort": "not-attempted", + "abort_detail": "no non-browser seed route", + "engine_state_after": null, + "memory": null, + "marks": [], + "duration_s": 37.1, + "measured_at": "2026-09-23T19:50:28Z", + "evidence": "evidence/MV-gitea", + "total_s": 37.1 +} diff --git a/documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/compose-final.log b/documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/compose-final.log new file mode 100644 index 00000000..113d2000 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/compose-final.log @@ -0,0 +1,16 @@ +gitea | Generating /data/ssh/ssh_host_ed25519_key... +gitea | Generating /data/ssh/ssh_host_rsa_key... +gitea | Generating /data/ssh/ssh_host_ecdsa_key... +gitea | Server listening on :: port 22. +gitea | Server listening on 0.0.0.0 port 22. +gitea | 2026/09/23 21:49:58 cmd/web.go:263:runWeb() [I] Starting Gitea on PID: 16 +gitea | 2026/09/23 21:49:58 cmd/web.go:115:showWebStartupMessage() [I] Gitea version: 1.27.0 built with go1.26.5-X:jsonv2 : bindata, timetzdata, +gitea | 2026/09/23 21:49:58 cmd/web.go:116:showWebStartupMessage() [I] * RunMode: prod +gitea | 2026/09/23 21:49:58 cmd/web.go:117:showWebStartupMessage() [I] * AppPath: /usr/local/bin/gitea +gitea | 2026/09/23 21:49:58 cmd/web.go:118:showWebStartupMessage() [I] * WorkPath: /data/gitea +gitea | 2026/09/23 21:49:58 cmd/web.go:119:showWebStartupMessage() [I] * CustomPath: /data/gitea +gitea | 2026/09/23 21:49:58 cmd/web.go:120:showWebStartupMessage() [I] * ConfigFile: /data/gitea/conf/app.ini +gitea | 2026/09/23 21:49:58 cmd/web.go:121:showWebStartupMessage() [I] Prepare to run install page +gitea | 2026/09/23 21:49:58 cmd/web.go:329:listen() [I] Listen: http://0.0.0.0:3000 +gitea | 2026/09/23 21:49:58 cmd/web.go:333:listen() [I] AppURL(ROOT_URL): https://git.gate.invalid/ +gitea | 2026/09/23 21:49:58 modules/graceful/server.go:52:NewServer() [I] Starting new Web server: tcp:0.0.0.0:3000 on PID: 16 diff --git a/documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/run.log b/documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/run.log new file mode 100644 index 00000000..27415875 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/run.log @@ -0,0 +1,5 @@ +[19:49:51] MV-gitea: deploying gitea at FROM {'gitea': 'gitea/gitea:1.27.0'} +[19:50:28] FROM settled=True in 30.9s :: {"gitea": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:50:28] fixture: the BOX walk's own (Gitea), through upgrade_boxport +[19:50:28] gitea: admin user create :: 2026/09/23 21:50:28 modules/setting/setting.go:106:MustInstalled() [F] Unable to load config file for a installed Gitea instance, you should +[19:50:28] INCONCLUSIVE — no non-browser seed route. Nothing was planted by hand. \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/verdict.json b/documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/verdict.json new file mode 100644 index 00000000..c8bd5428 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/gitea/bench/evidence/MV-gitea/verdict.json @@ -0,0 +1,26 @@ +{ + "harness_version": 3, + "edge": "MV-gitea", + "app": "gitea", + "note": "night 2026-09-23 within-a-major move: gitea=gitea/gitea:1.27.3", + "from": { + "gitea": "gitea/gitea:1.27.0" + }, + "to": { + "gitea": "gitea/gitea:1.27.3" + }, + "verdict": "inconclusive", + "seed_read_before": false, + "seed_read_after": false, + "healthy_after": false, + "migration_observed": null, + "abort": "not-attempted", + "abort_detail": "no non-browser seed route", + "engine_state_after": null, + "memory": null, + "marks": [], + "duration_s": 37.1, + "measured_at": "2026-09-23T19:50:28Z", + "evidence": "evidence/MV-gitea", + "total_s": 37.1 +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/gitea/log.txt b/documentation/audits/night-2026-09-23/apps/gitea/log.txt new file mode 100644 index 00000000..9929c494 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/gitea/log.txt @@ -0,0 +1,10 @@ +21:43:59 ==== gitea: gitea/gitea:1.27.0 -> gitea/gitea:1.27.3 (sub=git, class=sqlite) +21:44:03 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'} +21:44:18 [1] deployed, controller state=running, pinned={'gitea': 'gitea/gitea:1.27.0'} +21:44:21 [2] seeding through the app's own front door +21:44:24 gitea: admin user create :: 2026/09/23 21:44:23 modules/setting/setting.go:106:MustInstalled() [F] Unable to load config file for a installed Gitea instance, you should +21:44:24 [9] verdict inconclusive -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/gitea/verdict.json +21:44:25 [X] stop -> 200 {'ok': True, 'message': 'Stack gitea stop completed'} +21:44:56 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'gitea', 'volumes_removed': ['gitea_gitea_data'], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'hdd_note': 'Az alkalmazá +21:45:04 [X] after remove: deployed=False leftovers='/opt/docker/stacks/gitea' +21:45:04 [9] verdict inconclusive -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/gitea/verdict.json diff --git a/documentation/audits/night-2026-09-23/apps/gitea/observables-before.json b/documentation/audits/night-2026-09-23/apps/gitea/observables-before.json new file mode 100644 index 00000000..bc9a383d --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/gitea/observables-before.json @@ -0,0 +1,15 @@ +{ + "pinned_images": { + "gitea": "gitea/gitea:1.27.0" + }, + "installed_images": { + "gitea": "gitea/gitea:1.27.0" + }, + "catalog_images": null, + "live_compose_image_lines": [ + "image: gitea/gitea:1.27.0" + ], + "docker_inspect": [ + "gitea gitea/gitea:1.27.0 running=true restarts=0" + ] +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/gitea/verdict.json b/documentation/audits/night-2026-09-23/apps/gitea/verdict.json new file mode 100644 index 00000000..a693620c --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/gitea/verdict.json @@ -0,0 +1,24 @@ +{ + "harness_version": 1, + "app": "gitea", + "venue": "guest 9202 demo-hp-scratch, controller 0.267.0, drill catalog", + "class": "sqlite", + "from": { + "gitea": "gitea/gitea:1.27.0" + }, + "to": {}, + "verdict": "inconclusive", + "seed_read_before": false, + "seed_read_after": false, + "healthy_after": false, + "migration_observed": null, + "abort": "not-attempted", + "abort_detail": null, + "duration_s": 24.8, + "measured_at": "2026-09-23T19:44:00.069466+00:00", + "evidence": "apps/gitea/", + "notes": [ + "seed refused through the app's own route — see log.txt for what was tried", + "seed route did not work tonight" + ] +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/MV-immich.log b/documentation/audits/night-2026-09-23/apps/immich/bench/MV-immich.log new file mode 100644 index 00000000..69fd842d --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/MV-immich.log @@ -0,0 +1,153 @@ +[19:46:58] MV-immich: deploying immich at FROM {'immich-server': 'ghcr.io/immich-app/immich-server:v3.2.2', 'immich-machine-learning': 'ghcr.io/immich-app/immich-machine-learning:v3.0.3', 'immich-postgres': 'ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0', 'immich-redis': 'redis:7-alpine'} +[19:47:43] FROM settled=True in 31.9s :: {"immich-machine-learning": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-server": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:47:43] fixture: the BOX walk's own (Immich), through upgrade_boxport +[19:47:44] immich: seeded album drillalbum4dda91c3 +[19:47:45] immich: readback found=True (http 200, control passed) +[19:47:45] C1 (seed reads back BEFORE): True +[19:47:45] MV-immich: swapping to TO {'immich-server': 'ghcr.io/immich-app/immich-server:v3.2.2', 'immich-machine-learning': 'ghcr.io/immich-app/immich-machine-learning:v3.2.2', 'immich-postgres': 'ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0', 'immich-redis': 'redis:7-alpine'} +[19:47:46] TO up -d rc=0 +[19:48:18] TO settled=True in 31.5s :: {"immich-machine-learning": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-server": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:48:18] engine state immich-postgres: 16 +[19:48:18] migration lines observed: 0 +[19:48:18] immich: readback found=True (http 200, control passed) +[19:48:18] RESULT (seed reads back AFTER): True +[19:48:18] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.5:2283 +[19:48:34] + 15s immich-machine-learning=231M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=1328M/2048M peak=1396M kills=0 rs=0 reqs=304 +[19:48:49] + 30s immich-machine-learning=231M/1536M peak=248M kills=0 rs=0 immich-postgres=493M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=1330M/2048M peak=1396M kills=0 rs=0 reqs=604 +[19:49:04] + 46s immich-machine-learning=231M/1536M peak=248M kills=0 rs=0 immich-postgres=493M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=1329M/2048M peak=1396M kills=0 rs=0 reqs=904 +[19:49:19] + 61s immich-machine-learning=231M/1536M peak=248M kills=0 rs=0 immich-postgres=493M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=1196M/2048M peak=1396M kills=0 rs=0 reqs=1207 +[19:49:35] + 76s immich-machine-learning=226M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=1171M/2048M peak=1396M kills=0 rs=0 reqs=1508 +[19:49:50] + 91s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=925M/2048M peak=1396M kills=0 rs=0 reqs=1808 +[19:50:05] + 106s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=926M/2048M peak=1396M kills=0 rs=0 reqs=2109 +[19:50:20] + 122s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=930M/2048M peak=1396M kills=0 rs=0 reqs=2412 +[19:50:35] + 137s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=931M/2048M peak=1396M kills=0 rs=0 reqs=2712 +[19:50:51] + 152s immich-machine-learning=229M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=930M/2048M peak=1396M kills=0 rs=0 reqs=3013 +[19:51:06] + 167s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=5M/128M peak=7M kills=0 rs=0 immich-server=902M/2048M peak=1396M kills=0 rs=0 reqs=3316 +[19:51:21] + 182s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=898M/2048M peak=1396M kills=0 rs=0 reqs=3616 +[19:51:36] + 198s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=899M/2048M peak=1396M kills=0 rs=0 reqs=3917 +[19:51:51] + 213s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=896M/2048M peak=1396M kills=0 rs=0 reqs=4220 +[19:52:07] + 228s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=485M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=902M/2048M peak=1396M kills=0 rs=0 reqs=4520 +[19:52:22] + 243s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=494M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=907M/2048M peak=1396M kills=0 rs=0 reqs=4821 +[19:52:37] + 258s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=504M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=908M/2048M peak=1396M kills=0 rs=0 reqs=5124 +[19:52:52] + 274s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=508M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=908M/2048M peak=1396M kills=0 rs=0 reqs=5424 +[19:53:07] + 289s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=909M/2048M peak=1396M kills=0 rs=0 reqs=5725 +[19:53:23] + 304s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=909M/2048M peak=1396M kills=0 rs=0 reqs=6025 +[19:53:38] + 319s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=910M/2048M peak=1396M kills=0 rs=0 reqs=6329 +[19:53:53] + 334s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=910M/2048M peak=1396M kills=0 rs=0 reqs=6629 +[19:54:08] + 350s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=910M/2048M peak=1396M kills=0 rs=0 reqs=6929 +[19:54:23] + 365s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=911M/2048M peak=1396M kills=0 rs=0 reqs=7233 +[19:54:38] + 380s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=911M/2048M peak=1396M kills=0 rs=0 reqs=7533 +[19:54:54] + 395s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=912M/2048M peak=1396M kills=0 rs=0 reqs=7833 +[19:55:09] + 410s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=913M/2048M peak=1396M kills=0 rs=0 reqs=8135 +[19:55:24] + 426s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=509M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=913M/2048M peak=1396M kills=0 rs=0 reqs=8437 +[19:55:39] + 441s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=911M/2048M peak=1396M kills=0 rs=0 reqs=8737 +[19:55:55] + 456s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=912M/2048M peak=1396M kills=0 rs=0 reqs=9041 +[19:56:10] + 471s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=912M/2048M peak=1396M kills=0 rs=0 reqs=9341 +[19:56:25] + 486s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=912M/2048M peak=1396M kills=0 rs=0 reqs=9641 +[19:56:40] + 502s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=508M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=912M/2048M peak=1396M kills=0 rs=0 reqs=9941 +[19:56:55] + 517s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=507M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=913M/2048M peak=1396M kills=0 rs=0 reqs=10245 +[19:57:10] + 532s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=916M/2048M peak=1396M kills=0 rs=0 reqs=10545 +[19:57:26] + 547s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=917M/2048M peak=1396M kills=0 rs=0 reqs=10845 +[19:57:41] + 562s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=5M/128M peak=7M kills=0 rs=0 immich-server=918M/2048M peak=1396M kills=0 rs=0 reqs=11149 +[19:57:56] + 578s immich-machine-learning=229M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=916M/2048M peak=1396M kills=0 rs=0 reqs=11449 +[19:58:11] + 593s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=5M/128M peak=7M kills=0 rs=0 immich-server=917M/2048M peak=1396M kills=0 rs=0 reqs=11749 +[19:58:26] + 608s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=8M kills=0 rs=0 immich-server=917M/2048M peak=1396M kills=0 rs=0 reqs=12053 +[19:58:27] memory watch: killed=False tight=[] requests=12053 codes={'200': 12053} +[19:58:27] MV-immich: ABORT — putting the FROM images back +[19:58:59] immich: readback found=True (http 200, control passed) +[19:58:59] ABORT: app came back in 31.4s; data present=True +{ + "harness_version": 3, + "edge": "MV-immich", + "app": "immich", + "note": "night 2026-09-23 within-a-major move: immich-machine-learning=ghcr.io/immich-app/immich-machine-learning:v3.2.2", + "from": { + "immich-server": "ghcr.io/immich-app/immich-server:v3.2.2", + "immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3", + "immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0", + "immich-redis": "redis:7-alpine" + }, + "to": { + "immich-server": "ghcr.io/immich-app/immich-server:v3.2.2", + "immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.2.2", + "immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0", + "immich-redis": "redis:7-alpine" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": null, + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": { + "immich-postgres": { + "image": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0", + "probe": "datadir major version", + "answer": "16", + "probe_rc": 0 + } + }, + "memory": { + "soak_s": 608.3, + "requested_s": 600, + "requests": 12053, + "codes": { + "200": 12053 + }, + "first_kill": null, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "peak": 260608000, + "peak_pct": 0.162, + "anon_peak_sampled": 164958208, + "anon_peak_pct": 0.102, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "immich-postgres": { + "limit": 536870912, + "peak": 537214976, + "peak_pct": 1.001, + "anon_peak_sampled": 188661760, + "anon_peak_pct": 0.351, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "immich-redis": { + "limit": 134217728, + "peak": 8417280, + "peak_pct": 0.063, + "anon_peak_sampled": 4005888, + "anon_peak_pct": 0.03, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "immich-server": { + "limit": 2147483648, + "peak": 1464111104, + "peak_pct": 0.682, + "anon_peak_sampled": 1102950400, + "anon_peak_pct": 0.514, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 31.5, + "measured_at": "2026-09-23T19:58:59Z", + "evidence": "evidence/MV-immich", + "files_changed": [], + "total_s": 721.1 +} diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/abort-states.json b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/abort-states.json new file mode 100644 index 00000000..424ab8b8 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/abort-states.json @@ -0,0 +1,26 @@ +{ + "immich-machine-learning": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "immich-postgres": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "immich-redis": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "immich-server": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/compose-final.log b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/compose-final.log new file mode 100644 index 00000000..65627a54 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/compose-final.log @@ -0,0 +1,681 @@ +immich-server | Initializing Immich v3.2.2 +immich-machine-learning | [09/23/26 21:58:30] INFO  Starting gunicorn 25.3.0 +immich-machine-learning | [09/23/26 21:58:30] INFO  Listening at: http://[::]:3003 (13) +immich-machine-learning | [09/23/26 21:58:30] INFO  Using worker: immich_ml.config.CustomUvicornWorker +immich-machine-learning | [09/23/26 21:58:30] INFO  Booting worker with pid: 19 +immich-machine-learning | [09/23/26 21:58:34] INFO  Started server process [19] +immich-machine-learning | [09/23/26 21:58:34] INFO  Waiting for application startup. +immich-machine-learning | [09/23/26 21:58:34] INFO  Created in-memory cache with unloading after 300s +immich-machine-learning |   of inactivity. +immich-machine-learning | [09/23/26 21:58:34] INFO  Initialized request thread pool with 8 threads. +immich-machine-learning | [09/23/26 21:58:34] INFO  Application startup complete. +immich-server | Detected CPU Cores: 8 +immich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time +immich-server | (Use `node --trace-warnings ...` to show where the warning was created) +immich-server | Starting api worker +immich-server | Starting microservices worker +immich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time +immich-server | (Use `node --trace-warnings ...` to show where the warning was created) +immich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time +immich-server | (Use `node --trace-warnings ...` to show where the warning was created) +immich-server | [Nest] 7 - 09/23/2026, 9:47:25 PM  LOG [Microservices:WebsocketRepository] Initialized websocket server +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  LOG [Microservices:DatabaseRepository] Creating VectorChord extension +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  LOG [Microservices:DatabaseRepository] Reindexing clip_index (This may take a while, do not restart) +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  LOG [Microservices:DatabaseRepository] Reindexing face_index (This may take a while, do not restart) +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  WARN [Microservices:DatabaseRepository] Table smart_search does not exist, skipping reindexing. This is only normal if this is a new Immich instance. +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  WARN [Microservices:DatabaseRepository] Table face_search does not exist, skipping reindexing. This is only normal if this is a new Immich instance. +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  LOG [Microservices:DatabaseRepository] Running migrations +immich-server | [Nest] 29 - 09/23/2026, 9:47:26 PM  LOG [Api:WebsocketRepository] Initialized websocket server +immich-server | [Nest] 7 - 09/23/2026, 9:47:28 PM  LOG [Microservices:Migrations] Converting database file paths from relative to absolute (source=upload/*, target=/usr/src/app/upload/*) +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1744910873969-InitialMigration" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1744991379464-AddNotificationsTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1745244781846-AddUserAvatarColorColumn" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1745902563899-AddAssetVisibilityColumn" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1746636476623-DropExtraIndexes" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1746768490606-AddUserPincode" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1746844028242-AddLockedVisibilityEnum" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1746987967923-AddPinExpiresAtColumn" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1747329504572-AddNewSessionColumns" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1747338664832-SessionRename" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1747664684909-AddAlbumAuditTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1749067526135-UserOnboardingDefault" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750107668827-PartnerCreateId" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750189909087-AddAlbumUserCreateFields" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750323941566-UnsetPrewarmDimParameter" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750676477029-AlbumAssetUpdateId" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750694237564-AlbumAssetAuditTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750780093818-AddAlbumToAssetDeleteTrigger" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1751035357937-MemorySyncChanges" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1751304834247-StackSyncChanges" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1751924596408-AddOverrides" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752004072340-UpdateIndexOverrides" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752152941084-PeopleAuditTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752161055253-RenameGeodataPKConstraint" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752161055254-AddActivityAssetFk" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752169992364-AddIsPendingSyncReset" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752250924342-UserMetadataSync" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752267649968-StandardizeNames" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752759108283-ConvertToAbsolutePaths" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1753104909784-AssetFaceUpdateIdAndAuditTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1753464178233-RenameApiKeyPermissions" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1753471866748-AddSharedLinkSlug" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1753800911775-ProfileImageCheckpointRemoval" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1754389095885-ResetAlbumAssetSync" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1756318797207-AssetMetadataTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1758705774125-CreateAssetOCRTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1758705789125-CreateOCRSearchTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1758705804128-UpsertOcrAssetJobStatus" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1761078763279-AddAppVersionColumnToSession" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1761755618862-FixColumnNames" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1762297277677-AddPluginAndWorkflowTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1764483051488-OCRBigramsForCJK" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1764698859174-SidecarInAssetFile" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1764705680041-ChangeWorkflowTableColumnsName" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1764957138636-AddLockedPropertiesToAssetExif" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768336661963-AddAssetWidthHeight" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768336671610-CreateAssetEditTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768336694315-CreateIsVisibleColumns" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768587436457-AddEditCountToAsset" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768757482271-SwitchToIsEdited" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768828334807-AddIsEditedToAssetFile" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768847456553-AddTagsToExif" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1769105700133-AddAssetEditSequence" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1769441657564-AddIsProgressiveColumn" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1769635093204-DropThumbnailJobStatusColumns" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1771478781948-PeopleSearchIndex" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1771535611395-ConvertRating0ToNull" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1771639515206-AddIsTransparentColumn" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1771873044511-ChangesTokensToBuffers" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1771873813973-AssetEditSync" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1772121424533-AddAssetExifGistEarthcoord" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1772129818245-FixStupidWhiteSpace" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1772609167000-UpdateOpusCodecName" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1773242919341-EncodedVideoAssetFiles" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1773956345315-DuplicateSharedLinkAssets" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1774393726320-AssetFaceSyncReset" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1774548649115-AddChecksumAlgorithm.ts" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1775165531374-AddPersonNameTrigramIndex" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776217577402-DropAuditTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776263790468-DropDeviceIdAndDeviceAssetId" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776332807985-SetOAuthAllowInsecureRequests" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776442031775-AddOauthSidToSession" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776792304485-ReconcileSqlToolsUpgradeChanges" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776848612954-MigrateAlbumOwnerIdToAlbumUser" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1777415973792-AddVideoStreamTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1777654048096-CreateAudioVideoTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1777667825574-ChangeDurationToInteger" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1777897107000-PartnerAssetSyncReset" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1778614946174-UpdateWorkflowTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1779806699547-AddPluginTemplates" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1780435471692-DeleteMismatchedAssetFaces" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1780592070031-ConvertNegativeRatingToNull" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1780592071031-AssetOcrSync" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1781089983296-CreateIntegrityReportTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1782414436633-AddPluginMethodAllowedHosts" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1782500000000-RestoreLivePhotoStillVisibility" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1784647658615-AddOAuthBearerTokenToSession" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1784836013770-MinFacePreferenceMigration" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1784986754473-ConvertUserPasswordEmptyStringToNull" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1784986754474-AlbumDescriptionNullable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1786385711807-AlbumOwnerDeleteTrigger" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1786741078327-AddWorkflowLogsTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1786972746371-AssetOcrUpdatedAtTrigger" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1786972746372-AssetOcrSyncReset" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1787148183729-ClusterGroups" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1787148183730-DeleteMismatchedMemoryAssets" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Finished running migrations +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseService] Checking for schema drift +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseService] No schema drift detected +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{}} +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the encoded-video folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the library folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the upload folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the profile folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the thumbs folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the backups folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Successfully enabled system mount folders checks +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Successfully verified system mount folder checks +immich-server | [Nest] 29 - 09/23/2026, 9:47:29 PM  LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 0 rows +immich-server | [Nest] 29 - 09/23/2026, 9:47:29 PM  LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 0 rows +immich-server | [Nest] 29 - 09/23/2026, 9:47:29 PM  LOG [Api:DatabaseRepository] Running migrations +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:MetadataService] Bootstrapping metadata service +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:MetadataService] Initializing metadata service +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:MapRepository] Initializing metadata repository +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:DatabaseRepository] Finished running migrations +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:DatabaseService] Checking for schema drift +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:DatabaseService] No schema drift detected +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:StorageService] Successfully verified system mount folder checks +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:ServerService] Feature Flags: { +immich-server | "smartSearch": true, +immich-server | "facialRecognition": true, +immich-server | "duplicateDetection": true, +immich-server | "map": true, +immich-server | "reverseGeocoding": true, +immich-server | "importFaces": false, +immich-server | "sidecar": true, +immich-server | "search": true, +immich-server | "trash": true, +immich-server | "oauth": false, +immich-server | "oauthAutoLaunch": false, +immich-server | "ocr": true, +immich-server | "passwordLogin": true, +immich-server | "configFile": false, +immich-server | "email": false, +immich-server | "realtimeTranscoding": false +immich-server | } +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:SystemConfigService] LogLevel=log (set via system config) +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:NestFactory] Starting Nest application... +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ClsModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ClsCommonModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] OpenTelemetryModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] KyselyModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] OpenTelemetryCoreModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] DiscoveryModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ClsRootModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ClsPluginsModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ScheduleModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ApiModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  WARN [Api:LegacyRouteConverter] Unsupported route path: "/api/*". In previous versions, the symbols ?, *, and + were used to denote optional or repeating path parameters. The latest version of "path-to-regexp" now requires the use of named parameters. For example, instead of using a route like /users/* to capture all routes starting with "/users", you should use /users/*path. For more details, refer to the migration guide. Attempting to auto-convert to "/api/{*path}"... +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ApiKeyController {/api/api-keys}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/me, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id/rotate, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ActivityController {/api/activities}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/activities, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/activities, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/activities/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/activities/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AlbumController {/api/albums}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/map-markers, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/users, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AppController {/api}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/.well-known/immich, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/custom.css, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AssetController {/api/assets}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/jobs, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/copy, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/metadata, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/metadata, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/ocr, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/edits, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/edits, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/edits, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AssetFilesController {/api/asset-files}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/asset-files, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/asset-files/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/asset-files/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/asset-files/:id/download, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AssetMediaController {/api/assets}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/original, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/thumbnail, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/playback, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/bulk-upload-check, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AuthController {/api/auth}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/login, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/validateToken, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/change-password, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/logout, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/status, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/session/unlock, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/session/lock, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AuthAdminController {/api/admin/auth}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/auth/unlink-all, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ClusterGroupController {/api/cluster-groups}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/requests, GET} route +immich-redis | 1:C 23 Sep 2026 21:47:00.155 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +immich-redis | 1:C 23 Sep 2026 21:47:00.160 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +immich-redis | 1:C 23 Sep 2026 21:47:00.160 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +immich-redis | 1:C 23 Sep 2026 21:47:00.160 * Configuration loaded +immich-redis | 1:M 23 Sep 2026 21:47:00.161 * monotonic clock: POSIX clock_gettime +immich-redis | 1:M 23 Sep 2026 21:47:00.167 * Running mode=standalone, port=6379. +immich-redis | 1:M 23 Sep 2026 21:47:00.168 * Server initialized +immich-redis | 1:M 23 Sep 2026 21:47:00.176 * Creating AOF base file appendonly.aof.1.base.rdb on server start +immich-redis | 1:M 23 Sep 2026 21:47:00.188 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +immich-redis | 1:M 23 Sep 2026 21:47:00.188 * Ready to accept connections tcp +immich-redis | 1:M 23 Sep 2026 21:52:01.064 * 100 changes in 300 seconds. Saving... +immich-redis | 1:M 23 Sep 2026 21:52:01.064 * Background saving started by pid 190 +immich-redis | 190:C 23 Sep 2026 21:52:01.072 * DB saved on disk +immich-redis | 190:C 23 Sep 2026 21:52:01.073 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +immich-redis | 1:M 23 Sep 2026 21:52:01.165 * Background saving terminated with success +immich-redis | 1:M 23 Sep 2026 21:57:02.037 * 100 changes in 300 seconds. Saving... +immich-redis | 1:M 23 Sep 2026 21:57:02.038 * Background saving started by pid 372 +immich-redis | 372:C 23 Sep 2026 21:57:02.048 * DB saved on disk +immich-redis | 372:C 23 Sep 2026 21:57:02.049 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +immich-redis | 1:M 23 Sep 2026 21:57:02.138 * Background saving terminated with success +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/requests/:id/accept, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/requests/:id, DELETE} route +immich-postgres | Using SSD storage +immich-postgres | The files belonging to this database system will be owned by user "postgres". +immich-postgres | This user must also own the server process. +immich-postgres | +immich-postgres | The database cluster will be initialized with locale "en_US.utf8". +immich-postgres | The default database encoding has accordingly been set to "UTF8". +immich-postgres | The default text search configuration will be set to "english". +immich-postgres | +immich-postgres | Data page checksums are enabled. +immich-postgres | +immich-postgres | fixing permissions on existing directory /var/lib/postgresql/data ... ok +immich-postgres | creating subdirectories ... ok +immich-postgres | selecting dynamic shared memory implementation ... posix +immich-postgres | selecting default max_connections ... 100 +immich-postgres | selecting default shared_buffers ... 128MB +immich-postgres | selecting default time zone ... Europe/Budapest +immich-postgres | creating configuration files ... ok +immich-postgres | running bootstrap script ... ok +immich-postgres | performing post-bootstrap initialization ... ok +immich-postgres | initdb: warning: enabling "trust" authentication for local connections +immich-postgres | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. +immich-postgres | syncing data to disk ... ok +immich-postgres | +immich-postgres | +immich-postgres | Success. You can now start the database server using: +immich-postgres | +immich-postgres | pg_ctl -D /var/lib/postgresql/data -l logfile start +immich-postgres | +immich-postgres | 2026-09-23 19:47:02.328 GMT [48] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | 2026-09-23 19:47:02.328 GMT [48] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/:id/requests, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/:id/users, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/:id/requests, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/:id/regenerate-people, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/:id/leave, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ConfigUserController {/api/config}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/config, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/config/defaults, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ConfigAdminController {/api/admin/config}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/config, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/config/defaults, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/config, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ConfigPublicController {/api/public/config}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/public/config, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/public/config/defaults, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] DatabaseBackupController {/api/admin/database-backups}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/database-backups, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/database-backups/:filename, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/database-backups, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/database-backups/start-restore, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/database-backups/upload, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] DownloadController {/api/download}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/download/info, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/download/archive, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] DuplicateController {/api/duplicates}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/duplicates, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/duplicates, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/duplicates/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/duplicates/resolve, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] FaceController {/api/faces}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/faces, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/faces, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/faces/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/faces/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] IntegrityAdminController {/api/admin/integrity}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/integrity/summary, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/integrity/report, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/integrity/report/:id/file, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/integrity/report/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/integrity/report/:type/csv, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] JobController {/api/jobs}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/jobs, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/jobs, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/jobs/:name, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] LibraryController {/api/libraries}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/validate, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/scan, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] MaintenanceController {/api/admin/maintenance}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance/status, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance/detect-install, GET} route +immich-postgres | waiting for server to start....2026-09-23 19:47:02.379 GMT [53] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | 2026-09-23 19:47:02.380 GMT [53] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | 2026-09-23 21:47:02.438 CEST [53] LOG: starting PostgreSQL 16.10 (Debian 16.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit +immich-postgres | 2026-09-23 21:47:02.444 CEST [53] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" +immich-postgres | 2026-09-23 21:47:02.471 CEST [56] LOG: database system was shut down at 2026-09-23 21:47:01 CEST +immich-postgres | 2026-09-23 21:47:02.492 CEST [53] LOG: database system is ready to accept connections +immich-postgres | done +immich-postgres | server started +immich-postgres | CREATE DATABASE +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance/login, POST} route +immich-postgres | +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] MapController {/api/map}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/map/markers, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/map/reverse-geocode, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] MemoryController {/api/memories}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id, DELETE} route +immich-postgres | +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] NotificationController {/api/notifications}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] NotificationAdminController {/api/admin/notifications}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/notifications, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/test-email, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/templates/:name, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] OAuthController {/api/oauth}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/authorize, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/callback, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/link, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/unlink, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/backchannel-logout, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] PartnerController {/api/partners}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/partners, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/partners, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/partners/:id, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/partners/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/partners/:id, DELETE} route +immich-postgres | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/* +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] PersonController {/api/people}: +immich-postgres | +immich-postgres | waiting for server to shut down....2026-09-23 21:47:03.082 CEST [53] LOG: received fast shutdown request +immich-postgres | 2026-09-23 21:47:03.089 CEST [53] LOG: aborting any active transactions +immich-postgres | 2026-09-23 21:47:03.099 CEST [53] LOG: background worker "logical replication launcher" (PID 62) exited with exit code 1 +immich-postgres | 2026-09-23 21:47:03.111 CEST [54] LOG: shutting down +immich-postgres | 2026-09-23 21:47:03.115 CEST [54] LOG: checkpoint starting: shutdown immediate +immich-postgres | 2026-09-23 21:47:03.234 CEST [54] LOG: checkpoint complete: wrote 922 buffers (1.4%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.039 s, sync=0.061 s, total=0.123 s; sync files=301, longest=0.020 s, average=0.001 s; distance=1672 kB, estimate=1672 kB; lsn=0/18CED10, redo lsn=0/18CED10 +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id/thumbnail, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id/reassign, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/merge, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id/merge, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] PluginController {/api/plugins}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/plugins, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/plugins/methods, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/plugins/templates, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/plugins/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] QueueController {/api/queues}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/queues, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/queues/:name, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/queues/:name, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/queues/:name/jobs, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/queues/:name/jobs, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SearchController {/api/search}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/metadata, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/statistics, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/random, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/large-assets, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/smart, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/explore, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/person, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/places, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/cities, GET} route +immich-postgres | 2026-09-23 21:47:03.256 CEST [53] LOG: database system is shut down +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/suggestions, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ServerController {/api/server}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/about, GET} route +immich-postgres | done +immich-postgres | server stopped +immich-postgres | +immich-postgres | PostgreSQL init process complete; ready for start up. +immich-postgres | +immich-postgres | 2026-09-23 19:47:03.319 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | 2026-09-23 19:47:03.320 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | 2026-09-23 21:47:03.376 CEST [1] LOG: starting PostgreSQL 16.10 (Debian 16.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit +immich-postgres | 2026-09-23 21:47:03.378 CEST [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 +immich-postgres | 2026-09-23 21:47:03.378 CEST [1] LOG: listening on IPv6 address "::", port 5432 +immich-postgres | 2026-09-23 21:47:03.386 CEST [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" +immich-postgres | 2026-09-23 21:47:03.404 CEST [72] LOG: database system was shut down at 2026-09-23 21:47:03 CEST +immich-postgres | 2026-09-23 21:47:03.436 CEST [1] LOG: database system is ready to accept connections +immich-postgres | 2026-09-23 21:47:19.799 CEST [94] ERROR: relation "system_metadata" does not exist at character 21 +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/apk-links, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/storage, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/ping, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/version, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/version-history, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/features, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/config, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/media-types, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/license, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/license, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/license, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/version-check, GET} route +immich-postgres | 2026-09-23 21:47:19.799 CEST [94] STATEMENT: select "value" from "system_metadata" where "key" = $1 +immich-postgres | 2026-09-23 21:52:03.491 CEST [70] LOG: checkpoint starting: time +immich-postgres | 2026-09-23 21:56:33.119 CEST [70] LOG: checkpoint complete: wrote 16661 buffers (25.4%); 0 WAL file(s) added, 0 removed, 8 recycled; write=269.507 s, sync=0.076 s, total=269.630 s; sync files=736, longest=0.006 s, average=0.001 s; distance=136552 kB, estimate=136552 kB; lsn=0/9E28F08, redo lsn=0/9E28ED0 +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SessionController {/api/sessions}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions/:id/lock, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SharedLinkController {/api/shared-links}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/login, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/me, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] StackController {/api/stacks}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks/:id/assets/:assetId, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SyncController {/api/sync}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sync/stream, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sync/ack, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sync/ack, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sync/ack, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SystemConfigController {/api/system-config}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-config, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-config/defaults, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-config, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SystemMetadataController {/api/system-metadata}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-metadata/reverse-geocoding-state, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-metadata/version-check-state, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] TagController {/api/tags}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] TimelineController {/api/timeline}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/timeline/buckets, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/timeline/bucket, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] TrashController {/api/trash}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/trash/empty, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/trash/restore, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/trash/restore/assets, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] UserAdminController {/api/admin/users}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/calendar-heatmap, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/sessions, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/restore, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] UserController {/api/users}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/calendar-heatmap, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/license, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/license, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/license, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/:id/profile-image, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] VideoStreamController {/api/assets}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/stream/main.m3u8, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/stream/:sessionId/:variantIndex/playlist.m3u8, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/stream/:sessionId/:variantIndex/:filename, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/stream/:sessionId, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ViewController {/api/view}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/view/folder/unique-paths, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/view/folder, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] WorkflowController {/api/workflows}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/triggers, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id/share, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id/logs, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:NestApplication] Nest application successfully started +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:Bootstrap] Immich Server is listening on http://[::1]:2283 [v3.2.2] [production]  +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:MachineLearningRepository] Machine learning server became healthy (http://immich-machine-learning:3003). +immich-server | [Nest] 7 - 09/23/2026, 9:47:31 PM  LOG [Microservices:MapRepository] Starting geodata import +immich-server | [Nest] 7 - 09/23/2026, 9:47:34 PM  LOG [Microservices:MapRepository] 10000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:34 PM  LOG [Microservices:MapRepository] 20000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:34 PM  LOG [Microservices:MapRepository] 30000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:35 PM  LOG [Microservices:MapRepository] 40000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:36 PM  LOG [Microservices:MapRepository] 50000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:36 PM  LOG [Microservices:MapRepository] 60000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:36 PM  LOG [Microservices:MapRepository] 70000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:36 PM  LOG [Microservices:MapRepository] 80000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:37 PM  LOG [Microservices:MapRepository] 90000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:38 PM  LOG [Microservices:MapRepository] 100000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:39 PM  LOG [Microservices:MapRepository] 110000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:39 PM  LOG [Microservices:MapRepository] 120000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:39 PM  LOG [Microservices:MapRepository] 130000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:40 PM  LOG [Microservices:MapRepository] 140000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:40 PM  LOG [Microservices:MapRepository] 150000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:40 PM  LOG [Microservices:MapRepository] 160000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:40 PM  LOG [Microservices:MapRepository] 170000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:40 PM  LOG [Microservices:MapRepository] 180000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:42 PM  LOG [Microservices:MapRepository] 190000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:42 PM  LOG [Microservices:MapRepository] 200000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:42 PM  LOG [Microservices:MapRepository] 210000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:42 PM  LOG [Microservices:MapRepository] 220000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:43 PM  LOG [Microservices:MapRepository] Successfully imported 228294 geodata records in 11.83s (19299 records/second) +immich-server | [Nest] 7 - 09/23/2026, 9:47:53 PM  LOG [Microservices:MapRepository] Geodata import completed +immich-server | [Nest] 7 - 09/23/2026, 9:47:53 PM  LOG [Microservices:MetadataService] Initialized local reverse geocoder +immich-server | [Nest] 7 - 09/23/2026, 9:47:53 PM  LOG [Microservices:ServerService] Feature Flags: { +immich-server | "smartSearch": true, +immich-server | "facialRecognition": true, +immich-server | "duplicateDetection": true, +immich-server | "map": true, +immich-server | "reverseGeocoding": true, +immich-server | "importFaces": false, +immich-server | "sidecar": true, +immich-server | "search": true, +immich-server | "trash": true, +immich-server | "oauth": false, +immich-server | "oauthAutoLaunch": false, +immich-server | "ocr": true, +immich-server | "passwordLogin": true, +immich-server | "configFile": false, +immich-server | "email": false, +immich-server | "realtimeTranscoding": false +immich-server | } +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:SystemConfigService] LogLevel=log (set via system config) +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:MachineLearningRepository] Machine learning server became healthy (http://immich-machine-learning:3003). +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:WorkflowExecutionService] Imported plugin immich-plugin-core@2.0.1 (14 methods) from /build/plugins/immich-plugin-core +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:WorkflowExecutionService] Loaded plugin: immich-plugin-core@2.0.1 +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:WorkflowExecutionService] Loaded plugin with host functions: immich-plugin-core@2.0.1/worker +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:NestFactory] Starting Nest application... +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] ClsModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] ClsCommonModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] OpenTelemetryModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] KyselyModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] OpenTelemetryCoreModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] DiscoveryModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] ClsRootModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] ClsPluginsModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] MicroservicesModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:NestApplication] Nest application successfully started +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:Bootstrap] Immich Microservices is running [v3.2.2] [production]  +immich-server | [Nest] 29 - 09/23/2026, 9:58:32 PM  LOG [Api:MachineLearningRepository] Machine learning server became unhealthy (http://immich-machine-learning:3003). diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/engine-state.json b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/engine-state.json new file mode 100644 index 00000000..e1be9442 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/engine-state.json @@ -0,0 +1,8 @@ +{ + "immich-postgres": { + "image": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0", + "probe": "datadir major version", + "answer": "16", + "probe_rc": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/files-after.json b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/files-after.json new file mode 100644 index 00000000..a8022984 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/files-after.json @@ -0,0 +1,4 @@ +{ + "/srv/felhom-gate/hdd/appdata/immich": "3cea55893985c3a33107b2bdb4ac31e0664287e5a5f17b2522607fdfd5fa215d", + "/srv/felhom-gate/hdd/userdata/media/photos": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/files-before.json b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/files-before.json new file mode 100644 index 00000000..a8022984 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/files-before.json @@ -0,0 +1,4 @@ +{ + "/srv/felhom-gate/hdd/appdata/immich": "3cea55893985c3a33107b2bdb4ac31e0664287e5a5f17b2522607fdfd5fa215d", + "/srv/felhom-gate/hdd/userdata/media/photos": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/memory-samples.json b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/memory-samples.json new file mode 100644 index 00000000..27672c76 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/memory-samples.json @@ -0,0 +1,2002 @@ +[ + { + "t": 15.3, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 242892800, + "peak": 260608000, + "anon": 164950016, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 535830528, + "peak": 537214976, + "anon": 188661760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5165056, + "peak": 8085504, + "anon": 4001792, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 1392820224, + "peak": 1464111104, + "anon": 1101447168, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 304 + }, + { + "t": 30.5, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 242913280, + "peak": 260608000, + "anon": 164950016, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 516976640, + "peak": 537214976, + "anon": 174559232, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4935680, + "peak": 8085504, + "anon": 3772416, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 1394700288, + "peak": 1464111104, + "anon": 1102802944, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 604 + }, + { + "t": 45.7, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 242905088, + "peak": 260608000, + "anon": 164954112, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 517472256, + "peak": 537214976, + "anon": 174559232, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5029888, + "peak": 8085504, + "anon": 3866624, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 1394077696, + "peak": 1464111104, + "anon": 1102950400, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 904 + }, + { + "t": 60.9, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 242905088, + "peak": 260608000, + "anon": 164954112, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 517267456, + "peak": 537214976, + "anon": 174559232, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4751360, + "peak": 8085504, + "anon": 3850240, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 1254486016, + "peak": 1464111104, + "anon": 967258112, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1207 + }, + { + "t": 76.1, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 237879296, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 504692736, + "peak": 537214976, + "anon": 174559232, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5083136, + "peak": 8376320, + "anon": 3911680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 1228156928, + "peak": 1464111104, + "anon": 967475200, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1508 + }, + { + "t": 91.3, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 504692736, + "peak": 537214976, + "anon": 174559232, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4812800, + "peak": 8376320, + "anon": 3903488, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 970686464, + "peak": 1464111104, + "anon": 718266368, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1808 + }, + { + "t": 106.5, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 504672256, + "peak": 537214976, + "anon": 174559232, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5136384, + "peak": 8376320, + "anon": 3964928, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 971833344, + "peak": 1464111104, + "anon": 719384576, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2109 + }, + { + "t": 121.7, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 504672256, + "peak": 537214976, + "anon": 174559232, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5128192, + "peak": 8376320, + "anon": 3956736, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 975450112, + "peak": 1464111104, + "anon": 722198528, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2412 + }, + { + "t": 136.9, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 504905728, + "peak": 537214976, + "anon": 174764032, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5181440, + "peak": 8376320, + "anon": 4005888, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 976629760, + "peak": 1464111104, + "anon": 723591168, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2712 + }, + { + "t": 152.1, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 240177152, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 504905728, + "peak": 537214976, + "anon": 174764032, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5156864, + "peak": 8376320, + "anon": 3981312, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 975220736, + "peak": 1464111104, + "anon": 721702912, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3013 + }, + { + "t": 167.3, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 504827904, + "peak": 537214976, + "anon": 174764032, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5349376, + "peak": 8376320, + "anon": 3911680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 946229248, + "peak": 1464111104, + "anon": 691638272, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3316 + }, + { + "t": 182.5, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 504827904, + "peak": 537214976, + "anon": 174764032, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5074944, + "peak": 8376320, + "anon": 3899392, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 942514176, + "peak": 1464111104, + "anon": 687890432, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3616 + }, + { + "t": 197.7, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 504827904, + "peak": 537214976, + "anon": 174764032, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4849664, + "peak": 8376320, + "anon": 3936256, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 943034368, + "peak": 1464111104, + "anon": 688386048, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3917 + }, + { + "t": 212.9, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 504827904, + "peak": 537214976, + "anon": 174764032, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5103616, + "peak": 8376320, + "anon": 3928064, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 939765760, + "peak": 1464111104, + "anon": 686493696, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4220 + }, + { + "t": 228.1, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 508874752, + "peak": 537214976, + "anon": 175038464, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5152768, + "peak": 8376320, + "anon": 3969024, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 946229248, + "peak": 1464111104, + "anon": 692908032, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4520 + }, + { + "t": 243.3, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 518651904, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5115904, + "peak": 8376320, + "anon": 3932160, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 951267328, + "peak": 1464111104, + "anon": 698241024, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4821 + }, + { + "t": 258.5, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 528883712, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4911104, + "peak": 8376320, + "anon": 3985408, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 952844288, + "peak": 1464111104, + "anon": 699232256, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5124 + }, + { + "t": 273.7, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 533372928, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5165056, + "peak": 8376320, + "anon": 3944448, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 952770560, + "peak": 1464111104, + "anon": 699932672, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5424 + }, + { + "t": 288.9, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 535805952, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5160960, + "peak": 8376320, + "anon": 3973120, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 954044416, + "peak": 1464111104, + "anon": 701095936, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5725 + }, + { + "t": 304.1, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 535711744, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4911104, + "peak": 8376320, + "anon": 3788800, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 954101760, + "peak": 1464111104, + "anon": 701239296, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6025 + }, + { + "t": 319.3, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 536829952, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5025792, + "peak": 8376320, + "anon": 3833856, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 955027456, + "peak": 1464111104, + "anon": 701861888, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6329 + }, + { + "t": 334.4, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 535543808, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5005312, + "peak": 8376320, + "anon": 3813376, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 954306560, + "peak": 1464111104, + "anon": 700923904, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6629 + }, + { + "t": 349.6, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 536313856, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5074944, + "peak": 8376320, + "anon": 3883008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 955092992, + "peak": 1464111104, + "anon": 701661184, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6929 + }, + { + "t": 364.8, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 535486464, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5017600, + "peak": 8376320, + "anon": 3825664, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 955596800, + "peak": 1464111104, + "anon": 702320640, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7233 + }, + { + "t": 380.0, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 536309760, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5087232, + "peak": 8376320, + "anon": 3895296, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 956022784, + "peak": 1464111104, + "anon": 703045632, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7533 + }, + { + "t": 395.2, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 535523328, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5083136, + "peak": 8376320, + "anon": 3825664, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 956870656, + "peak": 1464111104, + "anon": 703631360, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7833 + }, + { + "t": 410.4, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 536453120, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4722688, + "peak": 8376320, + "anon": 3792896, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 958021632, + "peak": 1464111104, + "anon": 704540672, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8135 + }, + { + "t": 425.6, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239992832, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 534634496, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4993024, + "peak": 8376320, + "anon": 3801088, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 958099456, + "peak": 1464111104, + "anon": 705114112, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8437 + }, + { + "t": 440.8, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239988736, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 536780800, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4964352, + "peak": 8376320, + "anon": 3772416, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 955772928, + "peak": 1464111104, + "anon": 702763008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8737 + }, + { + "t": 456.0, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239992832, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 535379968, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4968448, + "peak": 8376320, + "anon": 3776512, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 956448768, + "peak": 1464111104, + "anon": 703184896, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9041 + }, + { + "t": 471.2, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239935488, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 536850432, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5005312, + "peak": 8376320, + "anon": 3809280, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 956907520, + "peak": 1464111104, + "anon": 703905792, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9341 + }, + { + "t": 486.4, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239939584, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 535310336, + "peak": 537214976, + "anon": 175083520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4689920, + "peak": 8376320, + "anon": 3756032, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 956977152, + "peak": 1464111104, + "anon": 703967232, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9641 + }, + { + "t": 501.6, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239935488, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 533188608, + "peak": 537214976, + "anon": 175177728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4755456, + "peak": 8376320, + "anon": 3817472, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 957247488, + "peak": 1464111104, + "anon": 704012288, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9941 + }, + { + "t": 516.8, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239939584, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 531668992, + "peak": 537214976, + "anon": 175177728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4976640, + "peak": 8376320, + "anon": 3776512, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 958185472, + "peak": 1464111104, + "anon": 704610304, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10245 + }, + { + "t": 532.0, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239935488, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 531247104, + "peak": 537214976, + "anon": 175177728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5033984, + "peak": 8376320, + "anon": 3833856, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 960901120, + "peak": 1464111104, + "anon": 707575808, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10545 + }, + { + "t": 547.2, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239939584, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 531247104, + "peak": 537214976, + "anon": 175177728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5234688, + "peak": 8376320, + "anon": 3772416, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 962011136, + "peak": 1464111104, + "anon": 708931584, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10845 + }, + { + "t": 562.4, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239935488, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 531247104, + "peak": 537214976, + "anon": 175177728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5287936, + "peak": 8376320, + "anon": 3821568, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 962863104, + "peak": 1464111104, + "anon": 709251072, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11149 + }, + { + "t": 577.6, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 240197632, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 531247104, + "peak": 537214976, + "anon": 175177728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4972544, + "peak": 8376320, + "anon": 3760128, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 960872448, + "peak": 1464111104, + "anon": 707543040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11449 + }, + { + "t": 592.7, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239935488, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 531247104, + "peak": 537214976, + "anon": 175177728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 5267456, + "peak": 8376320, + "anon": 3809280, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 962506752, + "peak": 1464111104, + "anon": 708853760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11749 + }, + { + "t": 607.9, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "current": 239935488, + "peak": 260608000, + "anon": 164958208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-postgres": { + "limit": 536870912, + "current": 531247104, + "peak": 537214976, + "anon": 175177728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-redis": { + "limit": 134217728, + "current": 4726784, + "peak": 8417280, + "anon": 3784704, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "immich-server": { + "limit": 2147483648, + "current": 962400256, + "peak": 1464111104, + "anon": 709046272, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 12053 + } +] \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/migration-lines.txt b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/migration-lines.txt new file mode 100644 index 00000000..e69de29b diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/run.log b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/run.log new file mode 100644 index 00000000..2ceb5a07 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/run.log @@ -0,0 +1,58 @@ +[19:46:58] MV-immich: deploying immich at FROM {'immich-server': 'ghcr.io/immich-app/immich-server:v3.2.2', 'immich-machine-learning': 'ghcr.io/immich-app/immich-machine-learning:v3.0.3', 'immich-postgres': 'ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0', 'immich-redis': 'redis:7-alpine'} +[19:47:43] FROM settled=True in 31.9s :: {"immich-machine-learning": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-server": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:47:43] fixture: the BOX walk's own (Immich), through upgrade_boxport +[19:47:44] immich: seeded album drillalbum4dda91c3 +[19:47:45] immich: readback found=True (http 200, control passed) +[19:47:45] C1 (seed reads back BEFORE): True +[19:47:45] MV-immich: swapping to TO {'immich-server': 'ghcr.io/immich-app/immich-server:v3.2.2', 'immich-machine-learning': 'ghcr.io/immich-app/immich-machine-learning:v3.2.2', 'immich-postgres': 'ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0', 'immich-redis': 'redis:7-alpine'} +[19:47:46] TO up -d rc=0 +[19:48:18] TO settled=True in 31.5s :: {"immich-machine-learning": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-postgres": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "immich-server": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:48:18] engine state immich-postgres: 16 +[19:48:18] migration lines observed: 0 +[19:48:18] immich: readback found=True (http 200, control passed) +[19:48:18] RESULT (seed reads back AFTER): True +[19:48:18] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.5:2283 +[19:48:34] + 15s immich-machine-learning=231M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=1328M/2048M peak=1396M kills=0 rs=0 reqs=304 +[19:48:49] + 30s immich-machine-learning=231M/1536M peak=248M kills=0 rs=0 immich-postgres=493M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=1330M/2048M peak=1396M kills=0 rs=0 reqs=604 +[19:49:04] + 46s immich-machine-learning=231M/1536M peak=248M kills=0 rs=0 immich-postgres=493M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=1329M/2048M peak=1396M kills=0 rs=0 reqs=904 +[19:49:19] + 61s immich-machine-learning=231M/1536M peak=248M kills=0 rs=0 immich-postgres=493M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=1196M/2048M peak=1396M kills=0 rs=0 reqs=1207 +[19:49:35] + 76s immich-machine-learning=226M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=1171M/2048M peak=1396M kills=0 rs=0 reqs=1508 +[19:49:50] + 91s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=925M/2048M peak=1396M kills=0 rs=0 reqs=1808 +[19:50:05] + 106s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=926M/2048M peak=1396M kills=0 rs=0 reqs=2109 +[19:50:20] + 122s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=930M/2048M peak=1396M kills=0 rs=0 reqs=2412 +[19:50:35] + 137s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=931M/2048M peak=1396M kills=0 rs=0 reqs=2712 +[19:50:51] + 152s immich-machine-learning=229M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=930M/2048M peak=1396M kills=0 rs=0 reqs=3013 +[19:51:06] + 167s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=5M/128M peak=7M kills=0 rs=0 immich-server=902M/2048M peak=1396M kills=0 rs=0 reqs=3316 +[19:51:21] + 182s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=898M/2048M peak=1396M kills=0 rs=0 reqs=3616 +[19:51:36] + 198s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=899M/2048M peak=1396M kills=0 rs=0 reqs=3917 +[19:51:51] + 213s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=481M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=896M/2048M peak=1396M kills=0 rs=0 reqs=4220 +[19:52:07] + 228s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=485M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=902M/2048M peak=1396M kills=0 rs=0 reqs=4520 +[19:52:22] + 243s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=494M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=907M/2048M peak=1396M kills=0 rs=0 reqs=4821 +[19:52:37] + 258s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=504M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=908M/2048M peak=1396M kills=0 rs=0 reqs=5124 +[19:52:52] + 274s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=508M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=908M/2048M peak=1396M kills=0 rs=0 reqs=5424 +[19:53:07] + 289s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=909M/2048M peak=1396M kills=0 rs=0 reqs=5725 +[19:53:23] + 304s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=909M/2048M peak=1396M kills=0 rs=0 reqs=6025 +[19:53:38] + 319s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=910M/2048M peak=1396M kills=0 rs=0 reqs=6329 +[19:53:53] + 334s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=910M/2048M peak=1396M kills=0 rs=0 reqs=6629 +[19:54:08] + 350s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=910M/2048M peak=1396M kills=0 rs=0 reqs=6929 +[19:54:23] + 365s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=911M/2048M peak=1396M kills=0 rs=0 reqs=7233 +[19:54:38] + 380s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=911M/2048M peak=1396M kills=0 rs=0 reqs=7533 +[19:54:54] + 395s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=912M/2048M peak=1396M kills=0 rs=0 reqs=7833 +[19:55:09] + 410s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=913M/2048M peak=1396M kills=0 rs=0 reqs=8135 +[19:55:24] + 426s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=509M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=913M/2048M peak=1396M kills=0 rs=0 reqs=8437 +[19:55:39] + 441s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=911M/2048M peak=1396M kills=0 rs=0 reqs=8737 +[19:55:55] + 456s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=912M/2048M peak=1396M kills=0 rs=0 reqs=9041 +[19:56:10] + 471s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=511M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=912M/2048M peak=1396M kills=0 rs=0 reqs=9341 +[19:56:25] + 486s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=510M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=912M/2048M peak=1396M kills=0 rs=0 reqs=9641 +[19:56:40] + 502s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=508M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=912M/2048M peak=1396M kills=0 rs=0 reqs=9941 +[19:56:55] + 517s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=507M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=913M/2048M peak=1396M kills=0 rs=0 reqs=10245 +[19:57:10] + 532s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=916M/2048M peak=1396M kills=0 rs=0 reqs=10545 +[19:57:26] + 547s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=917M/2048M peak=1396M kills=0 rs=0 reqs=10845 +[19:57:41] + 562s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=5M/128M peak=7M kills=0 rs=0 immich-server=918M/2048M peak=1396M kills=0 rs=0 reqs=11149 +[19:57:56] + 578s immich-machine-learning=229M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=7M kills=0 rs=0 immich-server=916M/2048M peak=1396M kills=0 rs=0 reqs=11449 +[19:58:11] + 593s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=5M/128M peak=7M kills=0 rs=0 immich-server=917M/2048M peak=1396M kills=0 rs=0 reqs=11749 +[19:58:26] + 608s immich-machine-learning=228M/1536M peak=248M kills=0 rs=0 immich-postgres=506M/512M peak=512M kills=0 rs=0 immich-redis=4M/128M peak=8M kills=0 rs=0 immich-server=917M/2048M peak=1396M kills=0 rs=0 reqs=12053 +[19:58:27] memory watch: killed=False tight=[] requests=12053 codes={'200': 12053} +[19:58:27] MV-immich: ABORT — putting the FROM images back +[19:58:59] immich: readback found=True (http 200, control passed) +[19:58:59] ABORT: app came back in 31.4s; data present=True \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/to-full.log b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/to-full.log new file mode 100644 index 00000000..6f9f4830 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/to-full.log @@ -0,0 +1,668 @@ +immich-machine-learning | [09/23/26 21:47:49] INFO  Starting gunicorn 25.3.0 +immich-machine-learning | [09/23/26 21:47:49] INFO  Listening at: http://[::]:3003 (13) +immich-machine-learning | [09/23/26 21:47:49] INFO  Using worker: immich_ml.config.CustomUvicornWorker +immich-machine-learning | [09/23/26 21:47:49] INFO  Booting worker with pid: 19 +immich-machine-learning | [09/23/26 21:47:50] INFO  Started server process [19] +immich-machine-learning | [09/23/26 21:47:50] INFO  Waiting for application startup. +immich-machine-learning | [09/23/26 21:47:50] INFO  Created in-memory cache with unloading after 300s +immich-machine-learning |   of inactivity. +immich-machine-learning | [09/23/26 21:47:50] INFO  Initialized request thread pool with 8 threads. +immich-machine-learning | [09/23/26 21:47:50] INFO  Application startup complete. +immich-postgres | Using SSD storage +immich-postgres | The files belonging to this database system will be owned by user "postgres". +immich-postgres | This user must also own the server process. +immich-postgres | +immich-postgres | The database cluster will be initialized with locale "en_US.utf8". +immich-postgres | The default database encoding has accordingly been set to "UTF8". +immich-postgres | The default text search configuration will be set to "english". +immich-postgres | +immich-postgres | Data page checksums are enabled. +immich-postgres | +immich-postgres | fixing permissions on existing directory /var/lib/postgresql/data ... ok +immich-postgres | creating subdirectories ... ok +immich-postgres | selecting dynamic shared memory implementation ... posix +immich-postgres | selecting default max_connections ... 100 +immich-postgres | selecting default shared_buffers ... 128MB +immich-postgres | selecting default time zone ... Europe/Budapest +immich-postgres | creating configuration files ... ok +immich-postgres | running bootstrap script ... ok +immich-postgres | performing post-bootstrap initialization ... ok +immich-postgres | initdb: warning: enabling "trust" authentication for local connections +immich-postgres | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. +immich-postgres | syncing data to disk ... ok +immich-postgres | +immich-postgres | +immich-postgres | Success. You can now start the database server using: +immich-postgres | +immich-postgres | pg_ctl -D /var/lib/postgresql/data -l logfile start +immich-postgres | +immich-postgres | 2026-09-23 19:47:02.328 GMT [48] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | 2026-09-23 19:47:02.328 GMT [48] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | waiting for server to start....2026-09-23 19:47:02.379 GMT [53] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | 2026-09-23 19:47:02.380 GMT [53] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | 2026-09-23 21:47:02.438 CEST [53] LOG: starting PostgreSQL 16.10 (Debian 16.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit +immich-postgres | 2026-09-23 21:47:02.444 CEST [53] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" +immich-postgres | 2026-09-23 21:47:02.471 CEST [56] LOG: database system was shut down at 2026-09-23 21:47:01 CEST +immich-postgres | 2026-09-23 21:47:02.492 CEST [53] LOG: database system is ready to accept connections +immich-postgres | done +immich-postgres | server started +immich-postgres | CREATE DATABASE +immich-postgres | +immich-postgres | +immich-postgres | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/* +immich-postgres | +immich-postgres | waiting for server to shut down....2026-09-23 21:47:03.082 CEST [53] LOG: received fast shutdown request +immich-postgres | 2026-09-23 21:47:03.089 CEST [53] LOG: aborting any active transactions +immich-postgres | 2026-09-23 21:47:03.099 CEST [53] LOG: background worker "logical replication launcher" (PID 62) exited with exit code 1 +immich-postgres | 2026-09-23 21:47:03.111 CEST [54] LOG: shutting down +immich-postgres | 2026-09-23 21:47:03.115 CEST [54] LOG: checkpoint starting: shutdown immediate +immich-postgres | 2026-09-23 21:47:03.234 CEST [54] LOG: checkpoint complete: wrote 922 buffers (1.4%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.039 s, sync=0.061 s, total=0.123 s; sync files=301, longest=0.020 s, average=0.001 s; distance=1672 kB, estimate=1672 kB; lsn=0/18CED10, redo lsn=0/18CED10 +immich-postgres | 2026-09-23 21:47:03.256 CEST [53] LOG: database system is shut down +immich-postgres | done +immich-postgres | server stopped +immich-postgres | +immich-postgres | PostgreSQL init process complete; ready for start up. +immich-postgres | +immich-postgres | 2026-09-23 19:47:03.319 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | 2026-09-23 19:47:03.320 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" +immich-postgres | 2026-09-23 21:47:03.376 CEST [1] LOG: starting PostgreSQL 16.10 (Debian 16.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit +immich-postgres | 2026-09-23 21:47:03.378 CEST [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 +immich-postgres | 2026-09-23 21:47:03.378 CEST [1] LOG: listening on IPv6 address "::", port 5432 +immich-postgres | 2026-09-23 21:47:03.386 CEST [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" +immich-postgres | 2026-09-23 21:47:03.404 CEST [72] LOG: database system was shut down at 2026-09-23 21:47:03 CEST +immich-postgres | 2026-09-23 21:47:03.436 CEST [1] LOG: database system is ready to accept connections +immich-postgres | 2026-09-23 21:47:19.799 CEST [94] ERROR: relation "system_metadata" does not exist at character 21 +immich-postgres | 2026-09-23 21:47:19.799 CEST [94] STATEMENT: select "value" from "system_metadata" where "key" = $1 +immich-redis | 1:C 23 Sep 2026 21:47:00.155 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +immich-redis | 1:C 23 Sep 2026 21:47:00.160 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +immich-redis | 1:C 23 Sep 2026 21:47:00.160 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +immich-redis | 1:C 23 Sep 2026 21:47:00.160 * Configuration loaded +immich-redis | 1:M 23 Sep 2026 21:47:00.161 * monotonic clock: POSIX clock_gettime +immich-redis | 1:M 23 Sep 2026 21:47:00.167 * Running mode=standalone, port=6379. +immich-redis | 1:M 23 Sep 2026 21:47:00.168 * Server initialized +immich-redis | 1:M 23 Sep 2026 21:47:00.176 * Creating AOF base file appendonly.aof.1.base.rdb on server start +immich-redis | 1:M 23 Sep 2026 21:47:00.188 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +immich-redis | 1:M 23 Sep 2026 21:47:00.188 * Ready to accept connections tcp +immich-server | Initializing Immich v3.2.2 +immich-server | Detected CPU Cores: 8 +immich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time +immich-server | (Use `node --trace-warnings ...` to show where the warning was created) +immich-server | Starting api worker +immich-server | Starting microservices worker +immich-server | (node:7) ExperimentalWarning: WASI is an experimental feature and might change at any time +immich-server | (Use `node --trace-warnings ...` to show where the warning was created) +immich-server | (node:29) ExperimentalWarning: WASI is an experimental feature and might change at any time +immich-server | (Use `node --trace-warnings ...` to show where the warning was created) +immich-server | [Nest] 7 - 09/23/2026, 9:47:25 PM  LOG [Microservices:WebsocketRepository] Initialized websocket server +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  LOG [Microservices:DatabaseRepository] Creating VectorChord extension +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  LOG [Microservices:DatabaseRepository] Reindexing clip_index (This may take a while, do not restart) +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  LOG [Microservices:DatabaseRepository] Reindexing face_index (This may take a while, do not restart) +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  WARN [Microservices:DatabaseRepository] Table smart_search does not exist, skipping reindexing. This is only normal if this is a new Immich instance. +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  WARN [Microservices:DatabaseRepository] Table face_search does not exist, skipping reindexing. This is only normal if this is a new Immich instance. +immich-server | [Nest] 7 - 09/23/2026, 9:47:26 PM  LOG [Microservices:DatabaseRepository] Running migrations +immich-server | [Nest] 29 - 09/23/2026, 9:47:26 PM  LOG [Api:WebsocketRepository] Initialized websocket server +immich-server | [Nest] 7 - 09/23/2026, 9:47:28 PM  LOG [Microservices:Migrations] Converting database file paths from relative to absolute (source=upload/*, target=/usr/src/app/upload/*) +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1744910873969-InitialMigration" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1744991379464-AddNotificationsTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1745244781846-AddUserAvatarColorColumn" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1745902563899-AddAssetVisibilityColumn" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1746636476623-DropExtraIndexes" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1746768490606-AddUserPincode" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1746844028242-AddLockedVisibilityEnum" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1746987967923-AddPinExpiresAtColumn" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1747329504572-AddNewSessionColumns" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1747338664832-SessionRename" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1747664684909-AddAlbumAuditTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1749067526135-UserOnboardingDefault" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750107668827-PartnerCreateId" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750189909087-AddAlbumUserCreateFields" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750323941566-UnsetPrewarmDimParameter" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750676477029-AlbumAssetUpdateId" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750694237564-AlbumAssetAuditTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1750780093818-AddAlbumToAssetDeleteTrigger" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1751035357937-MemorySyncChanges" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1751304834247-StackSyncChanges" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1751924596408-AddOverrides" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752004072340-UpdateIndexOverrides" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752152941084-PeopleAuditTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752161055253-RenameGeodataPKConstraint" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752161055254-AddActivityAssetFk" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752169992364-AddIsPendingSyncReset" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752250924342-UserMetadataSync" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752267649968-StandardizeNames" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1752759108283-ConvertToAbsolutePaths" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1753104909784-AssetFaceUpdateIdAndAuditTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1753464178233-RenameApiKeyPermissions" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1753471866748-AddSharedLinkSlug" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1753800911775-ProfileImageCheckpointRemoval" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1754389095885-ResetAlbumAssetSync" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1756318797207-AssetMetadataTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1758705774125-CreateAssetOCRTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1758705789125-CreateOCRSearchTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1758705804128-UpsertOcrAssetJobStatus" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1761078763279-AddAppVersionColumnToSession" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1761755618862-FixColumnNames" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1762297277677-AddPluginAndWorkflowTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1764483051488-OCRBigramsForCJK" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1764698859174-SidecarInAssetFile" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1764705680041-ChangeWorkflowTableColumnsName" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1764957138636-AddLockedPropertiesToAssetExif" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768336661963-AddAssetWidthHeight" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768336671610-CreateAssetEditTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768336694315-CreateIsVisibleColumns" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768587436457-AddEditCountToAsset" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768757482271-SwitchToIsEdited" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768828334807-AddIsEditedToAssetFile" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1768847456553-AddTagsToExif" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1769105700133-AddAssetEditSequence" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1769441657564-AddIsProgressiveColumn" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1769635093204-DropThumbnailJobStatusColumns" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1771478781948-PeopleSearchIndex" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1771535611395-ConvertRating0ToNull" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1771639515206-AddIsTransparentColumn" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1771873044511-ChangesTokensToBuffers" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1771873813973-AssetEditSync" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1772121424533-AddAssetExifGistEarthcoord" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1772129818245-FixStupidWhiteSpace" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1772609167000-UpdateOpusCodecName" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1773242919341-EncodedVideoAssetFiles" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1773956345315-DuplicateSharedLinkAssets" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1774393726320-AssetFaceSyncReset" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1774548649115-AddChecksumAlgorithm.ts" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1775165531374-AddPersonNameTrigramIndex" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776217577402-DropAuditTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776263790468-DropDeviceIdAndDeviceAssetId" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776332807985-SetOAuthAllowInsecureRequests" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776442031775-AddOauthSidToSession" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776792304485-ReconcileSqlToolsUpgradeChanges" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1776848612954-MigrateAlbumOwnerIdToAlbumUser" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1777415973792-AddVideoStreamTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1777654048096-CreateAudioVideoTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1777667825574-ChangeDurationToInteger" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1777897107000-PartnerAssetSyncReset" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1778614946174-UpdateWorkflowTables" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1779806699547-AddPluginTemplates" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1780435471692-DeleteMismatchedAssetFaces" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1780592070031-ConvertNegativeRatingToNull" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1780592071031-AssetOcrSync" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1781089983296-CreateIntegrityReportTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1782414436633-AddPluginMethodAllowedHosts" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1782500000000-RestoreLivePhotoStillVisibility" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1784647658615-AddOAuthBearerTokenToSession" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1784836013770-MinFacePreferenceMigration" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1784986754473-ConvertUserPasswordEmptyStringToNull" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1784986754474-AlbumDescriptionNullable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1786385711807-AlbumOwnerDeleteTrigger" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1786741078327-AddWorkflowLogsTable" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1786972746371-AssetOcrUpdatedAtTrigger" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1786972746372-AssetOcrSyncReset" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1787148183729-ClusterGroups" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Migration "1787148183730-DeleteMismatchedMemoryAssets" succeeded +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseRepository] Finished running migrations +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseService] Checking for schema drift +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:DatabaseService] No schema drift detected +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{}} +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the encoded-video folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the library folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the upload folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the profile folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the thumbs folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Writing initial mount file for the backups folder +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  WARN [Microservices:StorageService] Found existing mount file, skipping creation +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Successfully enabled system mount folders checks +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:StorageService] Successfully verified system mount folder checks +immich-server | [Nest] 29 - 09/23/2026, 9:47:29 PM  LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 0 rows +immich-server | [Nest] 29 - 09/23/2026, 9:47:29 PM  LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 0 rows +immich-server | [Nest] 29 - 09/23/2026, 9:47:29 PM  LOG [Api:DatabaseRepository] Running migrations +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:MetadataService] Bootstrapping metadata service +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:MetadataService] Initializing metadata service +immich-server | [Nest] 7 - 09/23/2026, 9:47:29 PM  LOG [Microservices:MapRepository] Initializing metadata repository +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:DatabaseRepository] Finished running migrations +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:DatabaseService] Checking for schema drift +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:DatabaseService] No schema drift detected +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}} +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:StorageService] Successfully verified system mount folder checks +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:ServerService] Feature Flags: { +immich-server | "smartSearch": true, +immich-server | "facialRecognition": true, +immich-server | "duplicateDetection": true, +immich-server | "map": true, +immich-server | "reverseGeocoding": true, +immich-server | "importFaces": false, +immich-server | "sidecar": true, +immich-server | "search": true, +immich-server | "trash": true, +immich-server | "oauth": false, +immich-server | "oauthAutoLaunch": false, +immich-server | "ocr": true, +immich-server | "passwordLogin": true, +immich-server | "configFile": false, +immich-server | "email": false, +immich-server | "realtimeTranscoding": false +immich-server | } +immich-server | [Nest] 29 - 09/23/2026, 9:47:30 PM  LOG [Api:SystemConfigService] LogLevel=log (set via system config) +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:NestFactory] Starting Nest application... +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ClsModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ClsCommonModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] OpenTelemetryModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] KyselyModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] OpenTelemetryCoreModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] DiscoveryModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ClsRootModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ClsPluginsModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ScheduleModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:InstanceLoader] ApiModule dependencies initialized +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  WARN [Api:LegacyRouteConverter] Unsupported route path: "/api/*". In previous versions, the symbols ?, *, and + were used to denote optional or repeating path parameters. The latest version of "path-to-regexp" now requires the use of named parameters. For example, instead of using a route like /users/* to capture all routes starting with "/users", you should use /users/*path. For more details, refer to the migration guide. Attempting to auto-convert to "/api/{*path}"... +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ApiKeyController {/api/api-keys}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/me, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id/rotate, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/api-keys/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ActivityController {/api/activities}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/activities, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/activities, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/activities/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/activities/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AlbumController {/api/albums}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/map-markers, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/assets, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/users, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/albums/:id/user/:userId, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AppController {/api}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/.well-known/immich, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/custom.css, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AssetController {/api/assets}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/jobs, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/copy, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/metadata, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/metadata, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/ocr, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/metadata/:key, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/edits, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/edits, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/edits, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AssetFilesController {/api/asset-files}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/asset-files, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/asset-files/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/asset-files/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/asset-files/:id/download, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AssetMediaController {/api/assets}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/original, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/thumbnail, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/playback, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/bulk-upload-check, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AuthController {/api/auth}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/login, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/admin-sign-up, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/validateToken, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/change-password, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/logout, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/status, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/pin-code, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/session/unlock, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/auth/session/lock, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] AuthAdminController {/api/admin/auth}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/auth/unlink-all, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ClusterGroupController {/api/cluster-groups}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/requests, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/requests/:id/accept, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/requests/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/:id/requests, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/:id/users, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/:id/requests, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/:id/regenerate-people, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/cluster-groups/:id/leave, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ConfigUserController {/api/config}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/config, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/config/defaults, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ConfigAdminController {/api/admin/config}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/config, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/config/defaults, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/config, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ConfigPublicController {/api/public/config}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/public/config, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/public/config/defaults, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] DatabaseBackupController {/api/admin/database-backups}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/database-backups, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/database-backups/:filename, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/database-backups, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/database-backups/start-restore, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/database-backups/upload, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] DownloadController {/api/download}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/download/info, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/download/archive, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] DuplicateController {/api/duplicates}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/duplicates, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/duplicates, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/duplicates/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/duplicates/resolve, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] FaceController {/api/faces}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/faces, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/faces, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/faces/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/faces/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] IntegrityAdminController {/api/admin/integrity}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/integrity/summary, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/integrity/report, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/integrity/report/:id/file, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/integrity/report/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/integrity/report/:type/csv, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] JobController {/api/jobs}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/jobs, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/jobs, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/jobs/:name, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] LibraryController {/api/libraries}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/validate, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/libraries/:id/scan, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] MaintenanceController {/api/admin/maintenance}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance/status, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance/detect-install, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance/login, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/maintenance, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] MapController {/api/map}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/map/markers, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/map/reverse-geocode, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] MemoryController {/api/memories}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/memories/:id/assets, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] NotificationController {/api/notifications}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/notifications/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] NotificationAdminController {/api/admin/notifications}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/notifications, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/test-email, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/notifications/templates/:name, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] OAuthController {/api/oauth}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/mobile-redirect, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/authorize, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/callback, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/link, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/unlink, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/oauth/backchannel-logout, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] PartnerController {/api/partners}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/partners, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/partners, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/partners/:id, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/partners/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/partners/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] PersonController {/api/people}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id/thumbnail, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id/reassign, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/merge, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/people/:id/merge, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] PluginController {/api/plugins}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/plugins, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/plugins/methods, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/plugins/templates, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/plugins/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] QueueController {/api/queues}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/queues, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/queues/:name, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/queues/:name, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/queues/:name/jobs, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/queues/:name/jobs, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SearchController {/api/search}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/metadata, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/statistics, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/random, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/large-assets, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/smart, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/explore, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/person, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/places, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/cities, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/search/suggestions, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ServerController {/api/server}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/about, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/apk-links, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/storage, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/ping, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/version, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/version-history, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/features, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/config, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/media-types, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/license, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/license, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/license, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/server/version-check, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SessionController {/api/sessions}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sessions/:id/lock, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SharedLinkController {/api/shared-links}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/login, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/me, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/shared-links/:id/assets, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] StackController {/api/stacks}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/stacks/:id/assets/:assetId, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SyncController {/api/sync}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sync/stream, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sync/ack, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sync/ack, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/sync/ack, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SystemConfigController {/api/system-config}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-config, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-config/defaults, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-config, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-config/storage-template-options, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] SystemMetadataController {/api/system-metadata}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-metadata/admin-onboarding, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-metadata/reverse-geocoding-state, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/system-metadata/version-check-state, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] TagController {/api/tags}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/tags/:id/assets, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] TimelineController {/api/timeline}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/timeline/buckets, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/timeline/bucket, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] TrashController {/api/trash}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/trash/empty, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/trash/restore, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/trash/restore/assets, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] UserAdminController {/api/admin/users}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/calendar-heatmap, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/sessions, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/statistics, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/preferences, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/admin/users/:id/restore, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] UserController {/api/users}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/calendar-heatmap, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/preferences, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/license, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/license, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/license, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/me/onboarding, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/profile-image, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/users/:id/profile-image, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] VideoStreamController {/api/assets}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/stream/main.m3u8, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/stream/:sessionId/:variantIndex/playlist.m3u8, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/stream/:sessionId/:variantIndex/:filename, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/assets/:id/video/stream/:sessionId, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] ViewController {/api/view}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/view/folder/unique-paths, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/view/folder, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RoutesResolver] WorkflowController {/api/workflows}: +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows, POST} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/triggers, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id/share, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, PUT} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, PATCH} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id, DELETE} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:RouterExplorer] Mapped {/api/workflows/:id/logs, GET} route +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:NestApplication] Nest application successfully started +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:Bootstrap] Immich Server is listening on http://[::1]:2283 [v3.2.2] [production]  +immich-server | [Nest] 29 - 09/23/2026, 9:47:31 PM  LOG [Api:MachineLearningRepository] Machine learning server became healthy (http://immich-machine-learning:3003). +immich-server | [Nest] 7 - 09/23/2026, 9:47:31 PM  LOG [Microservices:MapRepository] Starting geodata import +immich-server | [Nest] 7 - 09/23/2026, 9:47:34 PM  LOG [Microservices:MapRepository] 10000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:34 PM  LOG [Microservices:MapRepository] 20000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:34 PM  LOG [Microservices:MapRepository] 30000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:35 PM  LOG [Microservices:MapRepository] 40000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:36 PM  LOG [Microservices:MapRepository] 50000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:36 PM  LOG [Microservices:MapRepository] 60000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:36 PM  LOG [Microservices:MapRepository] 70000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:36 PM  LOG [Microservices:MapRepository] 80000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:37 PM  LOG [Microservices:MapRepository] 90000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:38 PM  LOG [Microservices:MapRepository] 100000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:39 PM  LOG [Microservices:MapRepository] 110000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:39 PM  LOG [Microservices:MapRepository] 120000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:39 PM  LOG [Microservices:MapRepository] 130000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:40 PM  LOG [Microservices:MapRepository] 140000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:40 PM  LOG [Microservices:MapRepository] 150000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:40 PM  LOG [Microservices:MapRepository] 160000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:40 PM  LOG [Microservices:MapRepository] 170000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:40 PM  LOG [Microservices:MapRepository] 180000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:42 PM  LOG [Microservices:MapRepository] 190000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:42 PM  LOG [Microservices:MapRepository] 200000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:42 PM  LOG [Microservices:MapRepository] 210000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:42 PM  LOG [Microservices:MapRepository] 220000 geodata records imported +immich-server | [Nest] 7 - 09/23/2026, 9:47:43 PM  LOG [Microservices:MapRepository] Successfully imported 228294 geodata records in 11.83s (19299 records/second) +immich-server | [Nest] 7 - 09/23/2026, 9:47:53 PM  LOG [Microservices:MapRepository] Geodata import completed +immich-server | [Nest] 7 - 09/23/2026, 9:47:53 PM  LOG [Microservices:MetadataService] Initialized local reverse geocoder +immich-server | [Nest] 7 - 09/23/2026, 9:47:53 PM  LOG [Microservices:ServerService] Feature Flags: { +immich-server | "smartSearch": true, +immich-server | "facialRecognition": true, +immich-server | "duplicateDetection": true, +immich-server | "map": true, +immich-server | "reverseGeocoding": true, +immich-server | "importFaces": false, +immich-server | "sidecar": true, +immich-server | "search": true, +immich-server | "trash": true, +immich-server | "oauth": false, +immich-server | "oauthAutoLaunch": false, +immich-server | "ocr": true, +immich-server | "passwordLogin": true, +immich-server | "configFile": false, +immich-server | "email": false, +immich-server | "realtimeTranscoding": false +immich-server | } +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:SystemConfigService] LogLevel=log (set via system config) +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:MachineLearningRepository] Machine learning server became healthy (http://immich-machine-learning:3003). +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:WorkflowExecutionService] Imported plugin immich-plugin-core@2.0.1 (14 methods) from /build/plugins/immich-plugin-core +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:WorkflowExecutionService] Loaded plugin: immich-plugin-core@2.0.1 +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:WorkflowExecutionService] Loaded plugin with host functions: immich-plugin-core@2.0.1/worker +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:NestFactory] Starting Nest application... +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] ClsModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] ClsCommonModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] OpenTelemetryModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] KyselyModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] OpenTelemetryCoreModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] DiscoveryModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] ClsRootModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] ClsPluginsModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] BullModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:InstanceLoader] MicroservicesModule dependencies initialized +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:NestApplication] Nest application successfully started +immich-server | [Nest] 7 - 09/23/2026, 9:47:54 PM  LOG [Microservices:Bootstrap] Immich Microservices is running [v3.2.2] [production]  diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/to-states.json b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/to-states.json new file mode 100644 index 00000000..424ab8b8 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/to-states.json @@ -0,0 +1,26 @@ +{ + "immich-machine-learning": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "immich-postgres": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "immich-redis": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "immich-server": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/verdict.json b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/verdict.json new file mode 100644 index 00000000..8bce1880 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/immich/bench/evidence/MV-immich/verdict.json @@ -0,0 +1,95 @@ +{ + "harness_version": 3, + "edge": "MV-immich", + "app": "immich", + "note": "night 2026-09-23 within-a-major move: immich-machine-learning=ghcr.io/immich-app/immich-machine-learning:v3.2.2", + "from": { + "immich-server": "ghcr.io/immich-app/immich-server:v3.2.2", + "immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.0.3", + "immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0", + "immich-redis": "redis:7-alpine" + }, + "to": { + "immich-server": "ghcr.io/immich-app/immich-server:v3.2.2", + "immich-machine-learning": "ghcr.io/immich-app/immich-machine-learning:v3.2.2", + "immich-postgres": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0", + "immich-redis": "redis:7-alpine" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": null, + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": { + "immich-postgres": { + "image": "ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0", + "probe": "datadir major version", + "answer": "16", + "probe_rc": 0 + } + }, + "memory": { + "soak_s": 608.3, + "requested_s": 600, + "requests": 12053, + "codes": { + "200": 12053 + }, + "first_kill": null, + "containers": { + "immich-machine-learning": { + "limit": 1610612736, + "peak": 260608000, + "peak_pct": 0.162, + "anon_peak_sampled": 164958208, + "anon_peak_pct": 0.102, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "immich-postgres": { + "limit": 536870912, + "peak": 537214976, + "peak_pct": 1.001, + "anon_peak_sampled": 188661760, + "anon_peak_pct": 0.351, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "immich-redis": { + "limit": 134217728, + "peak": 8417280, + "peak_pct": 0.063, + "anon_peak_sampled": 4005888, + "anon_peak_pct": 0.03, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "immich-server": { + "limit": 2147483648, + "peak": 1464111104, + "peak_pct": 0.682, + "anon_peak_sampled": 1102950400, + "anon_peak_pct": 0.514, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 31.5, + "measured_at": "2026-09-23T19:58:59Z", + "evidence": "evidence/MV-immich", + "files_changed": [], + "total_s": 721.1 +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/app-logs-after.txt b/documentation/audits/night-2026-09-23/apps/kimai/app-logs-after.txt new file mode 100644 index 00000000..b64468e5 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/app-logs-after.txt @@ -0,0 +1,351 @@ +kimai | ++ cat /opt/kimai/version.txt +kimai | 2.57.0 +kimai | + KIMAI=2.57.0 +kimai | + echo 2.57.0 +kimai | + waitForDB +kimai | ++ awk -F '[/:@]' '{print $4}' +kimai-db | 2026-09-23 21:47:44+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.8.9+maria~ubu2404 started. +kimai-db | 2026-09-23 21:47:45+02:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB +kimai-db | 2026-09-23 21:47:45+02:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +kimai-db | 2026-09-23 21:47:45+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.8.9+maria~ubu2404 started. +kimai-db | 2026-09-23 21:47:45+02:00 [Note] [Entrypoint]: Starting temporary server +kimai-db | 2026-09-23 21:47:45+02:00 [Note] [Entrypoint]: Waiting for server startup +kimai-db | 2026-09-23 21:47:45 0 [Note] Starting MariaDB 11.8.9-MariaDB-ubu2404 source revision bf9193a939f515e95dd8def1a5468088c91cede6 server_uid XJIP6QbJ4lHnWnCFysMCKMDH7hM= as process 56 +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: Compressed tables use zlib 1.3 +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: Number of transaction pools: 1 +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +kimai | + DATABASE_USER=kimai +kimai | ++ awk -F '[/:@]' '{print $5}' +kimai | + DATABASE_PASS=QmPdc2mLG4tTiD84IHFSprsT +kimai | ++ awk -F '[/:@]' '{print $6}' +kimai | + DATABASE_HOST=kimai-db +kimai | ++ awk -F '[/:@]' '{print $7}' +kimai | + DATABASE_PORT=3306 +kimai | ++ awk -F '[/?]' '{print $4}' +kimai | + DATABASE_BASE=kimai +kimai | + re='^[0-9]+$' +kimai | + [[ 3306 =~ ^[0-9]+$ ]] +kimai | Wait for database connection ... +kimai | + echo 'Wait for database connection ...' +kimai | + php /dbtest.php kimai-db kimai 3306 kimai QmPdc2mLG4tTiD84IHFSprsT +kimai | Testing DB:Connection established +kimai | + echo 'Connection established' +kimai | + handleStartup +kimai | + '[' -z 512M ']' +kimai | + sed -i 's/memory_limit.*/memory_limit=512M/g' /usr/local/etc/php/php.ini +kimai | + cp /assets/monolog.yaml /opt/kimai/config/packages/monolog.yaml +kimai | + '[' -z '' ']' +kimai | ++ id -u www-data +kimai | + USER_ID=33 +kimai | + '[' -z '' ']' +kimai | ++ id -g www-data +kimai | + GROUP_ID=33 +kimai | + grep -w 33 /etc/group +kimai | Group already exists +kimai | + echo Group already exists +kimai | + id 33 +kimai | User already exists +kimai | + echo User already exists +kimai | + '[' -e /use_apache ']' +kimai | ++ id -nu 33 +kimai | + export APACHE_RUN_USER=www-data +kimai | + APACHE_RUN_USER=www-data +kimai | ++ id -ng 33 +kimai | + export APACHE_RUN_GROUP=www-data +kimai | + APACHE_RUN_GROUP=www-data +kimai-db | 2026-09-23 21:47:45 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +kimai-db | create_uring failed: falling back to libaio +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: Using Linux native AIO +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: Completed initialization of buffer pool +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: End of log at LSN=1841510 +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: Opened 3 undo tablespaces +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +kimai-db | 2026-09-23 21:47:45 0 [Note] InnoDB: log sequence number 1841510; transaction id 1781 +kimai-db | 2026-09-23 21:47:45 0 [Note] Plugin 'FEEDBACK' is disabled. +kimai-db | 2026-09-23 21:47:45 0 [Note] Plugin 'wsrep-provider' is disabled. +kimai-db | 2026-09-23 21:47:47 0 [Note] mariadbd: ready for connections. +kimai-db | Version: '11.8.9-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 0 mariadb.org binary distribution +kimai-db | 2026-09-23 21:47:48+02:00 [Note] [Entrypoint]: Temporary server started. +kimai-db | 2026-09-23 21:47:48+02:00 [Note] [Entrypoint]: Backing up system database to system_mysql_backup_11.6.2-MariaDB.sql.zst +kimai-db | 2026-09-23 21:47:49+02:00 [Note] [Entrypoint]: Backing up complete +kimai-db | 2026-09-23 21:47:49+02:00 [Note] [Entrypoint]: Starting mariadb-upgrade +kimai-db | The --upgrade-system-tables option was used, user tables won't be touched. +kimai-db | Major version upgrade detected from 11.6.2-MariaDB to 11.8.9-MariaDB. Check required! +kimai-db | Phase 1/8: Checking and upgrading mysql database +kimai-db | Processing databases +kimai-db | mysql +kimai-db | mysql.column_stats OK +kimai-db | mysql.columns_priv OK +kimai-db | mysql.db OK +kimai-db | mysql.event OK +kimai-db | mysql.func OK +kimai-db | mysql.global_priv OK +kimai-db | mysql.gtid_slave_pos OK +kimai-db | mysql.help_category OK +kimai-db | mysql.help_keyword OK +kimai-db | mysql.help_relation OK +kimai-db | mysql.help_topic OK +kimai-db | mysql.index_stats OK +kimai-db | mysql.innodb_index_stats OK +kimai-db | mysql.innodb_table_stats OK +kimai-db | mysql.plugin OK +kimai-db | mysql.proc OK +kimai-db | mysql.procs_priv OK +kimai-db | mysql.proxies_priv OK +kimai-db | mysql.roles_mapping OK +kimai-db | mysql.servers OK +kimai-db | mysql.table_stats OK +kimai-db | mysql.tables_priv OK +kimai-db | mysql.time_zone OK +kimai-db | mysql.time_zone_leap_second OK +kimai-db | mysql.time_zone_name OK +kimai-db | mysql.time_zone_transition OK +kimai-db | mysql.time_zone_transition_type OK +kimai-db | mysql.transaction_registry OK +kimai-db | Phase 2/8: Installing used storage engines... Skipped +kimai-db | Phase 3/8: Running 'mysql_fix_privilege_tables' +kimai-db | Phase 4/8: Fixing views... Skipped +kimai-db | Phase 5/8: Fixing table and database names ... Skipped +kimai-db | Phase 6/8: Checking and upgrading tables... Skipped +kimai-db | Phase 7/8: uninstalling plugins +kimai-db | Phase 8/8: Running 'FLUSH PRIVILEGES' +kimai-db | OK +kimai-db | 2026-09-23 21:47:56+02:00 [Note] [Entrypoint]: Finished mariadb-upgrade +kimai-db | 2026-09-23 21:47:56+02:00 [Note] [Entrypoint]: Stopping temporary server +kimai-db | 2026-09-23 21:47:56 0 [Note] mariadbd (initiated by: unknown): Normal shutdown +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: FTS optimize thread exiting. +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Starting shutdown... +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1" +kimai-db | 2026-09-23 21:47:56 0 [Note] Shutdown completed; log sequence number 1841510; transaction id 1785 +kimai-db | 2026-09-23 21:47:56 0 [Note] mariadbd: Shutdown complete +kimai-db | 2026-09-23 21:47:56+02:00 [Note] [Entrypoint]: Temporary server stopped +kimai-db | 2026-09-23 21:47:56 0 [Note] Starting MariaDB 11.8.9-MariaDB-ubu2404 source revision bf9193a939f515e95dd8def1a5468088c91cede6 server_uid XJIP6QbJ4lHnWnCFysMCKMDH7hM= as process 1 +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Compressed tables use zlib 1.3 +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Number of transaction pools: 1 +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +kimai-db | 2026-09-23 21:47:56 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +kimai-db | create_uring failed: falling back to libaio +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Using Linux native AIO +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Completed initialization of buffer pool +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: End of log at LSN=1841510 +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Opened 3 undo tablespaces +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: log sequence number 1841510; transaction id 1781 +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool +kimai-db | 2026-09-23 21:47:56 0 [Note] Plugin 'FEEDBACK' is disabled. +kimai-db | 2026-09-23 21:47:56 0 [Note] Plugin 'wsrep-provider' is disabled. +kimai-db | 2026-09-23 21:47:56 0 [Note] InnoDB: Buffer pool(s) load completed at 260923 21:47:56 +kimai-db | 2026-09-23 21:47:58 0 [Note] Server socket created on IP: '0.0.0.0', port: '3306'. +kimai-db | 2026-09-23 21:47:58 0 [Note] Server socket created on IP: '::', port: '3306'. +kimai-db | 2026-09-23 21:47:58 0 [Note] mariadbd: Event Scheduler: Loaded 0 events +kimai-db | 2026-09-23 21:47:58 0 [Note] mariadbd: ready for connections. +kimai-db | Version: '11.8.9-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution +kimai | + export APACHE_PID_FILE=/var/run/apache2/apache2.pid +kimai | + APACHE_PID_FILE=/var/run/apache2/apache2.pid +kimai | + export APACHE_RUN_DIR=/var/run/apache2 +kimai | + APACHE_RUN_DIR=/var/run/apache2 +kimai | + export APACHE_LOCK_DIR=/var/lock/apache2 +kimai | + APACHE_LOCK_DIR=/var/lock/apache2 +kimai | + export APACHE_LOG_DIR=/var/log/apache2 +kimai | + APACHE_LOG_DIR=/var/log/apache2 +kimai | + export LANG=C +kimai | + LANG=C +kimai | + prepareKimai +kimai | + /opt/kimai/bin/console -n kimai:install +kimai | Start installation ... +kimai | Database `kimai` for connection named default already exists. Skipped. +kimai | Creating database ... +kimai | [notice] Migrating up to DoctrineMigrations\Version20251214160001 +kimai | [notice] finished in 11759.4ms, used 56M memory, 74 migrations executed, 262 sql queries +kimai | +kimai | [OK] Successfully migrated to version: DoctrineMigrations\Version20251214160001 +kimai | +kimai | +kimai | Rebuilding cache ... +kimai | +kimai | // Clearing the cache for the prod environment with debug false +kimai | +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully cleared. +kimai | +kimai | +kimai | // Warming up the cache for the prod environment with debug false +kimai | +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully warmed. +kimai | +kimai | +kimai | [OK] Successfully installed Kimai version 2.57.0 🎉 +kimai | +kimai | + '[' '!' -z Drill-4c03a46f733ef5d0e0dcd72c ']' +kimai | + '[' '!' -a admin@example.com ']' +kimai | + /opt/kimai/bin/console kimai:user:create admin admin@example.com ROLE_SUPER_ADMIN Drill-4c03a46f733ef5d0e0dcd72c +kimai | +kimai | [OK] Success! Created user: admin +kimai | +kimai | + echo 2.57.0 +kimai | + echo 'Kimai is ready' +kimai | + runServer +kimai | + /opt/kimai/bin/console kimai:reload --env=prod +kimai | Kimai is ready +kimai | Validating config file syntax ... +kimai | +kimai | [OK] All 26 YAML files contain valid syntax. +kimai | +kimai | +kimai | +kimai | [OK] All 602 XLIFF files contain valid syntax. +kimai | +kimai | +kimai | Rebuilding your cache, please be patient ... +kimai | +kimai | // Clearing the cache for the prod environment with debug false +kimai | +kimai | [2026-09-23T19:46:26.424647+00:00] deprecation.INFO: User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) {"exception":"[object] (ErrorException(code: 0): User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) at /opt/kimai/vendor/doctrine/deprecations/src/Deprecation.php:208)"} {"channel":"deprecation"} +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully cleared. +kimai | +kimai | +kimai | // Warming up the cache for the prod environment with debug false +kimai | +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully warmed. +kimai | +kimai | +kimai | [OK] Kimai config was reloaded +kimai | +kimai | + chown -R 33:33 /opt/kimai/var +kimai | + '[' -e /use_apache ']' +kimai | + exec /usr/sbin/apache2 -D FOREGROUND +kimai | [Wed Sep 23 21:46:40.604360 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.67 (Debian) configured -- resuming normal operations +kimai | [Wed Sep 23 21:46:40.604410 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND' +kimai | localhost:8001 127.0.0.1 - - [23/Sep/2026:21:46:56 +0200] "GET / HTTP/1.1" 302 626 "-" "curl/7.88.1" +kimai | localhost:8001 172.18.0.3 - - [23/Sep/2026:21:47:16 +0200] "GET / HTTP/1.1" 302 626 "-" "Go-http-client/1.1" +kimai | localhost:8001 127.0.0.1 - - [23/Sep/2026:21:47:26 +0200] "GET / HTTP/1.1" 302 626 "-" "curl/7.88.1" +kimai | [Wed Sep 23 21:47:39.626312 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00170: caught SIGWINCH, shutting down gracefully +kimai | ++ cat /opt/kimai/version.txt +kimai | 2.57.0 +kimai | + KIMAI=2.57.0 +kimai | + echo 2.57.0 +kimai | + waitForDB +kimai | ++ awk -F '[/:@]' '{print $4}' +kimai | + DATABASE_USER=kimai +kimai | ++ awk -F '[/:@]' '{print $5}' +kimai | + DATABASE_PASS=QmPdc2mLG4tTiD84IHFSprsT +kimai | ++ awk -F '[/:@]' '{print $6}' +kimai | + DATABASE_HOST=kimai-db +kimai | ++ awk -F '[/:@]' '{print $7}' +kimai | + DATABASE_PORT=3306 +kimai | ++ awk -F '[/?]' '{print $4}' +kimai | + DATABASE_BASE=kimai +kimai | + re='^[0-9]+$' +kimai | + [[ 3306 =~ ^[0-9]+$ ]] +kimai | + echo 'Wait for database connection ...' +kimai | + php /dbtest.php kimai-db kimai 3306 kimai QmPdc2mLG4tTiD84IHFSprsT +kimai | Wait for database connection ... +kimai | + echo 'Connection established' +kimai | + handleStartup +kimai | + '[' -z 512M ']' +kimai | + sed -i 's/memory_limit.*/memory_limit=512M/g' /usr/local/etc/php/php.ini +kimai | Testing DB:Connection established +kimai | + cp /assets/monolog.yaml /opt/kimai/config/packages/monolog.yaml +kimai | + '[' -z '' ']' +kimai | ++ id -u www-data +kimai | + USER_ID=33 +kimai | + '[' -z '' ']' +kimai | ++ id -g www-data +kimai | + GROUP_ID=33 +kimai | + grep -w 33 /etc/group +kimai | + echo Group already exists +kimai | + id 33 +kimai | Group already exists +kimai | + echo User already exists +kimai | + '[' -e /use_apache ']' +kimai | User already exists +kimai | ++ id -nu 33 +kimai | + export APACHE_RUN_USER=www-data +kimai | + APACHE_RUN_USER=www-data +kimai | ++ id -ng 33 +kimai | + export APACHE_RUN_GROUP=www-data +kimai | + APACHE_RUN_GROUP=www-data +kimai | + export APACHE_PID_FILE=/var/run/apache2/apache2.pid +kimai | + APACHE_PID_FILE=/var/run/apache2/apache2.pid +kimai | + export APACHE_RUN_DIR=/var/run/apache2 +kimai | + APACHE_RUN_DIR=/var/run/apache2 +kimai | + export APACHE_LOCK_DIR=/var/lock/apache2 +kimai | + APACHE_LOCK_DIR=/var/lock/apache2 +kimai | + export APACHE_LOG_DIR=/var/log/apache2 +kimai | + APACHE_LOG_DIR=/var/log/apache2 +kimai | + export LANG=C +kimai | + LANG=C +kimai | + prepareKimai +kimai | + /opt/kimai/bin/console -n kimai:install +kimai | Start installation ... +kimai | Database `kimai` for connection named default already exists. Skipped. +kimai | Creating database ... +kimai | +kimai | [OK] Already at the latest version ("DoctrineMigrations\Version20251214160001") +kimai | +kimai | Rebuilding cache ... +kimai | +kimai | // Clearing the cache for the prod environment with debug false +kimai | +kimai | [2026-09-23T19:48:01.497427+00:00] deprecation.INFO: User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) {"exception":"[object] (ErrorException(code: 0): User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) at /opt/kimai/vendor/doctrine/deprecations/src/Deprecation.php:208)"} {"channel":"deprecation"} +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully cleared. +kimai | +kimai | +kimai | // Warming up the cache for the prod environment with debug false +kimai | +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully warmed. +kimai | +kimai | +kimai | [OK] Successfully installed Kimai version 2.57.0 🎉 +kimai | +kimai | + '[' '!' -z Drill-4c03a46f733ef5d0e0dcd72c ']' +kimai | + '[' '!' -a admin@example.com ']' +kimai | + /opt/kimai/bin/console kimai:user:create admin admin@example.com ROLE_SUPER_ADMIN Drill-4c03a46f733ef5d0e0dcd72c +kimai | +kimai | [ERROR] email: This e-mail address is already in use. +kimai | +kimai | [ERROR] username: The username is already used. +kimai | +kimai | + echo 2.57.0 +kimai | + echo 'Kimai is ready' +kimai | Kimai is ready +kimai | + runServer +kimai | + /opt/kimai/bin/console kimai:reload --env=prod +kimai | Validating config file syntax ... +kimai | +kimai | [OK] All 26 YAML files contain valid syntax. +kimai | +kimai | +kimai | +kimai | [OK] All 602 XLIFF files contain valid syntax. +kimai | +kimai | +kimai | Rebuilding your cache, please be patient ... +kimai | +kimai | // Clearing the cache for the prod environment with debug false +kimai | +kimai | [2026-09-23T19:48:16.092031+00:00] deprecation.INFO: User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) {"exception":"[object] (ErrorException(code: 0): User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) at /opt/kimai/vendor/doctrine/deprecations/src/Deprecation.php:208)"} {"channel":"deprecation"} +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully cleared. +kimai | +kimai | +kimai | // Warming up the cache for the prod environment with debug false +kimai | +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully warmed. +kimai | +kimai | +kimai | [OK] Kimai config was reloaded +kimai | +kimai | + chown -R 33:33 /opt/kimai/var +kimai | + '[' -e /use_apache ']' +kimai | + exec /usr/sbin/apache2 -D FOREGROUND +kimai | [Wed Sep 23 21:48:27.943076 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.67 (Debian) configured -- resuming normal operations +kimai | [Wed Sep 23 21:48:27.943383 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND' +kimai | localhost:8001 127.0.0.1 - - [23/Sep/2026:21:48:30 +0200] "GET / HTTP/1.1" 302 626 "-" "curl/7.88.1" +kimai | localhost:8001 172.18.0.3 - - [23/Sep/2026:21:48:36 +0200] "GET / HTTP/1.1" 302 626 "-" "Go-http-client/1.1" diff --git a/documentation/audits/night-2026-09-23/apps/kimai/badges.json b/documentation/audits/night-2026-09-23/apps/kimai/badges.json new file mode 100644 index 00000000..ce959803 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/badges.json @@ -0,0 +1,31 @@ +{ + "before": { + "hu": [ + { + "title": "Ez az alkalmazás a legfrissebb elérhető változatot futtatja.", + "text": "Naprakész" + } + ], + "en": [ + { + "title": "This app is running the newest version available.", + "text": "Up to date" + } + ] + }, + "after": { + "hu": [ + { + "title": "Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.", + "text": "Frissítés elérhető — ma" + } + ], + "en": [ + { + "title": "A newer version of this app is available. Select the Update button to start it.", + "text": "Update available — today" + } + ] + }, + "drill_commit": "d193a4cb7eb9" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/MV-kimai.log b/documentation/audits/night-2026-09-23/apps/kimai/bench/MV-kimai.log new file mode 100644 index 00000000..6c3fdb64 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/MV-kimai.log @@ -0,0 +1,127 @@ +[19:45:09] MV-kimai: deploying kimai at FROM {'kimai': 'kimai/kimai2:apache-2.57.0', 'kimai-db': 'mariadb:11.6'} +[19:46:58] FROM settled=True in 62.8s :: {"kimai": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "kimai-db": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:46:58] fixture: the BOX walk's own (Kimai), through upgrade_boxport +[19:47:00] kimai: seeded user drill574847f9 +[19:47:00] kimai: readback found=True (control passed) +[19:47:00] C1 (seed reads back BEFORE): True +[19:47:01] MV-kimai: swapping to TO {'kimai': 'kimai/kimai2:apache-2.57.0', 'kimai-db': 'mariadb:11.8'} +[19:47:36] TO up -d rc=0 +[19:48:07] TO settled=True in 31.3s :: {"kimai": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "kimai-db": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:48:08] engine state kimai-db: 11.8.9-MariaDB | This installation of MariaDB is already upgraded to 11.8.9-MariaDB. There is no need to run mariadb-upgrade again. [exit=1] +[19:48:08] migration lines observed: 6 +[19:48:08] kimai: readback found=True (control passed) +[19:48:08] RESULT (seed reads back AFTER): True +[19:48:09] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.6:8001 +[19:48:24] + 15s kimai=116M/384M peak=384M kills=0 rs=0 kimai-db=126M/256M peak=132M kills=0 rs=0 reqs=288 +[19:48:39] + 30s kimai=116M/384M peak=384M kills=0 rs=0 kimai-db=125M/256M peak=132M kills=0 rs=0 reqs=570 +[19:48:54] + 46s kimai=117M/384M peak=384M kills=0 rs=0 kimai-db=125M/256M peak=132M kills=0 rs=0 reqs=858 +[19:49:09] + 61s kimai=117M/384M peak=384M kills=0 rs=0 kimai-db=125M/256M peak=132M kills=0 rs=0 reqs=1145 +[19:49:25] + 76s kimai=113M/384M peak=384M kills=0 rs=0 kimai-db=123M/256M peak=132M kills=0 rs=0 reqs=1433 +[19:49:40] + 91s kimai=110M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=1721 +[19:49:55] + 106s kimai=110M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=2009 +[19:50:10] + 121s kimai=112M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=2297 +[19:50:25] + 136s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=2589 +[19:50:40] + 152s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=2877 +[19:50:55] + 167s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=3165 +[19:51:11] + 182s kimai=115M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=3453 +[19:51:26] + 197s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=3741 +[19:51:41] + 212s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=4029 +[19:51:56] + 227s kimai=115M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=4321 +[19:52:11] + 242s kimai=115M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=4609 +[19:52:26] + 258s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=4897 +[19:52:41] + 273s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=5185 +[19:52:57] + 288s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=5477 +[19:53:12] + 303s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=5765 +[19:53:27] + 318s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=6053 +[19:53:42] + 333s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=6341 +[19:53:57] + 348s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=6629 +[19:54:12] + 364s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=6917 +[19:54:27] + 379s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=7205 +[19:54:43] + 394s kimai=115M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=7497 +[19:54:58] + 409s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=7785 +[19:55:13] + 424s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=121M/256M peak=132M kills=0 rs=0 reqs=8073 +[19:55:28] + 439s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=8361 +[19:55:43] + 454s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=8649 +[19:55:58] + 470s kimai=115M/384M peak=384M kills=0 rs=0 kimai-db=121M/256M peak=132M kills=0 rs=0 reqs=8941 +[19:56:13] + 485s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=9229 +[19:56:29] + 500s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=9517 +[19:56:44] + 515s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=121M/256M peak=132M kills=0 rs=0 reqs=9809 +[19:56:59] + 530s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=10097 +[19:57:14] + 545s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=10385 +[19:57:29] + 561s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=10673 +[19:57:44] + 576s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=10961 +[19:57:59] + 591s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=11249 +[19:58:15] + 606s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=11537 +[19:58:15] memory watch: killed=False tight=[] requests=11541 codes={'302': 11541} +[19:58:15] MV-kimai: ABORT — putting the FROM images back +[19:58:59] kimai: readback found=True (control passed) +[19:58:59] ABORT: app came back in 31.0s; data present=True +{ + "harness_version": 3, + "edge": "MV-kimai", + "app": "kimai", + "note": "night 2026-09-23 within-a-major move: kimai-db=mariadb:11.8", + "from": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.6" + }, + "to": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.8" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kkimai | [OK] Already at the latest version (\"DoctrineMigrations\\Version20251214160001\")", + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": { + "kimai-db": { + "image": "mariadb:11.8", + "probe": "datadir version | the engine's own upgrade verdict", + "answer": "11.8.9-MariaDB | This installation of MariaDB is already upgraded to 11.8.9-MariaDB. There is no need to run mariadb-upgrade again. [exit=1]", + "probe_rc": 0 + } + }, + "memory": { + "soak_s": 606.3, + "requested_s": 600, + "requests": 11541, + "codes": { + "302": 11541 + }, + "first_kill": null, + "containers": { + "kimai": { + "limit": 402653184, + "peak": 402653184, + "peak_pct": 1.0, + "anon_peak_sampled": 24023040, + "anon_peak_pct": 0.06, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "kimai-db": { + "limit": 268435456, + "peak": 138829824, + "peak_pct": 0.517, + "anon_peak_sampled": 101621760, + "anon_peak_pct": 0.379, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 31.3, + "measured_at": "2026-09-23T19:58:59Z", + "evidence": "evidence/MV-kimai", + "files_changed": [], + "total_s": 830.3 +} diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/abort-states.json b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/abort-states.json new file mode 100644 index 00000000..c615e4fb --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/abort-states.json @@ -0,0 +1,14 @@ +{ + "kimai": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "kimai-db": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/compose-final.log b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/compose-final.log new file mode 100644 index 00000000..20a75f58 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/compose-final.log @@ -0,0 +1,150 @@ +kimai | ++ cat /opt/kimai/version.txt +kimai | + KIMAI=2.57.0 +kimai | + echo 2.57.0 +kimai | 2.57.0 +kimai | + waitForDB +kimai | ++ awk -F '[/:@]' '{print $4}' +kimai | + DATABASE_USER=kimai +kimai | ++ awk -F '[/:@]' '{print $5}' +kimai | + DATABASE_PASS=m9XYN8UvYq6kMpysNMKvU2Wk +kimai | ++ awk -F '[/:@]' '{print $6}' +kimai | + DATABASE_HOST=kimai-db +kimai | ++ awk -F '[/:@]' '{print $7}' +kimai | + DATABASE_PORT=3306 +kimai | ++ awk -F '[/?]' '{print $4}' +kimai | + DATABASE_BASE=kimai +kimai | + re='^[0-9]+$' +kimai | + [[ 3306 =~ ^[0-9]+$ ]] +kimai | + echo 'Wait for database connection ...' +kimai | Wait for database connection ... +kimai | + php /dbtest.php kimai-db kimai 3306 kimai m9XYN8UvYq6kMpysNMKvU2Wk +kimai | + echo 'Connection established' +kimai | Testing DB:Connection established +kimai | + handleStartup +kimai | + '[' -z 512M ']' +kimai | + sed -i 's/memory_limit.*/memory_limit=512M/g' /usr/local/etc/php/php.ini +kimai | + cp /assets/monolog.yaml /opt/kimai/config/packages/monolog.yaml +kimai | + '[' -z '' ']' +kimai | ++ id -u www-data +kimai | + USER_ID=33 +kimai | + '[' -z '' ']' +kimai | ++ id -g www-data +kimai | + GROUP_ID=33 +kimai | + grep -w 33 /etc/group +kimai | Group already exists +kimai | + echo Group already exists +kimai | + id 33 +kimai | + echo User already exists +kimai | + '[' -e /use_apache ']' +kimai | User already exists +kimai | ++ id -nu 33 +kimai | + export APACHE_RUN_USER=www-data +kimai | + APACHE_RUN_USER=www-data +kimai | ++ id -ng 33 +kimai | + export APACHE_RUN_GROUP=www-data +kimai | + APACHE_RUN_GROUP=www-data +kimai | + export APACHE_PID_FILE=/var/run/apache2/apache2.pid +kimai | + APACHE_PID_FILE=/var/run/apache2/apache2.pid +kimai | + export APACHE_RUN_DIR=/var/run/apache2 +kimai | + APACHE_RUN_DIR=/var/run/apache2 +kimai | + export APACHE_LOCK_DIR=/var/lock/apache2 +kimai | + APACHE_LOCK_DIR=/var/lock/apache2 +kimai | + export APACHE_LOG_DIR=/var/log/apache2 +kimai | + APACHE_LOG_DIR=/var/log/apache2 +kimai | + export LANG=C +kimai | + LANG=C +kimai | + prepareKimai +kimai | + /opt/kimai/bin/console -n kimai:install +kimai | Start installation ... +kimai | Database `kimai` for connection named default already exists. Skipped. +kimai | Creating database ... +kimai | +kimai | [OK] Already at the latest version ("DoctrineMigrations\Version20251214160001") +kimai | +kimai | Rebuilding cache ... +kimai | +kimai | // Clearing the cache for the prod environment with debug false +kimai | +kimai | [2026-09-23T19:58:29.329784+00:00] deprecation.INFO: User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) {"exception":"[object] (ErrorException(code: 0): User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) at /opt/kimai/vendor/doctrine/deprecations/src/Deprecation.php:208)"} {"channel":"deprecation"} +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully cleared. +kimai | +kimai | +kimai | // Warming up the cache for the prod environment with debug false +kimai | +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully warmed. +kimai | +kimai | +kimai | [OK] Successfully installed Kimai version 2.57.0 🎉 +kimai | +kimai | + '[' '!' -z 2u7mppzjeBnpteRd ']' +kimai | + '[' '!' -a admin@example.com ']' +kimai | + /opt/kimai/bin/console kimai:user:create admin admin@example.com ROLE_SUPER_ADMIN 2u7mppzjeBnpteRd +kimai | +kimai | [ERROR] email: This e-mail address is already in use. +kimai | +kimai | [ERROR] username: The username is already used. +kimai | +kimai | + echo 2.57.0 +kimai | Kimai is ready +kimai | + echo 'Kimai is ready' +kimai | + runServer +kimai | + /opt/kimai/bin/console kimai:reload --env=prod +kimai | Validating config file syntax ... +kimai | +kimai | [OK] All 26 YAML files contain valid syntax. +kimai | +kimai | +kimai | +kimai | [OK] All 602 XLIFF files contain valid syntax. +kimai | +kimai | +kimai | Rebuilding your cache, please be patient ... +kimai | +kimai | // Clearing the cache for the prod environment with debug false +kimai | +kimai | [2026-09-23T19:58:42.491669+00:00] deprecation.INFO: User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) {"exception":"[object] (ErrorException(code: 0): User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) at /opt/kimai/vendor/doctrine/deprecations/src/Deprecation.php:208)"} {"channel":"deprecation"} +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully cleared. +kimai | +kimai | +kimai | // Warming up the cache for the prod environment with debug false +kimai | +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully warmed. +kimai | +kimai | +kimai | [OK] Kimai config was reloaded +kimai | +kimai | + chown -R 33:33 /opt/kimai/var +kimai | + '[' -e /use_apache ']' +kimai | + exec /usr/sbin/apache2 -D FOREGROUND +kimai | [Wed Sep 23 21:58:51.620741 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.67 (Debian) configured -- resuming normal operations +kimai | [Wed Sep 23 21:58:51.620784 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND' +kimai | localhost:8001 127.0.0.1 - - [23/Sep/2026:21:58:58 +0200] "GET / HTTP/1.1" 302 626 "-" "curl/7.88.1" +kimai-db | 2026-09-23 21:58:17+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.6.2+maria~ubu2404 started. +kimai-db | 2026-09-23 21:58:17+02:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB +kimai-db | 2026-09-23 21:58:17+02:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +kimai-db | 2026-09-23 21:58:18+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.6.2+maria~ubu2404 started. +kimai-db | 2026-09-23 21:58:18+02:00 [Note] [Entrypoint]: MariaDB upgrade not required +kimai-db | 2026-09-23 21:58:18 0 [Note] Starting MariaDB 11.6.2-MariaDB-ubu2404 source revision d8dad8c3b54cd09fefce7bc3b9749f427eed9709 server_uid /kQyIvBLohVjMAmNqd5yho5fB8U= as process 1 +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: Compressed tables use zlib 1.3 +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: Number of transaction pools: 1 +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +kimai-db | 2026-09-23 21:58:18 0 [Warning] mariadbd: io_uring_queue_init() failed with errno 0 +kimai-db | 2026-09-23 21:58:18 0 [Warning] InnoDB: liburing disabled: falling back to innodb_use_native_aio=OFF +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: Completed initialization of buffer pool +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: End of log at LSN=1828599 +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: Opened 3 undo tablespaces +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: log sequence number 1828599; transaction id 1783 +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool +kimai-db | 2026-09-23 21:58:18 0 [Note] Plugin 'FEEDBACK' is disabled. +kimai-db | 2026-09-23 21:58:18 0 [Note] Plugin 'wsrep-provider' is disabled. +kimai-db | 2026-09-23 21:58:18 0 [Note] InnoDB: Buffer pool(s) load completed at 260923 21:58:18 +kimai-db | 2026-09-23 21:58:25 0 [Note] Server socket created on IP: '0.0.0.0'. +kimai-db | 2026-09-23 21:58:25 0 [Note] Server socket created on IP: '::'. +kimai-db | 2026-09-23 21:58:25 0 [Note] mariadbd: Event Scheduler: Loaded 0 events +kimai-db | 2026-09-23 21:58:25 0 [Note] mariadbd: ready for connections. +kimai-db | Version: '11.6.2-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/engine-state.json b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/engine-state.json new file mode 100644 index 00000000..32ec3d5d --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/engine-state.json @@ -0,0 +1,8 @@ +{ + "kimai-db": { + "image": "mariadb:11.8", + "probe": "datadir version | the engine's own upgrade verdict", + "answer": "11.8.9-MariaDB | This installation of MariaDB is already upgraded to 11.8.9-MariaDB. There is no need to run mariadb-upgrade again. [exit=1]", + "probe_rc": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/files-after.json b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/files-after.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/files-after.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/files-before.json b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/files-before.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/files-before.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/memory-samples.json b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/memory-samples.json new file mode 100644 index 00000000..3aa974b1 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/memory-samples.json @@ -0,0 +1,1122 @@ +[ + { + "t": 15.2, + "containers": { + "kimai": { + "limit": 402653184, + "current": 121638912, + "peak": 402653184, + "anon": 18698240, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 132341760, + "peak": 138829824, + "anon": 101519360, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 288 + }, + { + "t": 30.4, + "containers": { + "kimai": { + "limit": 402653184, + "current": 122421248, + "peak": 402653184, + "anon": 20398080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 132030464, + "peak": 138829824, + "anon": 101580800, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 570 + }, + { + "t": 45.5, + "containers": { + "kimai": { + "limit": 402653184, + "current": 122904576, + "peak": 402653184, + "anon": 20545536, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 131821568, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 858 + }, + { + "t": 60.7, + "containers": { + "kimai": { + "limit": 402653184, + "current": 122949632, + "peak": 402653184, + "anon": 20545536, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 132075520, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1145 + }, + { + "t": 75.9, + "containers": { + "kimai": { + "limit": 402653184, + "current": 119316480, + "peak": 402653184, + "anon": 20553728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 129081344, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1433 + }, + { + "t": 91.0, + "containers": { + "kimai": { + "limit": 402653184, + "current": 115945472, + "peak": 402653184, + "anon": 20553728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126246912, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1721 + }, + { + "t": 106.2, + "containers": { + "kimai": { + "limit": 402653184, + "current": 115703808, + "peak": 402653184, + "anon": 20553728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 125976576, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2009 + }, + { + "t": 121.3, + "containers": { + "kimai": { + "limit": 402653184, + "current": 117559296, + "peak": 402653184, + "anon": 22245376, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126222336, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2297 + }, + { + "t": 136.5, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120279040, + "peak": 402653184, + "anon": 24014848, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 125968384, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2589 + }, + { + "t": 151.6, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120541184, + "peak": 402653184, + "anon": 24014848, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126480384, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2877 + }, + { + "t": 166.8, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120565760, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126738432, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3165 + }, + { + "t": 181.9, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120799232, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126730240, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3453 + }, + { + "t": 197.0, + "containers": { + "kimai": { + "limit": 402653184, + "current": 119767040, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126730240, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3741 + }, + { + "t": 212.2, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120549376, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126468096, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4029 + }, + { + "t": 227.3, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120823808, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126214144, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4321 + }, + { + "t": 242.5, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120782848, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126709760, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4609 + }, + { + "t": 257.7, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120283136, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126472192, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4897 + }, + { + "t": 272.8, + "containers": { + "kimai": { + "limit": 402653184, + "current": 119771136, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126222336, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5185 + }, + { + "t": 287.9, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120537088, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126484480, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5477 + }, + { + "t": 303.1, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120037376, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126468096, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5765 + }, + { + "t": 318.2, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120049664, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126205952, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6053 + }, + { + "t": 333.4, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120057856, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126218240, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6341 + }, + { + "t": 348.5, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120266752, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 125960192, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6629 + }, + { + "t": 363.6, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120274944, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 125964288, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6917 + }, + { + "t": 378.8, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120020992, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126222336, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7205 + }, + { + "t": 393.9, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120803328, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126750720, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7497 + }, + { + "t": 409.1, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120307712, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126218240, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7785 + }, + { + "t": 424.2, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120283136, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126984192, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8073 + }, + { + "t": 439.4, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120225792, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126193664, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8361 + }, + { + "t": 454.5, + "containers": { + "kimai": { + "limit": 402653184, + "current": 119758848, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126459904, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8649 + }, + { + "t": 469.7, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120827904, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126988288, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8941 + }, + { + "t": 484.8, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120266752, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 125984768, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9229 + }, + { + "t": 500.0, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120295424, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126472192, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9517 + }, + { + "t": 515.1, + "containers": { + "kimai": { + "limit": 402653184, + "current": 119771136, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 127004672, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9809 + }, + { + "t": 530.3, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120528896, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126734336, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10097 + }, + { + "t": 545.4, + "containers": { + "kimai": { + "limit": 402653184, + "current": 119779328, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126214144, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10385 + }, + { + "t": 560.6, + "containers": { + "kimai": { + "limit": 402653184, + "current": 119787520, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126468096, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10673 + }, + { + "t": 575.7, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120279040, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 125960192, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10961 + }, + { + "t": 590.9, + "containers": { + "kimai": { + "limit": 402653184, + "current": 119754752, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126218240, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11249 + }, + { + "t": 606.0, + "containers": { + "kimai": { + "limit": 402653184, + "current": 120000512, + "peak": 402653184, + "anon": 24023040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "kimai-db": { + "limit": 268435456, + "current": 126218240, + "peak": 138829824, + "anon": 101621760, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11537 + } +] \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/migration-lines.txt b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/migration-lines.txt new file mode 100644 index 00000000..4135f776 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/migration-lines.txt @@ -0,0 +1,6 @@ +kimai | [OK] Already at the latest version ("DoctrineMigrations\Version20251214160001") +kimai-db | 2026-09-23 21:47:20+02:00 [Note] [Entrypoint]: Starting mariadb-upgrade +kimai-db | The --upgrade-system-tables option was used, user tables won't be touched. +kimai-db | Major version upgrade detected from 11.6.2-MariaDB to 11.8.9-MariaDB. Check required! +kimai-db | Phase 1/8: Checking and upgrading mysql database +kimai-db | Phase 6/8: Checking and upgrading tables... Skipped \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/run.log b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/run.log new file mode 100644 index 00000000..9eac106b --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/run.log @@ -0,0 +1,58 @@ +[19:45:09] MV-kimai: deploying kimai at FROM {'kimai': 'kimai/kimai2:apache-2.57.0', 'kimai-db': 'mariadb:11.6'} +[19:46:58] FROM settled=True in 62.8s :: {"kimai": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "kimai-db": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:46:58] fixture: the BOX walk's own (Kimai), through upgrade_boxport +[19:47:00] kimai: seeded user drill574847f9 +[19:47:00] kimai: readback found=True (control passed) +[19:47:00] C1 (seed reads back BEFORE): True +[19:47:01] MV-kimai: swapping to TO {'kimai': 'kimai/kimai2:apache-2.57.0', 'kimai-db': 'mariadb:11.8'} +[19:47:36] TO up -d rc=0 +[19:48:07] TO settled=True in 31.3s :: {"kimai": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "kimai-db": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:48:08] engine state kimai-db: 11.8.9-MariaDB | This installation of MariaDB is already upgraded to 11.8.9-MariaDB. There is no need to run mariadb-upgrade again. [exit=1] +[19:48:08] migration lines observed: 6 +[19:48:08] kimai: readback found=True (control passed) +[19:48:08] RESULT (seed reads back AFTER): True +[19:48:09] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.6:8001 +[19:48:24] + 15s kimai=116M/384M peak=384M kills=0 rs=0 kimai-db=126M/256M peak=132M kills=0 rs=0 reqs=288 +[19:48:39] + 30s kimai=116M/384M peak=384M kills=0 rs=0 kimai-db=125M/256M peak=132M kills=0 rs=0 reqs=570 +[19:48:54] + 46s kimai=117M/384M peak=384M kills=0 rs=0 kimai-db=125M/256M peak=132M kills=0 rs=0 reqs=858 +[19:49:09] + 61s kimai=117M/384M peak=384M kills=0 rs=0 kimai-db=125M/256M peak=132M kills=0 rs=0 reqs=1145 +[19:49:25] + 76s kimai=113M/384M peak=384M kills=0 rs=0 kimai-db=123M/256M peak=132M kills=0 rs=0 reqs=1433 +[19:49:40] + 91s kimai=110M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=1721 +[19:49:55] + 106s kimai=110M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=2009 +[19:50:10] + 121s kimai=112M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=2297 +[19:50:25] + 136s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=2589 +[19:50:40] + 152s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=2877 +[19:50:55] + 167s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=3165 +[19:51:11] + 182s kimai=115M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=3453 +[19:51:26] + 197s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=3741 +[19:51:41] + 212s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=4029 +[19:51:56] + 227s kimai=115M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=4321 +[19:52:11] + 242s kimai=115M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=4609 +[19:52:26] + 258s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=4897 +[19:52:41] + 273s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=5185 +[19:52:57] + 288s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=5477 +[19:53:12] + 303s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=5765 +[19:53:27] + 318s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=6053 +[19:53:42] + 333s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=6341 +[19:53:57] + 348s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=6629 +[19:54:12] + 364s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=6917 +[19:54:27] + 379s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=7205 +[19:54:43] + 394s kimai=115M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=7497 +[19:54:58] + 409s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=7785 +[19:55:13] + 424s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=121M/256M peak=132M kills=0 rs=0 reqs=8073 +[19:55:28] + 439s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=8361 +[19:55:43] + 454s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=8649 +[19:55:58] + 470s kimai=115M/384M peak=384M kills=0 rs=0 kimai-db=121M/256M peak=132M kills=0 rs=0 reqs=8941 +[19:56:13] + 485s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=9229 +[19:56:29] + 500s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=9517 +[19:56:44] + 515s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=121M/256M peak=132M kills=0 rs=0 reqs=9809 +[19:56:59] + 530s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=10097 +[19:57:14] + 545s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=10385 +[19:57:29] + 561s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=10673 +[19:57:44] + 576s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=10961 +[19:57:59] + 591s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=11249 +[19:58:15] + 606s kimai=114M/384M peak=384M kills=0 rs=0 kimai-db=120M/256M peak=132M kills=0 rs=0 reqs=11537 +[19:58:15] memory watch: killed=False tight=[] requests=11541 codes={'302': 11541} +[19:58:15] MV-kimai: ABORT — putting the FROM images back +[19:58:59] kimai: readback found=True (control passed) +[19:58:59] ABORT: app came back in 31.0s; data present=True \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/to-full.log b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/to-full.log new file mode 100644 index 00000000..1660c15c --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/to-full.log @@ -0,0 +1,226 @@ +kimai | ++ cat /opt/kimai/version.txt +kimai | + KIMAI=2.57.0 +kimai | + echo 2.57.0 +kimai | 2.57.0 +kimai | + waitForDB +kimai | ++ awk -F '[/:@]' '{print $4}' +kimai | + DATABASE_USER=kimai +kimai | ++ awk -F '[/:@]' '{print $5}' +kimai | + DATABASE_PASS=m9XYN8UvYq6kMpysNMKvU2Wk +kimai | ++ awk -F '[/:@]' '{print $6}' +kimai | + DATABASE_HOST=kimai-db +kimai | ++ awk -F '[/:@]' '{print $7}' +kimai | + DATABASE_PORT=3306 +kimai | ++ awk -F '[/?]' '{print $4}' +kimai | + DATABASE_BASE=kimai +kimai | + re='^[0-9]+$' +kimai | + [[ 3306 =~ ^[0-9]+$ ]] +kimai | + echo 'Wait for database connection ...' +kimai-db | 2026-09-23 21:47:15+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.8.9+maria~ubu2404 started. +kimai-db | 2026-09-23 21:47:15+02:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB +kimai-db | 2026-09-23 21:47:16+02:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +kimai-db | 2026-09-23 21:47:16+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.8.9+maria~ubu2404 started. +kimai-db | 2026-09-23 21:47:16+02:00 [Note] [Entrypoint]: Starting temporary server +kimai-db | 2026-09-23 21:47:16+02:00 [Note] [Entrypoint]: Waiting for server startup +kimai-db | 2026-09-23 21:47:16 0 [Note] Starting MariaDB 11.8.9-MariaDB-ubu2404 source revision bf9193a939f515e95dd8def1a5468088c91cede6 server_uid /kQyIvBLohVjMAmNqd5yho5fB8U= as process 56 +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: Compressed tables use zlib 1.3 +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: Number of transaction pools: 1 +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +kimai-db | 2026-09-23 21:47:16 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +kimai-db | create_uring failed: falling back to libaio +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: Using Linux native AIO +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: Completed initialization of buffer pool +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: End of log at LSN=1828599 +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: Opened 3 undo tablespaces +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +kimai-db | 2026-09-23 21:47:16 0 [Note] InnoDB: log sequence number 1828599; transaction id 1783 +kimai-db | 2026-09-23 21:47:16 0 [Note] Plugin 'FEEDBACK' is disabled. +kimai-db | 2026-09-23 21:47:16 0 [Note] Plugin 'wsrep-provider' is disabled. +kimai-db | 2026-09-23 21:47:20 0 [Note] mariadbd: ready for connections. +kimai-db | Version: '11.8.9-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 0 mariadb.org binary distribution +kimai-db | 2026-09-23 21:47:20+02:00 [Note] [Entrypoint]: Temporary server started. +kimai-db | 2026-09-23 21:47:20+02:00 [Note] [Entrypoint]: Backing up system database to system_mysql_backup_11.6.2-MariaDB.sql.zst +kimai-db | 2026-09-23 21:47:20+02:00 [Note] [Entrypoint]: Backing up complete +kimai-db | 2026-09-23 21:47:20+02:00 [Note] [Entrypoint]: Starting mariadb-upgrade +kimai-db | The --upgrade-system-tables option was used, user tables won't be touched. +kimai-db | Major version upgrade detected from 11.6.2-MariaDB to 11.8.9-MariaDB. Check required! +kimai-db | Phase 1/8: Checking and upgrading mysql database +kimai-db | Processing databases +kimai-db | mysql +kimai-db | mysql.column_stats OK +kimai-db | mysql.columns_priv OK +kimai-db | mysql.db OK +kimai-db | mysql.event OK +kimai-db | mysql.func OK +kimai-db | mysql.global_priv OK +kimai-db | mysql.gtid_slave_pos OK +kimai-db | mysql.help_category OK +kimai-db | mysql.help_keyword OK +kimai-db | mysql.help_relation OK +kimai-db | mysql.help_topic OK +kimai-db | mysql.index_stats OK +kimai-db | mysql.innodb_index_stats OK +kimai-db | mysql.innodb_table_stats OK +kimai-db | mysql.plugin OK +kimai-db | mysql.proc OK +kimai-db | mysql.procs_priv OK +kimai-db | mysql.proxies_priv OK +kimai-db | mysql.roles_mapping OK +kimai-db | mysql.servers OK +kimai-db | mysql.table_stats OK +kimai-db | mysql.tables_priv OK +kimai-db | mysql.time_zone OK +kimai-db | mysql.time_zone_leap_second OK +kimai-db | mysql.time_zone_name OK +kimai-db | mysql.time_zone_transition OK +kimai-db | mysql.time_zone_transition_type OK +kimai-db | mysql.transaction_registry OK +kimai-db | Phase 2/8: Installing used storage engines... Skipped +kimai-db | Phase 3/8: Running 'mysql_fix_privilege_tables' +kimai-db | Phase 4/8: Fixing views... Skipped +kimai-db | Phase 5/8: Fixing table and database names ... Skipped +kimai-db | Phase 6/8: Checking and upgrading tables... Skipped +kimai-db | Phase 7/8: uninstalling plugins +kimai-db | Phase 8/8: Running 'FLUSH PRIVILEGES' +kimai-db | OK +kimai-db | 2026-09-23 21:47:30+02:00 [Note] [Entrypoint]: Finished mariadb-upgrade +kimai-db | 2026-09-23 21:47:30 0 [Note] mariadbd (initiated by: unknown): Normal shutdown +kimai-db | 2026-09-23 21:47:30+02:00 [Note] [Entrypoint]: Stopping temporary server +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: FTS optimize thread exiting. +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Starting shutdown... +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1" +kimai-db | 2026-09-23 21:47:30 0 [Note] Shutdown completed; log sequence number 1828599; transaction id 1787 +kimai-db | 2026-09-23 21:47:30 0 [Note] mariadbd: Shutdown complete +kimai-db | 2026-09-23 21:47:30+02:00 [Note] [Entrypoint]: Temporary server stopped +kimai-db | 2026-09-23 21:47:30 0 [Note] Starting MariaDB 11.8.9-MariaDB-ubu2404 source revision bf9193a939f515e95dd8def1a5468088c91cede6 server_uid /kQyIvBLohVjMAmNqd5yho5fB8U= as process 1 +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Compressed tables use zlib 1.3 +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Number of transaction pools: 1 +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +kimai-db | 2026-09-23 21:47:30 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +kimai-db | create_uring failed: falling back to libaio +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Using Linux native AIO +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Completed initialization of buffer pool +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: End of log at LSN=1828599 +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Opened 3 undo tablespaces +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: log sequence number 1828599; transaction id 1783 +kimai-db | 2026-09-23 21:47:30 0 [Note] Plugin 'FEEDBACK' is disabled. +kimai-db | 2026-09-23 21:47:30 0 [Note] Plugin 'wsrep-provider' is disabled. +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool +kimai-db | 2026-09-23 21:47:30 0 [Note] InnoDB: Buffer pool(s) load completed at 260923 21:47:30 +kimai-db | 2026-09-23 21:47:32 0 [Note] Server socket created on IP: '0.0.0.0', port: '3306'. +kimai-db | 2026-09-23 21:47:32 0 [Note] Server socket created on IP: '::', port: '3306'. +kimai-db | 2026-09-23 21:47:32 0 [Note] mariadbd: Event Scheduler: Loaded 0 events +kimai-db | 2026-09-23 21:47:32 0 [Note] mariadbd: ready for connections. +kimai-db | Version: '11.8.9-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution +kimai | Wait for database connection ... +kimai | + php /dbtest.php kimai-db kimai 3306 kimai m9XYN8UvYq6kMpysNMKvU2Wk +kimai | + echo 'Connection established' +kimai | Testing DB:Connection established +kimai | + handleStartup +kimai | + '[' -z 512M ']' +kimai | + sed -i 's/memory_limit.*/memory_limit=512M/g' /usr/local/etc/php/php.ini +kimai | + cp /assets/monolog.yaml /opt/kimai/config/packages/monolog.yaml +kimai | + '[' -z '' ']' +kimai | ++ id -u www-data +kimai | + USER_ID=33 +kimai | + '[' -z '' ']' +kimai | ++ id -g www-data +kimai | + GROUP_ID=33 +kimai | + grep -w 33 /etc/group +kimai | Group already exists +kimai | + echo Group already exists +kimai | + id 33 +kimai | User already exists +kimai | + echo User already exists +kimai | + '[' -e /use_apache ']' +kimai | ++ id -nu 33 +kimai | + export APACHE_RUN_USER=www-data +kimai | + APACHE_RUN_USER=www-data +kimai | ++ id -ng 33 +kimai | + export APACHE_RUN_GROUP=www-data +kimai | + APACHE_RUN_GROUP=www-data +kimai | + export APACHE_PID_FILE=/var/run/apache2/apache2.pid +kimai | + APACHE_PID_FILE=/var/run/apache2/apache2.pid +kimai | + export APACHE_RUN_DIR=/var/run/apache2 +kimai | + APACHE_RUN_DIR=/var/run/apache2 +kimai | + export APACHE_LOCK_DIR=/var/lock/apache2 +kimai | + APACHE_LOCK_DIR=/var/lock/apache2 +kimai | + export APACHE_LOG_DIR=/var/log/apache2 +kimai | + APACHE_LOG_DIR=/var/log/apache2 +kimai | + export LANG=C +kimai | + LANG=C +kimai | + prepareKimai +kimai | + /opt/kimai/bin/console -n kimai:install +kimai | Start installation ... +kimai | Database `kimai` for connection named default already exists. Skipped. +kimai | Creating database ... +kimai | +kimai | [OK] Already at the latest version ("DoctrineMigrations\Version20251214160001") +kimai | +kimai | Rebuilding cache ... +kimai | +kimai | // Clearing the cache for the prod environment with debug false +kimai | +kimai | [2026-09-23T19:47:37.643734+00:00] deprecation.INFO: User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) {"exception":"[object] (ErrorException(code: 0): User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) at /opt/kimai/vendor/doctrine/deprecations/src/Deprecation.php:208)"} {"channel":"deprecation"} +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully cleared. +kimai | +kimai | +kimai | // Warming up the cache for the prod environment with debug false +kimai | +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully warmed. +kimai | +kimai | +kimai | [OK] Successfully installed Kimai version 2.57.0 🎉 +kimai | +kimai | + '[' '!' -z 2u7mppzjeBnpteRd ']' +kimai | + '[' '!' -a admin@example.com ']' +kimai | + /opt/kimai/bin/console kimai:user:create admin admin@example.com ROLE_SUPER_ADMIN 2u7mppzjeBnpteRd +kimai | +kimai | [ERROR] email: This e-mail address is already in use. +kimai | +kimai | [ERROR] username: The username is already used. +kimai | +kimai | + echo 2.57.0 +kimai | + echo 'Kimai is ready' +kimai | Kimai is ready +kimai | + runServer +kimai | + /opt/kimai/bin/console kimai:reload --env=prod +kimai | Validating config file syntax ... +kimai | +kimai | [OK] All 26 YAML files contain valid syntax. +kimai | +kimai | +kimai | +kimai | [OK] All 602 XLIFF files contain valid syntax. +kimai | +kimai | +kimai | Rebuilding your cache, please be patient ... +kimai | +kimai | // Clearing the cache for the prod environment with debug false +kimai | +kimai | [2026-09-23T19:47:54.854947+00:00] deprecation.INFO: User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) {"exception":"[object] (ErrorException(code: 0): User Deprecated: Enabling the controller resolver automapping feature has been deprecated. Symfony Mapped Route Parameters should be used as replacement. (DoctrineExtension.php:934 called by DoctrineExtension.php:543, https://github.com/doctrine/DoctrineBundle/pull/1804, package doctrine/doctrine-bundle) at /opt/kimai/vendor/doctrine/deprecations/src/Deprecation.php:208)"} {"channel":"deprecation"} +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully cleared. +kimai | +kimai | +kimai | // Warming up the cache for the prod environment with debug false +kimai | +kimai | [OK] Cache for the "prod" environment (debug=false) was successfully warmed. +kimai | +kimai | +kimai | [OK] Kimai config was reloaded +kimai | +kimai | + chown -R 33:33 /opt/kimai/var +kimai | + '[' -e /use_apache ']' +kimai | + exec /usr/sbin/apache2 -D FOREGROUND +kimai | [Wed Sep 23 21:48:05.382172 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.67 (Debian) configured -- resuming normal operations +kimai | [Wed Sep 23 21:48:05.382238 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND' +kimai | localhost:8001 127.0.0.1 - - [23/Sep/2026:21:48:06 +0200] "GET / HTTP/1.1" 302 626 "-" "curl/7.88.1" diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/to-states.json b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/to-states.json new file mode 100644 index 00000000..c615e4fb --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/to-states.json @@ -0,0 +1,14 @@ +{ + "kimai": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "kimai-db": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/verdict.json b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/verdict.json new file mode 100644 index 00000000..2b6d2922 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/bench/evidence/MV-kimai/verdict.json @@ -0,0 +1,69 @@ +{ + "harness_version": 3, + "edge": "MV-kimai", + "app": "kimai", + "note": "night 2026-09-23 within-a-major move: kimai-db=mariadb:11.8", + "from": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.6" + }, + "to": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.8" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kkimai | [OK] Already at the latest version (\"DoctrineMigrations\\Version20251214160001\")", + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": { + "kimai-db": { + "image": "mariadb:11.8", + "probe": "datadir version | the engine's own upgrade verdict", + "answer": "11.8.9-MariaDB | This installation of MariaDB is already upgraded to 11.8.9-MariaDB. There is no need to run mariadb-upgrade again. [exit=1]", + "probe_rc": 0 + } + }, + "memory": { + "soak_s": 606.3, + "requested_s": 600, + "requests": 11541, + "codes": { + "302": 11541 + }, + "first_kill": null, + "containers": { + "kimai": { + "limit": 402653184, + "peak": 402653184, + "peak_pct": 1.0, + "anon_peak_sampled": 24023040, + "anon_peak_pct": 0.06, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "kimai-db": { + "limit": 268435456, + "peak": 138829824, + "peak_pct": 0.517, + "anon_peak_sampled": 101621760, + "anon_peak_pct": 0.379, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 31.3, + "measured_at": "2026-09-23T19:58:59Z", + "evidence": "evidence/MV-kimai", + "files_changed": [], + "total_s": 830.3 +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/log.txt b/documentation/audits/night-2026-09-23/apps/kimai/log.txt new file mode 100644 index 00000000..36760d4a --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/log.txt @@ -0,0 +1,31 @@ +21:45:08 ==== kimai: mariadb:11.6 -> mariadb:11.8 (sub=kimai, class=engine-mariadb) +21:45:11 [1] required fields filled beyond DOMAIN/SUBDOMAIN: ['ADMIN_PASSWORD'] +21:45:11 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'} +21:47:07 [1] deployed, controller state=running, pinned={'kimai': 'kimai/kimai2:apache-2.57.0', 'kimai-db': 'mariadb:11.6'} +21:47:12 [2] seeding through the app's own front door +21:47:18 kimai: seeded user drill639e0a75 +21:47:18 [3] control C1 — reading the seed back BEFORE the update +21:47:22 kimai: readback found=True (control passed) +21:47:22 [4] backup press SKIPPED for kimai (R-648: whole-box only; the update's backing-up phase backs up kimai alone) +21:47:24 [5] drill commit d193a4cb7eb9: kimai mariadb:11.6 -> mariadb:11.8 (push rc=0) +21:47:29 [5] badge HU: [{'title': 'Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.', 'text': 'Frissítés elérhető — ma'}] +21:47:29 [5] badge EN: [{'title': 'A newer version of this app is available. Select the Update button to start it.', 'text': 'Update available — today'}] +21:47:29 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'} +21:47:29 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None +21:47:31 + 2.1s phase=pulling label=Új verzió letöltése… err=None hold=None +21:47:39 + 10.3s phase=copying label=Az adatok másolása a frissítés előtt… err=None hold=None +21:47:44 + 15.4s phase=starting label=Indítás az új verzióval… err=None hold=None +21:48:01 + 31.9s phase=verifying label=Működés ellenőrzése… err=None hold=None +21:48:37 + 67.9s phase=done label=Frissítve err=None hold=None +21:48:37 [7] reading the seed back AFTER the update +21:48:41 kimai: readback found=True (control passed) +21:48:45 [8] pinned = {'kimai': 'kimai/kimai2:apache-2.57.0', 'kimai-db': 'mariadb:11.8'} +21:48:45 [8] installed = {'kimai': 'kimai/kimai2:apache-2.57.0', 'kimai-db': 'mariadb:11.8'} +21:48:45 [8] compose = ['image: kimai/kimai2:apache-2.57.0', 'image: mariadb:11.8'] +21:48:45 [8] inspect = ['kimai-db mariadb:11.8 running=true restarts=0', 'kimai kimai/kimai2:apache-2.57.0 running=true restarts=0'] +21:48:45 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/kimai/verdict.json +21:48:46 [X] stop -> 200 {'ok': True, 'message': 'Stack kimai stop completed'} +21:49:18 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'kimai', 'volumes_removed': ['kimai_kimai_db_data', 'kimai_kimai_var'], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'hd +21:49:27 [X] after remove: deployed=False leftovers='/opt/docker/stacks/kimai' +21:50:30 [X] R-626 check +60 s after remove: 'clean' +21:50:30 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/kimai/verdict.json diff --git a/documentation/audits/night-2026-09-23/apps/kimai/observables-before.json b/documentation/audits/night-2026-09-23/apps/kimai/observables-before.json new file mode 100644 index 00000000..3d70a18f --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/observables-before.json @@ -0,0 +1,22 @@ +{ + "pinned_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.6" + }, + "installed_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.6" + }, + "catalog_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.6" + }, + "live_compose_image_lines": [ + "image: kimai/kimai2:apache-2.57.0", + "image: mariadb:11.6" + ], + "docker_inspect": [ + "kimai kimai/kimai2:apache-2.57.0 running=true restarts=0", + "kimai-db mariadb:11.6 running=true restarts=0" + ] +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/observables.json b/documentation/audits/night-2026-09-23/apps/kimai/observables.json new file mode 100644 index 00000000..5e7042be --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/observables.json @@ -0,0 +1,46 @@ +{ + "before": { + "pinned_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.6" + }, + "installed_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.6" + }, + "catalog_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.6" + }, + "live_compose_image_lines": [ + "image: kimai/kimai2:apache-2.57.0", + "image: mariadb:11.6" + ], + "docker_inspect": [ + "kimai kimai/kimai2:apache-2.57.0 running=true restarts=0", + "kimai-db mariadb:11.6 running=true restarts=0" + ] + }, + "after": { + "pinned_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.8" + }, + "installed_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.8" + }, + "catalog_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.8" + }, + "live_compose_image_lines": [ + "image: kimai/kimai2:apache-2.57.0", + "image: mariadb:11.8" + ], + "docker_inspect": [ + "kimai-db mariadb:11.8 running=true restarts=0", + "kimai kimai/kimai2:apache-2.57.0 running=true restarts=0" + ] + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/phases.json b/documentation/audits/night-2026-09-23/apps/kimai/phases.json new file mode 100644 index 00000000..2fc29913 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/phases.json @@ -0,0 +1,59 @@ +{ + "accepted": true, + "http": "202", + "phases": [ + { + "t": 0.0, + "phase": "safety-dump", + "label": "Adatbázis pillanatkép…", + "updating": true, + "error": null, + "hold": null + }, + { + "t": 2.1, + "phase": "pulling", + "label": "Új verzió letöltése…", + "updating": true, + "error": null, + "hold": null + }, + { + "t": 10.3, + "phase": "copying", + "label": "Az adatok másolása a frissítés előtt…", + "updating": true, + "error": null, + "hold": null + }, + { + "t": 15.4, + "phase": "starting", + "label": "Indítás az új verzióval…", + "updating": true, + "error": null, + "hold": null + }, + { + "t": 31.9, + "phase": "verifying", + "label": "Működés ellenőrzése…", + "updating": true, + "error": null, + "hold": null + }, + { + "t": 67.9, + "phase": "done", + "label": "Frissítve", + "updating": false, + "error": null, + "hold": null + } + ], + "duration_s": 67.9, + "final_phase": "done", + "update_error": null, + "hold_reason": null, + "state": "running" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/kimai/verdict.json b/documentation/audits/night-2026-09-23/apps/kimai/verdict.json new file mode 100644 index 00000000..19392826 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/kimai/verdict.json @@ -0,0 +1,52 @@ +{ + "harness_version": 1, + "app": "kimai", + "venue": "guest 9202 demo-hp-scratch, controller 0.267.0, drill catalog", + "class": "engine-mariadb", + "from": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.6" + }, + "to": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.8" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "kimai | [notice] finished in 11759.4ms, used 56M memory, 74 migrations executed, 262 sql queries", + "abort": "not-attempted", + "abort_detail": null, + "duration_s": 67.9, + "measured_at": "2026-09-23T19:45:08.454070+00:00", + "evidence": "apps/kimai/", + "notes": [], + "badge_catchup_seconds": 4.8, + "observables_after": { + "pinned_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.8" + }, + "installed_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.8" + }, + "catalog_images": { + "kimai": "kimai/kimai2:apache-2.57.0", + "kimai-db": "mariadb:11.8" + }, + "live_compose_image_lines": [ + "image: kimai/kimai2:apache-2.57.0", + "image: mariadb:11.8" + ], + "docker_inspect": [ + "kimai-db mariadb:11.8 running=true restarts=0", + "kimai kimai/kimai2:apache-2.57.0 running=true restarts=0" + ] + }, + "final_phase": "done", + "hold_reason": null, + "update_error": null, + "r626_at_60s": "clean" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/MV-komga.log b/documentation/audits/night-2026-09-23/apps/komga/bench/MV-komga.log new file mode 100644 index 00000000..0755c237 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/MV-komga.log @@ -0,0 +1,106 @@ +[19:34:57] MV-komga: deploying komga at FROM {'komga': 'gotson/komga:1.25.0'} +[19:35:28] FROM settled=True in 30.9s :: {"komga": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:35:28] fixture: the BOX walk's own (Komga), through upgrade_boxport +[19:35:29] komga: claimed the server as drill6b6a49b3@example.invalid +[19:35:30] komga: readback found=True (http 200, control refused 401) +[19:35:30] C1 (seed reads back BEFORE): True +[19:35:30] MV-komga: swapping to TO {'komga': 'gotson/komga:1.27.1'} +[19:35:33] TO up -d rc=0 +[19:36:04] TO settled=True in 30.9s :: {"komga": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:36:04] migration lines observed: 6 +[19:36:05] komga: readback found=True (http 200, control refused 401) +[19:36:05] RESULT (seed reads back AFTER): True +[19:36:05] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.5:25600 +[19:36:20] + 15s komga=577M/768M peak=585M kills=0 rs=0 reqs=288 +[19:36:35] + 30s komga=587M/768M peak=589M kills=0 rs=0 reqs=584 +[19:36:50] + 45s komga=536M/768M peak=589M kills=0 rs=0 reqs=884 +[19:37:06] + 60s komga=510M/768M peak=589M kills=0 rs=0 reqs=1180 +[19:37:21] + 76s komga=482M/768M peak=589M kills=0 rs=0 reqs=1479 +[19:37:36] + 91s komga=472M/768M peak=589M kills=0 rs=0 reqs=1776 +[19:37:51] + 106s komga=473M/768M peak=589M kills=0 rs=0 reqs=2076 +[19:38:06] + 121s komga=465M/768M peak=589M kills=0 rs=0 reqs=2373 +[19:38:21] + 136s komga=458M/768M peak=589M kills=0 rs=0 reqs=2672 +[19:38:36] + 151s komga=456M/768M peak=589M kills=0 rs=0 reqs=2972 +[19:38:51] + 166s komga=451M/768M peak=589M kills=0 rs=0 reqs=3269 +[19:39:06] + 181s komga=451M/768M peak=589M kills=0 rs=0 reqs=3568 +[19:39:22] + 196s komga=451M/768M peak=589M kills=0 rs=0 reqs=3865 +[19:39:37] + 212s komga=451M/768M peak=589M kills=0 rs=0 reqs=4164 +[19:39:52] + 227s komga=451M/768M peak=589M kills=0 rs=0 reqs=4464 +[19:40:07] + 242s komga=451M/768M peak=589M kills=0 rs=0 reqs=4761 +[19:40:22] + 257s komga=451M/768M peak=589M kills=0 rs=0 reqs=5060 +[19:40:37] + 272s komga=452M/768M peak=589M kills=0 rs=0 reqs=5360 +[19:40:52] + 287s komga=460M/768M peak=589M kills=0 rs=0 reqs=5657 +[19:41:07] + 302s komga=459M/768M peak=589M kills=0 rs=0 reqs=5956 +[19:41:23] + 317s komga=459M/768M peak=589M kills=0 rs=0 reqs=6256 +[19:41:38] + 333s komga=461M/768M peak=589M kills=0 rs=0 reqs=6556 +[19:41:53] + 348s komga=460M/768M peak=589M kills=0 rs=0 reqs=6853 +[19:42:08] + 363s komga=460M/768M peak=589M kills=0 rs=0 reqs=7153 +[19:42:23] + 378s komga=461M/768M peak=589M kills=0 rs=0 reqs=7453 +[19:42:38] + 393s komga=457M/768M peak=589M kills=0 rs=0 reqs=7753 +[19:42:53] + 408s komga=456M/768M peak=589M kills=0 rs=0 reqs=8052 +[19:43:08] + 423s komga=457M/768M peak=589M kills=0 rs=0 reqs=8349 +[19:43:23] + 438s komga=451M/768M peak=589M kills=0 rs=0 reqs=8649 +[19:43:39] + 454s komga=448M/768M peak=589M kills=0 rs=0 reqs=8949 +[19:43:54] + 469s komga=448M/768M peak=589M kills=0 rs=0 reqs=9245 +[19:44:09] + 484s komga=448M/768M peak=589M kills=0 rs=0 reqs=9545 +[19:44:24] + 499s komga=449M/768M peak=589M kills=0 rs=0 reqs=9845 +[19:44:39] + 514s komga=449M/768M peak=589M kills=0 rs=0 reqs=10145 +[19:44:54] + 529s komga=448M/768M peak=589M kills=0 rs=0 reqs=10442 +[19:45:09] + 544s komga=448M/768M peak=589M kills=0 rs=0 reqs=10742 +[19:45:24] + 559s komga=440M/768M peak=589M kills=0 rs=0 reqs=11041 +[19:45:40] + 575s komga=440M/768M peak=589M kills=0 rs=0 reqs=11342 +[19:45:55] + 590s komga=440M/768M peak=589M kills=0 rs=0 reqs=11642 +[19:46:10] + 605s komga=435M/768M peak=589M kills=0 rs=0 reqs=11940 +[19:46:10] memory watch: killed=False tight=[] requests=11940 codes={'200': 11940} +[19:46:10] MV-komga: ABORT — putting the FROM images back +[19:46:46] komga: readback found=True (http 200, control refused 401) +[19:46:46] ABORT: app came back in 31.2s; data present=True +{ + "harness_version": 3, + "edge": "MV-komga", + "app": "komga", + "note": "night 2026-09-23 within-a-major move: komga=gotson/komga:1.27.1", + "from": { + "komga": "gotson/komga:1.25.0" + }, + "to": { + "komga": "gotson/komga:1.27.1" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kkomga | 2026-09-23T21:35:41.616+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 92 migrations (execution time 00:00.104s)", + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": null, + "memory": { + "soak_s": 605.2, + "requested_s": 600, + "requests": 11940, + "codes": { + "200": 11940 + }, + "first_kill": null, + "containers": { + "komga": { + "limit": 805306368, + "peak": 618233856, + "peak_pct": 0.768, + "anon_peak_sampled": 482971648, + "anon_peak_pct": 0.6, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 30.9, + "measured_at": "2026-09-23T19:46:46Z", + "evidence": "evidence/MV-komga", + "files_changed": [], + "total_s": 708.7 +} diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/abort-states.json b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/abort-states.json new file mode 100644 index 00000000..77448ad6 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/abort-states.json @@ -0,0 +1,8 @@ +{ + "komga": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/compose-final.log b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/compose-final.log new file mode 100644 index 00000000..c7cb5793 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/compose-final.log @@ -0,0 +1,61 @@ +komga | ____ __. +komga | | |/ _|____ _____ _________ +komga | | < / _ \ / \ / ___\__ \ +komga | | | ( <_> ) Y Y \/ /_/ > __ \_ +komga | |____|__ \____/|__|_| /\___ (____ / +komga | \/ \//_____/ \/ +komga | +komga | Version: 1.25.0 +komga | +komga | 2026-09-23T21:46:16.174+02:00 INFO 1 --- [ main] org.gotson.komga.ApplicationKt : Starting ApplicationKt v1.25.0 using Java 23.0.2 with PID 1 (/app/application.jar started by root in /app) +komga | 2026-09-23T21:46:16.178+02:00 INFO 1 --- [ main] org.gotson.komga.ApplicationKt : The following 1 profile is active: "docker" +komga | 2026-09-23T21:46:21.116+02:00 INFO 1 --- [ main] c.github.gotson.nightcompress.Archive : Loaded libarchive 3.8.5 zlib/1.3.1 liblzma/5.8.3 bz2lib/1.0.8 liblz4/1.10.0 libzstd/1.5.7 nettle/3.10 libb2/bundled libacl/2.3.2 libattr/2.3.2 +komga | 2026-09-23T21:46:21.129+02:00 INFO 1 --- [ main] o.g.k.i.m.divina.Rar5Extractor : Rar5 extractor is enabled +komga | 2026-09-23T21:46:22.484+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteMainPoolRW - Starting... +komga | 2026-09-23T21:46:22.885+02:00 INFO 1 --- [ main] com.zaxxer.hikari.pool.HikariPool : SqliteMainPoolRW - Added connection org.sqlite.jdbc4.JDBC4Connection@48188d23 +komga | 2026-09-23T21:46:22.887+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteMainPoolRW - Start completed. +komga | 2026-09-23T21:46:23.177+02:00 INFO 1 --- [ main] org.flywaydb.core.FlywayExecutor : Database: jdbc:sqlite:/config/database.sqlite (SQLite 3.50) +komga | 2026-09-23T21:46:23.385+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 92 migrations (execution time 00:00.156s) +komga | 2026-09-23T21:46:23.398+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "main": 20260921111319 +komga | 2026-09-23T21:46:23.399+02:00 WARN 1 --- [ main] o.f.core.internal.command.DbMigrate : Schema "main" has a version (20260921111319) that is newer than the latest available migration (20250730173126) ! +komga | 2026-09-23T21:46:23.404+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Schema "main" is up to date. No migration necessary. +komga | 2026-09-23T21:46:24.660+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteMainPoolRO - Starting... +komga | 2026-09-23T21:46:24.664+02:00 INFO 1 --- [ main] com.zaxxer.hikari.pool.HikariPool : SqliteMainPoolRO - Added connection org.sqlite.jdbc4.JDBC4Connection@3b9c05f +komga | 2026-09-23T21:46:24.664+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteMainPoolRO - Start completed. +komga | 2026-09-23T21:46:25.585+02:00 INFO 1 --- [ main] o.j.i.D.logVersionSupport : Version : Database version is supported by dialect SQLDialect.SQLITE: 3.50.2 +komga | 2026-09-23T21:46:26.022+02:00 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 25600 (http) +komga | 2026-09-23T21:46:26.053+02:00 INFO 1 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +komga | 2026-09-23T21:46:26.053+02:00 INFO 1 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.54] +komga | 2026-09-23T21:46:26.129+02:00 INFO 1 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +komga | 2026-09-23T21:46:26.130+02:00 INFO 1 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 9699 ms +komga | 2026-09-23T21:46:27.042+02:00 INFO 1 --- [ main] o.g.k.i.kobo.KepubConverter : Kepub conversion available. kepubify path: /usr/bin/kepubify +komga | 2026-09-23T21:46:27.271+02:00 INFO 1 --- [ main] c.g.g.n.j.i.plugins.JxlImageReaderSpi : Loaded libjxl v0.11.1 +komga | 2026-09-23T21:46:27.321+02:00 INFO 1 --- [ main] c.g.g.n.h.i.plugins.HeifImageReaderSpi : Loaded libheif v1.21.2 +komga | 2026-09-23T21:46:27.368+02:00 INFO 1 --- [ main] c.g.g.n.w.i.plugins.WebpImageReaderSpi : Loaded libwebp: decoder v1.5.0, demux v1.5.0 +komga | 2026-09-23T21:46:27.429+02:00 INFO 1 --- [ main] o.g.k.i.image.ImageConverter : Supported read formats: [JPEG 2000, JPG, tiff, bigtiff, bmp, PCX, gif, WBMP, PNG, RAW, JPEG, AVIF, PNM, BigTIFF, tif, TIFF, wbmp, jpeg, jbig2, jpeg-lossless, jxl, jpg, JPEG2000, BMP, pcx, GIF, Jpeg XL, png, BIGTIFF, raw, JPEG-LOSSLESS, webp, JBIG2, pnm, TIF, jpeg2000, WebP, HEIC, jpeg 2000, HEIF] +komga | 2026-09-23T21:46:27.430+02:00 INFO 1 --- [ main] o.g.k.i.image.ImageConverter : Supported read mediaTypes: [image/vnd.wap.wbmp, image/jpeg, image/x-portable-graymap, image/bmp, image/x-windows-pcx, image/gif, image/x-pc-paintbrush, image/x-raw, image/webp, image/heif-sequence, image/x-pcx, image/heic-sequence, image/avif, image/x-portable-bitmap, image/heif, image/heic, image/png, image/x-jb2, image/pcx, image/x-windows-bmp, image/jpeg2000, image/jp2, image/x-bmp, image/x-png, image/x-portable-pixmap, image/tiff, image/x-tiff, image/x-jbig2, image/x-portable-anymap, image/jxl] +komga | 2026-09-23T21:46:27.431+02:00 INFO 1 --- [ main] o.g.k.i.image.ImageConverter : Supported write formats: [JPEG 2000, JPG, tiff, bigtiff, PCX, bmp, gif, WBMP, PNG, RAW, JPEG, PNM, BigTIFF, tif, TIFF, wbmp, jpeg, jpg, JPEG2000, pcx, BMP, GIF, png, raw, BIGTIFF, pnm, TIF, jpeg2000, jpeg 2000] +komga | 2026-09-23T21:46:27.432+02:00 INFO 1 --- [ main] o.g.k.i.image.ImageConverter : Supported write mediaTypes: [image/vnd.wap.wbmp, image/png, image/jpeg, image/x-portable-graymap, image/pcx, image/bmp, image/x-windows-pcx, image/x-windows-bmp, image/gif, image/jpeg2000, image/x-pc-paintbrush, image/x-raw, image/jp2, image/x-pcx, image/x-bmp, image/x-png, image/x-portable-bitmap, image/x-portable-pixmap, image/tiff, image/x-tiff, image/x-portable-anymap] +komga | 2026-09-23T21:46:27.712+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteTasksPoolRW - Starting... +komga | 2026-09-23T21:46:27.720+02:00 INFO 1 --- [ main] com.zaxxer.hikari.pool.HikariPool : SqliteTasksPoolRW - Added connection org.sqlite.jdbc4.JDBC4Connection@6e3552b0 +komga | 2026-09-23T21:46:27.720+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteTasksPoolRW - Start completed. +komga | 2026-09-23T21:46:27.772+02:00 INFO 1 --- [ main] org.flywaydb.core.FlywayExecutor : Database: jdbc:sqlite:/config/tasks.sqlite (SQLite 3.50) +komga | 2026-09-23T21:46:27.779+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 1 migration (execution time 00:00.003s) +komga | 2026-09-23T21:46:27.782+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "main": 20231013114850 +komga | 2026-09-23T21:46:27.784+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Schema "main" is up to date. No migration necessary. +komga | 2026-09-23T21:46:28.154+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteTasksPoolRO - Starting... +komga | 2026-09-23T21:46:28.156+02:00 INFO 1 --- [ main] com.zaxxer.hikari.pool.HikariPool : SqliteTasksPoolRO - Added connection org.sqlite.jdbc4.JDBC4Connection@7c52df60 +komga | 2026-09-23T21:46:28.157+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteTasksPoolRO - Start completed. +komga | 2026-09-23T21:46:28.577+02:00 WARN 1 --- [ main] org.apache.lucene.store.MMapDirectory : You are running with Java 22 or later. To make full use of MMapDirectory, please update Apache Lucene. +komga | 2026-09-23T21:46:31.454+02:00 INFO 1 --- [ main] o.g.k.i.api.rest.FontsController : Fonts embedded: {OpenDyslexic=[class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Bold-Italic.woff], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Bold-Italic.woff2], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Bold.woff], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Bold.woff2], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Italic.woff], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Italic.woff2], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Regular.woff], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Regular.woff2]]} +komga | 2026-09-23T21:46:31.456+02:00 INFO 1 --- [ main] o.g.k.i.api.rest.FontsController : Fonts discovered: {} +komga | 2026-09-23T21:46:32.193+02:00 INFO 1 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [public/index.html] +komga | 2026-09-23T21:46:33.598+02:00 INFO 1 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 18 endpoints beneath base path '/actuator' +komga | 2026-09-23T21:46:33.742+02:00 INFO 1 --- [ main] eAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name apiKeyAuthenticationProvider +komga | 2026-09-23T21:46:35.607+02:00 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 25600 (http) with context path '/' +komga | 2026-09-23T21:46:35.634+02:00 INFO 1 --- [ main] org.gotson.komga.ApplicationKt : Started ApplicationKt in 20.462 seconds (process running for 21.382) +komga | 2026-09-23T21:46:35.769+02:00 INFO 1 --- [ scheduling-1] .AuthenticationActivityCleanupController : Remove authentication activity older than 2026-08-23T19:46:35.767511025 (UTC) +komga | 2026-09-23T21:46:35.865+02:00 INFO 1 --- [ task-7] o.g.k.i.scheduler.SearchIndexController : Lucene index version: 8 +komga | 2026-09-23T21:46:44.414+02:00 INFO 1 --- [io-25600-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +komga | 2026-09-23T21:46:44.414+02:00 INFO 1 --- [io-25600-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +komga | 2026-09-23T21:46:44.418+02:00 INFO 1 --- [io-25600-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/engine-state.json b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/engine-state.json new file mode 100644 index 00000000..ec747fa4 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/engine-state.json @@ -0,0 +1 @@ +null \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/files-after.json b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/files-after.json new file mode 100644 index 00000000..882d7de6 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/files-after.json @@ -0,0 +1,3 @@ +{ + "/srv/felhom-gate/hdd/userdata/media/comics": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/files-before.json b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/files-before.json new file mode 100644 index 00000000..882d7de6 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/files-before.json @@ -0,0 +1,3 @@ +{ + "/srv/felhom-gate/hdd/userdata/media/comics": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/memory-samples.json b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/memory-samples.json new file mode 100644 index 00000000..2e7ea463 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/memory-samples.json @@ -0,0 +1,682 @@ +[ + { + "t": 15.1, + "containers": { + "komga": { + "limit": 805306368, + "current": 605954048, + "peak": 614412288, + "anon": 470867968, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 288 + }, + { + "t": 30.2, + "containers": { + "komga": { + "limit": 805306368, + "current": 615886848, + "peak": 618233856, + "anon": 481316864, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 584 + }, + { + "t": 45.4, + "containers": { + "komga": { + "limit": 805306368, + "current": 562683904, + "peak": 618233856, + "anon": 482484224, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 884 + }, + { + "t": 60.5, + "containers": { + "komga": { + "limit": 805306368, + "current": 535572480, + "peak": 618233856, + "anon": 482631680, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1180 + }, + { + "t": 75.6, + "containers": { + "komga": { + "limit": 805306368, + "current": 505643008, + "peak": 618233856, + "anon": 482807808, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1479 + }, + { + "t": 90.7, + "containers": { + "komga": { + "limit": 805306368, + "current": 495050752, + "peak": 618233856, + "anon": 482951168, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1776 + }, + { + "t": 105.8, + "containers": { + "komga": { + "limit": 805306368, + "current": 496123904, + "peak": 618233856, + "anon": 482971648, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2076 + }, + { + "t": 120.9, + "containers": { + "komga": { + "limit": 805306368, + "current": 488423424, + "peak": 618233856, + "anon": 478068736, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2373 + }, + { + "t": 136.1, + "containers": { + "komga": { + "limit": 805306368, + "current": 480686080, + "peak": 618233856, + "anon": 469639168, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2672 + }, + { + "t": 151.2, + "containers": { + "komga": { + "limit": 805306368, + "current": 479039488, + "peak": 618233856, + "anon": 469504000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2972 + }, + { + "t": 166.3, + "containers": { + "komga": { + "limit": 805306368, + "current": 472973312, + "peak": 618233856, + "anon": 463740928, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3269 + }, + { + "t": 181.4, + "containers": { + "komga": { + "limit": 805306368, + "current": 473407488, + "peak": 618233856, + "anon": 463904768, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3568 + }, + { + "t": 196.5, + "containers": { + "komga": { + "limit": 805306368, + "current": 473378816, + "peak": 618233856, + "anon": 463929344, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3865 + }, + { + "t": 211.6, + "containers": { + "komga": { + "limit": 805306368, + "current": 473153536, + "peak": 618233856, + "anon": 463958016, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4164 + }, + { + "t": 226.7, + "containers": { + "komga": { + "limit": 805306368, + "current": 473518080, + "peak": 618233856, + "anon": 464039936, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4464 + }, + { + "t": 241.9, + "containers": { + "komga": { + "limit": 805306368, + "current": 473321472, + "peak": 618233856, + "anon": 464101376, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4761 + }, + { + "t": 257.0, + "containers": { + "komga": { + "limit": 805306368, + "current": 473718784, + "peak": 618233856, + "anon": 464195584, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5060 + }, + { + "t": 272.1, + "containers": { + "komga": { + "limit": 805306368, + "current": 474234880, + "peak": 618233856, + "anon": 464879616, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5360 + }, + { + "t": 287.2, + "containers": { + "komga": { + "limit": 805306368, + "current": 482594816, + "peak": 618233856, + "anon": 472690688, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5657 + }, + { + "t": 302.3, + "containers": { + "komga": { + "limit": 805306368, + "current": 482242560, + "peak": 618233856, + "anon": 472838144, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5956 + }, + { + "t": 317.4, + "containers": { + "komga": { + "limit": 805306368, + "current": 482320384, + "peak": 618233856, + "anon": 472887296, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6256 + }, + { + "t": 332.6, + "containers": { + "komga": { + "limit": 805306368, + "current": 483807232, + "peak": 618233856, + "anon": 473088000, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6556 + }, + { + "t": 347.7, + "containers": { + "komga": { + "limit": 805306368, + "current": 482344960, + "peak": 618233856, + "anon": 473186304, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6853 + }, + { + "t": 362.8, + "containers": { + "komga": { + "limit": 805306368, + "current": 482713600, + "peak": 618233856, + "anon": 473546752, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7153 + }, + { + "t": 377.9, + "containers": { + "komga": { + "limit": 805306368, + "current": 483487744, + "peak": 618233856, + "anon": 473546752, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7453 + }, + { + "t": 393.1, + "containers": { + "komga": { + "limit": 805306368, + "current": 479383552, + "peak": 618233856, + "anon": 469987328, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7753 + }, + { + "t": 408.2, + "containers": { + "komga": { + "limit": 805306368, + "current": 479129600, + "peak": 618233856, + "anon": 469987328, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8052 + }, + { + "t": 423.3, + "containers": { + "komga": { + "limit": 805306368, + "current": 480120832, + "peak": 618233856, + "anon": 470421504, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8349 + }, + { + "t": 438.4, + "containers": { + "komga": { + "limit": 805306368, + "current": 473473024, + "peak": 618233856, + "anon": 463855616, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8649 + }, + { + "t": 453.5, + "containers": { + "komga": { + "limit": 805306368, + "current": 470183936, + "peak": 618233856, + "anon": 459747328, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8949 + }, + { + "t": 468.6, + "containers": { + "komga": { + "limit": 805306368, + "current": 469889024, + "peak": 618233856, + "anon": 459759616, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9245 + }, + { + "t": 483.8, + "containers": { + "komga": { + "limit": 805306368, + "current": 470331392, + "peak": 618233856, + "anon": 460435456, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9545 + }, + { + "t": 498.9, + "containers": { + "komga": { + "limit": 805306368, + "current": 470831104, + "peak": 618233856, + "anon": 460443648, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9845 + }, + { + "t": 514.0, + "containers": { + "komga": { + "limit": 805306368, + "current": 470843392, + "peak": 618233856, + "anon": 460443648, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10145 + }, + { + "t": 529.1, + "containers": { + "komga": { + "limit": 805306368, + "current": 470396928, + "peak": 618233856, + "anon": 460472320, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10442 + }, + { + "t": 544.2, + "containers": { + "komga": { + "limit": 805306368, + "current": 470364160, + "peak": 618233856, + "anon": 460476416, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10742 + }, + { + "t": 559.4, + "containers": { + "komga": { + "limit": 805306368, + "current": 461869056, + "peak": 618233856, + "anon": 451878912, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11041 + }, + { + "t": 574.6, + "containers": { + "komga": { + "limit": 805306368, + "current": 461901824, + "peak": 618233856, + "anon": 451891200, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11342 + }, + { + "t": 589.7, + "containers": { + "komga": { + "limit": 805306368, + "current": 461406208, + "peak": 618233856, + "anon": 451293184, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11642 + }, + { + "t": 604.8, + "containers": { + "komga": { + "limit": 805306368, + "current": 457117696, + "peak": 618233856, + "anon": 447942656, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11940 + } +] \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/migration-lines.txt b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/migration-lines.txt new file mode 100644 index 00000000..959e0ba4 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/migration-lines.txt @@ -0,0 +1,6 @@ +komga | 2026-09-23T21:35:41.616+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 92 migrations (execution time 00:00.104s) +komga | 2026-09-23T21:35:41.625+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "main": 20250730173126 +komga | 2026-09-23T21:35:41.642+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "main" to version "20260225161438 - tags view" +komga | 2026-09-23T21:35:41.667+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "main" to version "20260921111319 - book projection" +komga | 2026-09-23T21:35:41.683+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Successfully applied 2 migrations to schema "main", now at version v20260921111319 (execution time 00:00.006s) +komga | 2026-09-23T21:35:45.101+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 1 migration (execution time 00:00.002s) \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/run.log b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/run.log new file mode 100644 index 00000000..4b5e0838 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/run.log @@ -0,0 +1,57 @@ +[19:34:57] MV-komga: deploying komga at FROM {'komga': 'gotson/komga:1.25.0'} +[19:35:28] FROM settled=True in 30.9s :: {"komga": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:35:28] fixture: the BOX walk's own (Komga), through upgrade_boxport +[19:35:29] komga: claimed the server as drill6b6a49b3@example.invalid +[19:35:30] komga: readback found=True (http 200, control refused 401) +[19:35:30] C1 (seed reads back BEFORE): True +[19:35:30] MV-komga: swapping to TO {'komga': 'gotson/komga:1.27.1'} +[19:35:33] TO up -d rc=0 +[19:36:04] TO settled=True in 30.9s :: {"komga": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:36:04] migration lines observed: 6 +[19:36:05] komga: readback found=True (http 200, control refused 401) +[19:36:05] RESULT (seed reads back AFTER): True +[19:36:05] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.5:25600 +[19:36:20] + 15s komga=577M/768M peak=585M kills=0 rs=0 reqs=288 +[19:36:35] + 30s komga=587M/768M peak=589M kills=0 rs=0 reqs=584 +[19:36:50] + 45s komga=536M/768M peak=589M kills=0 rs=0 reqs=884 +[19:37:06] + 60s komga=510M/768M peak=589M kills=0 rs=0 reqs=1180 +[19:37:21] + 76s komga=482M/768M peak=589M kills=0 rs=0 reqs=1479 +[19:37:36] + 91s komga=472M/768M peak=589M kills=0 rs=0 reqs=1776 +[19:37:51] + 106s komga=473M/768M peak=589M kills=0 rs=0 reqs=2076 +[19:38:06] + 121s komga=465M/768M peak=589M kills=0 rs=0 reqs=2373 +[19:38:21] + 136s komga=458M/768M peak=589M kills=0 rs=0 reqs=2672 +[19:38:36] + 151s komga=456M/768M peak=589M kills=0 rs=0 reqs=2972 +[19:38:51] + 166s komga=451M/768M peak=589M kills=0 rs=0 reqs=3269 +[19:39:06] + 181s komga=451M/768M peak=589M kills=0 rs=0 reqs=3568 +[19:39:22] + 196s komga=451M/768M peak=589M kills=0 rs=0 reqs=3865 +[19:39:37] + 212s komga=451M/768M peak=589M kills=0 rs=0 reqs=4164 +[19:39:52] + 227s komga=451M/768M peak=589M kills=0 rs=0 reqs=4464 +[19:40:07] + 242s komga=451M/768M peak=589M kills=0 rs=0 reqs=4761 +[19:40:22] + 257s komga=451M/768M peak=589M kills=0 rs=0 reqs=5060 +[19:40:37] + 272s komga=452M/768M peak=589M kills=0 rs=0 reqs=5360 +[19:40:52] + 287s komga=460M/768M peak=589M kills=0 rs=0 reqs=5657 +[19:41:07] + 302s komga=459M/768M peak=589M kills=0 rs=0 reqs=5956 +[19:41:23] + 317s komga=459M/768M peak=589M kills=0 rs=0 reqs=6256 +[19:41:38] + 333s komga=461M/768M peak=589M kills=0 rs=0 reqs=6556 +[19:41:53] + 348s komga=460M/768M peak=589M kills=0 rs=0 reqs=6853 +[19:42:08] + 363s komga=460M/768M peak=589M kills=0 rs=0 reqs=7153 +[19:42:23] + 378s komga=461M/768M peak=589M kills=0 rs=0 reqs=7453 +[19:42:38] + 393s komga=457M/768M peak=589M kills=0 rs=0 reqs=7753 +[19:42:53] + 408s komga=456M/768M peak=589M kills=0 rs=0 reqs=8052 +[19:43:08] + 423s komga=457M/768M peak=589M kills=0 rs=0 reqs=8349 +[19:43:23] + 438s komga=451M/768M peak=589M kills=0 rs=0 reqs=8649 +[19:43:39] + 454s komga=448M/768M peak=589M kills=0 rs=0 reqs=8949 +[19:43:54] + 469s komga=448M/768M peak=589M kills=0 rs=0 reqs=9245 +[19:44:09] + 484s komga=448M/768M peak=589M kills=0 rs=0 reqs=9545 +[19:44:24] + 499s komga=449M/768M peak=589M kills=0 rs=0 reqs=9845 +[19:44:39] + 514s komga=449M/768M peak=589M kills=0 rs=0 reqs=10145 +[19:44:54] + 529s komga=448M/768M peak=589M kills=0 rs=0 reqs=10442 +[19:45:09] + 544s komga=448M/768M peak=589M kills=0 rs=0 reqs=10742 +[19:45:24] + 559s komga=440M/768M peak=589M kills=0 rs=0 reqs=11041 +[19:45:40] + 575s komga=440M/768M peak=589M kills=0 rs=0 reqs=11342 +[19:45:55] + 590s komga=440M/768M peak=589M kills=0 rs=0 reqs=11642 +[19:46:10] + 605s komga=435M/768M peak=589M kills=0 rs=0 reqs=11940 +[19:46:10] memory watch: killed=False tight=[] requests=11940 codes={'200': 11940} +[19:46:10] MV-komga: ABORT — putting the FROM images back +[19:46:46] komga: readback found=True (http 200, control refused 401) +[19:46:46] ABORT: app came back in 31.2s; data present=True \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/to-full.log b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/to-full.log new file mode 100644 index 00000000..78a0d358 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/to-full.log @@ -0,0 +1,63 @@ +komga | kotlin-logging: initializing... active logger factory: Slf4jLoggerFactory +komga | Standard Commons Logging discovery in action with spring-jcl: please remove commons-logging.jar from classpath in order to avoid potential conflicts +komga | ____ __. +komga | | |/ _|____ _____ _________ +komga | | < / _ \ / \ / ___\__ \ +komga | | | ( <_> ) Y Y \/ /_/ > __ \_ +komga | |____|__ \____/|__|_| /\___ (____ / +komga | \/ \//_____/ \/ +komga | +komga | Version: 1.27.1 +komga | +komga | 2026-09-23T21:35:35.385+02:00 INFO 1 --- [ main] org.gotson.komga.ApplicationKt : Starting ApplicationKt v1.27.1 using Java 23.0.2 with PID 1 (/app/application.jar started by root in /app) +komga | 2026-09-23T21:35:35.389+02:00 INFO 1 --- [ main] org.gotson.komga.ApplicationKt : The following 1 profile is active: "docker" +komga | 2026-09-23T21:35:40.840+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteMainPoolRW - Starting... +komga | 2026-09-23T21:35:41.223+02:00 INFO 1 --- [ main] com.zaxxer.hikari.pool.HikariPool : SqliteMainPoolRW - Added connection org.sqlite.jdbc4.JDBC4Connection@55821edf +komga | 2026-09-23T21:35:41.225+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteMainPoolRW - Start completed. +komga | 2026-09-23T21:35:41.477+02:00 INFO 1 --- [ main] org.flywaydb.core.FlywayExecutor : Database: jdbc:sqlite:/config/database.sqlite (SQLite 3.53) +komga | 2026-09-23T21:35:41.616+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 92 migrations (execution time 00:00.104s) +komga | 2026-09-23T21:35:41.625+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "main": 20250730173126 +komga | 2026-09-23T21:35:41.642+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "main" to version "20260225161438 - tags view" +komga | 2026-09-23T21:35:41.667+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "main" to version "20260921111319 - book projection" +komga | 2026-09-23T21:35:41.683+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Successfully applied 2 migrations to schema "main", now at version v20260921111319 (execution time 00:00.006s) +komga | 2026-09-23T21:35:42.678+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteMainPoolRO - Starting... +komga | 2026-09-23T21:35:42.681+02:00 INFO 1 --- [ main] com.zaxxer.hikari.pool.HikariPool : SqliteMainPoolRO - Added connection org.sqlite.jdbc4.JDBC4Connection@4d204b30 +komga | 2026-09-23T21:35:42.682+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteMainPoolRO - Start completed. +komga | 2026-09-23T21:35:43.373+02:00 INFO 1 --- [ main] o.j.i.D.logVersionSupport : Version : Database version is supported by dialect SQLDialect.SQLITE: 3.53.2 +komga | 2026-09-23T21:35:43.789+02:00 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 25600 (http) +komga | 2026-09-23T21:35:43.825+02:00 INFO 1 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] +komga | 2026-09-23T21:35:43.825+02:00 INFO 1 --- [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.55] +komga | 2026-09-23T21:35:43.877+02:00 INFO 1 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext +komga | 2026-09-23T21:35:43.877+02:00 INFO 1 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 8274 ms +komga | Standard Commons Logging discovery in action with spring-jcl: please remove commons-logging.jar from classpath in order to avoid potential conflicts +komga | 2026-09-23T21:35:44.640+02:00 INFO 1 --- [ main] o.g.k.i.kobo.KepubConverter : Kepub conversion available. kepubify path: /usr/bin/kepubify +komga | 2026-09-23T21:35:44.793+02:00 INFO 1 --- [ main] c.g.g.n.h.i.plugins.HeifLibraryLoader : Loaded libheif v1.21.2 +komga | 2026-09-23T21:35:44.853+02:00 INFO 1 --- [ main] c.g.g.n.j.i.plugins.JxlImageReaderSpi : Loaded libjxl v0.11.1 +komga | 2026-09-23T21:35:44.883+02:00 INFO 1 --- [ main] c.g.g.n.w.i.plugins.WebpImageReaderSpi : Loaded libwebp: decoder v1.5.0, demux v1.5.0 +komga | 2026-09-23T21:35:44.908+02:00 INFO 1 --- [ main] o.g.k.i.image.ImageConverter : Supported read formats: [JPEG 2000, JPG, tiff, bigtiff, bmp, PCX, gif, WBMP, PNG, RAW, JPEG, AVIF, PNM, BigTIFF, tif, TIFF, wbmp, jpeg, jbig2, jpeg-lossless, jxl, jpg, JPEG2000, BMP, pcx, GIF, Jpeg XL, heic, png, BIGTIFF, raw, heif, webp, JPEG-LOSSLESS, JBIG2, pnm, TIF, jpeg2000, WebP, HEIC, jpeg 2000, HEIF, avif] +komga | 2026-09-23T21:35:44.909+02:00 INFO 1 --- [ main] o.g.k.i.image.ImageConverter : Supported read mediaTypes: [image/vnd.wap.wbmp, image/jpeg, image/x-portable-graymap, image/bmp, image/gif, image/x-windows-pcx, image/x-pc-paintbrush, image/x-raw, image/webp, image/heif-sequence, image/x-pcx, image/heic-sequence, image/avif, image/x-portable-bitmap, image/heif, image/heic, image/x-jb2, image/png, image/pcx, image/x-windows-bmp, image/jpeg2000, image/jp2, image/x-bmp, image/x-png, image/x-portable-pixmap, image/tiff, image/x-jbig2, image/x-tiff, image/x-portable-anymap, image/jxl] +komga | 2026-09-23T21:35:44.910+02:00 INFO 1 --- [ main] o.g.k.i.image.ImageConverter : Supported write formats: [JPG, JPEG 2000, tiff, bmp, PCX, bigtiff, gif, WBMP, PNG, RAW, JPEG, AVIF, PNM, BigTIFF, tif, TIFF, wbmp, jpeg, jpg, JPEG2000, BMP, pcx, GIF, heic, png, BIGTIFF, raw, heif, pnm, TIF, jpeg2000, HEIC, jpeg 2000, HEIF, avif] +komga | 2026-09-23T21:35:44.911+02:00 INFO 1 --- [ main] o.g.k.i.image.ImageConverter : Supported write mediaTypes: [image/vnd.wap.wbmp, image/jpeg, image/x-portable-graymap, image/bmp, image/gif, image/x-windows-pcx, image/x-pc-paintbrush, image/x-raw, image/heif-sequence, image/x-pcx, image/heic-sequence, image/avif, image/x-portable-bitmap, image/heif, image/heic, image/png, image/pcx, image/x-windows-bmp, image/jpeg2000, image/x-bmp, image/jp2, image/x-png, image/x-portable-pixmap, image/tiff, image/x-tiff, image/x-portable-anymap] +komga | 2026-09-23T21:35:45.077+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteTasksPoolRW - Starting... +komga | 2026-09-23T21:35:45.079+02:00 INFO 1 --- [ main] com.zaxxer.hikari.pool.HikariPool : SqliteTasksPoolRW - Added connection org.sqlite.jdbc4.JDBC4Connection@1b2213b2 +komga | 2026-09-23T21:35:45.079+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteTasksPoolRW - Start completed. +komga | 2026-09-23T21:35:45.097+02:00 INFO 1 --- [ main] org.flywaydb.core.FlywayExecutor : Database: jdbc:sqlite:/config/tasks.sqlite (SQLite 3.53) +komga | 2026-09-23T21:35:45.101+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 1 migration (execution time 00:00.002s) +komga | 2026-09-23T21:35:45.102+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "main": 20231013114850 +komga | 2026-09-23T21:35:45.103+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbMigrate : Schema "main" is up to date. No migration necessary. +komga | 2026-09-23T21:35:45.318+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteTasksPoolRO - Starting... +komga | 2026-09-23T21:35:45.320+02:00 INFO 1 --- [ main] com.zaxxer.hikari.pool.HikariPool : SqliteTasksPoolRO - Added connection org.sqlite.jdbc4.JDBC4Connection@3ae5cbb9 +komga | 2026-09-23T21:35:45.321+02:00 INFO 1 --- [ main] com.zaxxer.hikari.HikariDataSource : SqliteTasksPoolRO - Start completed. +komga | 2026-09-23T21:35:45.757+02:00 WARN 1 --- [ main] org.apache.lucene.store.MMapDirectory : You are running with Java 22 or later. To make full use of MMapDirectory, please update Apache Lucene. +komga | 2026-09-23T21:35:47.444+02:00 INFO 1 --- [ main] o.g.k.i.api.rest.FontsController : Fonts embedded: {OpenDyslexic=[class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Bold-Italic.woff], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Bold-Italic.woff2], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Bold.woff], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Bold.woff2], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Italic.woff], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Italic.woff2], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Regular.woff], class path resource [embeddedFonts/OpenDyslexic/OpenDyslexic-Regular.woff2]]} +komga | 2026-09-23T21:35:47.445+02:00 INFO 1 --- [ main] o.g.k.i.api.rest.FontsController : Fonts discovered: {} +komga | 2026-09-23T21:35:48.013+02:00 INFO 1 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [public/index.html] +komga | 2026-09-23T21:35:49.111+02:00 INFO 1 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 18 endpoints beneath base path '/actuator' +komga | 2026-09-23T21:35:49.175+02:00 INFO 1 --- [ main] eAuthenticationProviderManagerConfigurer : Global AuthenticationManager configured with AuthenticationProvider bean with name apiKeyAuthenticationProvider +komga | 2026-09-23T21:35:50.393+02:00 INFO 1 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 25600 (http) with context path '/' +komga | 2026-09-23T21:35:50.398+02:00 INFO 1 --- [ main] org.gotson.komga.ApplicationKt : Started ApplicationKt in 16.006 seconds (process running for 16.914) +komga | 2026-09-23T21:35:50.431+02:00 INFO 1 --- [ scheduling-1] .AuthenticationActivityCleanupController : Remove authentication activity older than 2026-08-23T19:35:50.431034649 (UTC) +komga | 2026-09-23T21:35:50.510+02:00 INFO 1 --- [ task-7] o.g.k.i.scheduler.SearchIndexController : Lucene index version: 8 +komga | 2026-09-23T21:36:03.617+02:00 INFO 1 --- [io-25600-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' +komga | 2026-09-23T21:36:03.618+02:00 INFO 1 --- [io-25600-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' +komga | 2026-09-23T21:36:03.621+02:00 INFO 1 --- [io-25600-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 3 ms diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/to-states.json b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/to-states.json new file mode 100644 index 00000000..77448ad6 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/to-states.json @@ -0,0 +1,8 @@ +{ + "komga": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/verdict.json b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/verdict.json new file mode 100644 index 00000000..84bbce55 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/komga/bench/evidence/MV-komga/verdict.json @@ -0,0 +1,49 @@ +{ + "harness_version": 3, + "edge": "MV-komga", + "app": "komga", + "note": "night 2026-09-23 within-a-major move: komga=gotson/komga:1.27.1", + "from": { + "komga": "gotson/komga:1.25.0" + }, + "to": { + "komga": "gotson/komga:1.27.1" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kkomga | 2026-09-23T21:35:41.616+02:00 INFO 1 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 92 migrations (execution time 00:00.104s)", + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": null, + "memory": { + "soak_s": 605.2, + "requested_s": 600, + "requests": 11940, + "codes": { + "200": 11940 + }, + "first_kill": null, + "containers": { + "komga": { + "limit": 805306368, + "peak": 618233856, + "peak_pct": 0.768, + "anon_peak_sampled": 482971648, + "anon_peak_pct": 0.6, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 30.9, + "measured_at": "2026-09-23T19:46:46Z", + "evidence": "evidence/MV-komga", + "files_changed": [], + "total_s": 708.7 +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/MV-n8n.log b/documentation/audits/night-2026-09-23/apps/n8n/bench/MV-n8n.log new file mode 100644 index 00000000..1139fa6b --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/MV-n8n.log @@ -0,0 +1,106 @@ +[19:36:24] MV-n8n: deploying n8n at FROM {'n8n': 'n8nio/n8n:2.40.5'} +[19:37:44] FROM settled=True in 30.8s :: {"n8n": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:37:44] fixture: the BOX walk's own (N8n), through upgrade_boxport +[19:37:44] n8n: /rest/owner/setup http=200 +[19:37:45] n8n: login as the seeded owner http=200 ok=True +[19:37:45] C1 (seed reads back BEFORE): True +[19:37:45] MV-n8n: swapping to TO {'n8n': 'n8nio/n8n:2.41.1'} +[19:38:33] TO up -d rc=0 +[19:39:04] TO settled=True in 30.8s :: {"n8n": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:39:04] migration lines observed: 6 +[19:39:05] n8n: login as the seeded owner http=200 ok=True +[19:39:05] RESULT (seed reads back AFTER): True +[19:39:05] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.3:5678 +[19:39:20] + 15s n8n=418M/1536M peak=719M kills=0 rs=0 reqs=300 +[19:39:35] + 30s n8n=423M/1536M peak=719M kills=0 rs=0 reqs=596 +[19:39:50] + 45s n8n=433M/1536M peak=719M kills=0 rs=0 reqs=896 +[19:40:06] + 60s n8n=440M/1536M peak=719M kills=0 rs=0 reqs=1196 +[19:40:21] + 76s n8n=447M/1536M peak=719M kills=0 rs=0 reqs=1492 +[19:40:36] + 91s n8n=448M/1536M peak=719M kills=0 rs=0 reqs=1792 +[19:40:51] + 106s n8n=448M/1536M peak=719M kills=0 rs=0 reqs=2092 +[19:41:06] + 121s n8n=450M/1536M peak=719M kills=0 rs=0 reqs=2388 +[19:41:21] + 136s n8n=439M/1536M peak=719M kills=0 rs=0 reqs=2688 +[19:41:36] + 151s n8n=420M/1536M peak=719M kills=0 rs=0 reqs=2988 +[19:41:51] + 166s n8n=418M/1536M peak=719M kills=0 rs=0 reqs=3288 +[19:42:07] + 181s n8n=396M/1536M peak=719M kills=0 rs=0 reqs=3584 +[19:42:22] + 196s n8n=388M/1536M peak=719M kills=0 rs=0 reqs=3884 +[19:42:37] + 212s n8n=377M/1536M peak=719M kills=0 rs=0 reqs=4184 +[19:42:52] + 227s n8n=376M/1536M peak=719M kills=0 rs=0 reqs=4481 +[19:43:07] + 242s n8n=380M/1536M peak=719M kills=0 rs=0 reqs=4780 +[19:43:22] + 257s n8n=373M/1536M peak=719M kills=0 rs=0 reqs=5080 +[19:43:37] + 272s n8n=372M/1536M peak=719M kills=0 rs=0 reqs=5380 +[19:43:52] + 287s n8n=370M/1536M peak=719M kills=0 rs=0 reqs=5676 +[19:44:07] + 302s n8n=373M/1536M peak=719M kills=0 rs=0 reqs=5976 +[19:44:23] + 318s n8n=369M/1536M peak=719M kills=0 rs=0 reqs=6276 +[19:44:38] + 333s n8n=372M/1536M peak=719M kills=0 rs=0 reqs=6572 +[19:44:53] + 348s n8n=369M/1536M peak=719M kills=0 rs=0 reqs=6872 +[19:45:08] + 363s n8n=373M/1536M peak=719M kills=0 rs=0 reqs=7172 +[19:45:23] + 378s n8n=361M/1536M peak=719M kills=0 rs=0 reqs=7472 +[19:45:38] + 393s n8n=365M/1536M peak=719M kills=0 rs=0 reqs=7772 +[19:45:53] + 408s n8n=362M/1536M peak=719M kills=0 rs=0 reqs=8069 +[19:46:09] + 423s n8n=361M/1536M peak=719M kills=0 rs=0 reqs=8368 +[19:46:24] + 439s n8n=356M/1536M peak=719M kills=0 rs=0 reqs=8668 +[19:46:39] + 454s n8n=357M/1536M peak=719M kills=0 rs=0 reqs=8961 +[19:46:54] + 469s n8n=354M/1536M peak=719M kills=0 rs=0 reqs=9261 +[19:47:09] + 484s n8n=351M/1536M peak=719M kills=0 rs=0 reqs=9555 +[19:47:24] + 499s n8n=348M/1536M peak=719M kills=0 rs=0 reqs=9847 +[19:47:40] + 514s n8n=338M/1536M peak=719M kills=0 rs=0 reqs=10145 +[19:47:55] + 530s n8n=342M/1536M peak=719M kills=0 rs=0 reqs=10442 +[19:48:10] + 545s n8n=339M/1536M peak=719M kills=0 rs=0 reqs=10741 +[19:48:25] + 560s n8n=341M/1536M peak=719M kills=0 rs=0 reqs=11039 +[19:48:40] + 575s n8n=338M/1536M peak=719M kills=0 rs=0 reqs=11336 +[19:48:55] + 590s n8n=341M/1536M peak=719M kills=0 rs=0 reqs=11636 +[19:49:10] + 605s n8n=338M/1536M peak=719M kills=0 rs=0 reqs=11935 +[19:49:11] memory watch: killed=False tight=[] requests=11935 codes={'200': 11935} +[19:49:11] MV-n8n: ABORT — putting the FROM images back +[19:49:44] n8n: login as the seeded owner http=200 ok=True +[19:49:44] ABORT: app came back in 30.9s; data present=True +{ + "harness_version": 3, + "edge": "MV-n8n", + "app": "n8n", + "note": "night 2026-09-23 within-a-major move: n8n=n8nio/n8n:2.41.1", + "from": { + "n8n": "n8nio/n8n:2.40.5" + }, + "to": { + "n8n": "n8nio/n8n:2.41.1" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kn8n | Migrations in progress, please do NOT stop the process.", + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": null, + "memory": { + "soak_s": 605.6, + "requested_s": 600, + "requests": 11935, + "codes": { + "200": 11935 + }, + "first_kill": null, + "containers": { + "n8n": { + "limit": 1610612736, + "peak": 754352128, + "peak_pct": 0.468, + "anon_peak_sampled": 365133824, + "anon_peak_pct": 0.227, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 30.8, + "measured_at": "2026-09-23T19:49:44Z", + "evidence": "evidence/MV-n8n", + "files_changed": [], + "total_s": 800.0 +} diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/abort-states.json b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/abort-states.json new file mode 100644 index 00000000..967db3cd --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/abort-states.json @@ -0,0 +1,8 @@ +{ + "n8n": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/compose-final.log b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/compose-final.log new file mode 100644 index 00000000..8ffd1634 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/compose-final.log @@ -0,0 +1,79 @@ +n8n | Initializing n8n process +n8n | n8n ready on ::, port 5678 +n8n | n8n Task Broker ready on 127.0.0.1, port 5679 +n8n | Failed to start Python task runner in internal mode. because Python 3 is missing from this system. Launching a Python runner in internal mode is intended only for debugging and is not recommended for production. Users are encouraged to deploy in external mode. See: https://docs.n8n.io/hosting/configuration/task-runners/#setting-up-external-mode +n8n | +n8n | There are deprecations related to your n8n setup. Please take the recommended actions to update your configuration: +n8n | - WEBHOOK_URL -> Use N8N_WEBHOOK_URL instead, which sets the base URL for both test and production webhooks. +n8n | - N8N_UNVERIFIED_PACKAGES_ENABLED -> The default for this variable will change to `false` in a future version. Set it to `true` explicitly to keep installing unverified community packages. +n8n | - N8N_RUNNERS_MODE -> Internal task runner mode is deprecated and will be removed in a future version. For isolation and scaling, run the task runner launcher as a separate process, set this variable to `external` and share `N8N_RUNNERS_AUTH_TOKEN` with the launcher. See https://docs.n8n.io/deploy/host-n8n/configure-n8n/set-up-task-runners +n8n | - N8N_RUNNERS_TASK_TIMEOUT -> The default for this variable will be reduced from 300 (5 minutes) to 60 (1 minute) in a future version. Set it explicitly to keep your current task timeout. +n8n | - N8N_COMPRESSION_NODE_MAX_DECOMPRESSED_SIZE_BYTES -> The default for this variable will be reduced from 2 GiB to 256 MiB in a future version. Set it explicitly to keep your current limit. +n8n | - N8N_COMPRESSION_NODE_MAX_ZIP_ENTRIES -> The default for this variable will be reduced from 5000 to 1000 in a future version. Set it explicitly to keep your current limit. +n8n | +n8n | [license SDK] Skipping renewal on init: license cert is not initialized +n8n | [runner:js] (node:19) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided. +n8n | (Use `node --trace-warnings ...` to show where the warning was created) +n8n | Registered runner "JS Task Runner" (-zCI1CxFYh8AUuSgZdeI0) +n8n | Instance registered +n8n | Discovered 4 cluster checks +n8n | Recorded version change: 2.41.1 -> 2.40.5 +n8n | Sandbox: enabled=false provider=n8n-sandbox (from env) +n8n | Version: 2.40.5 +n8n | Building workflow dependency index... +n8n | +n8n | Editor is now accessible via: +n8n | https://auto.gate.invalid +n8n | Finished building workflow dependency index. Processed 0 draft workflows, 0 published workflows. +n8n | 2026-09-23T19:49:27.514Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:49:27.899Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:49:28.396Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:49:29.366Z [Rudder] error: Error: ECONNREFUSED +n8n | connect ECONNREFUSED 0.0.0.0:443 +n8n | Error: connect ECONNREFUSED 0.0.0.0:443 +n8n | at AxiosError.from (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:1355:24) +n8n | at RedirectableRequest.handleRequestError (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:4026:25) +n8n | at RedirectableRequest.emit (node:events:526:24) +n8n | at ClientRequest.eventHandlers. (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/follow-redirects@1.16.0_debug@4.4.3_supports-color@8.1.1_/node_modules/follow-redirects/index.js:56:24) +n8n | at ClientRequest.emit (node:events:514:20) +n8n | at emitErrorEvent (node:_http_client:114:11) +n8n | at TLSSocket.socketErrorListener (node:_http_client:768:5) +n8n | at TLSSocket.emit (node:events:526:24) +n8n | at emitErrorNT (node:internal/streams/destroy:170:8) +n8n | at emitErrorCloseNT (node:internal/streams/destroy:129:3) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5427:41) +n8n | at processTicksAndRejections (node:internal/process/task_queues:104:5) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | +n8n | connect ECONNREFUSED 0.0.0.0:443 +n8n | Error: connect ECONNREFUSED 0.0.0.0:443 +n8n | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2017:16) +n8n | +n8n | 2026-09-23T19:49:37.500Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:49:37.729Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:49:38.140Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:49:38.957Z [Rudder] error: Error: ECONNREFUSED +n8n | connect ECONNREFUSED 0.0.0.0:443 +n8n | Error: connect ECONNREFUSED 0.0.0.0:443 +n8n | at AxiosError.from (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:1355:24) +n8n | at RedirectableRequest.handleRequestError (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:4026:25) +n8n | at RedirectableRequest.emit (node:events:526:24) +n8n | at ClientRequest.eventHandlers. (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/follow-redirects@1.16.0_debug@4.4.3_supports-color@8.1.1_/node_modules/follow-redirects/index.js:56:24) +n8n | at ClientRequest.emit (node:events:514:20) +n8n | at emitErrorEvent (node:_http_client:114:11) +n8n | at TLSSocket.socketErrorListener (node:_http_client:768:5) +n8n | at TLSSocket.emit (node:events:526:24) +n8n | at emitErrorNT (node:internal/streams/destroy:170:8) +n8n | at emitErrorCloseNT (node:internal/streams/destroy:129:3) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5427:41) +n8n | at processTicksAndRejections (node:internal/process/task_queues:104:5) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | +n8n | connect ECONNREFUSED 0.0.0.0:443 +n8n | Error: connect ECONNREFUSED 0.0.0.0:443 +n8n | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2017:16) +n8n | diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/engine-state.json b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/engine-state.json new file mode 100644 index 00000000..ec747fa4 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/engine-state.json @@ -0,0 +1 @@ +null \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/files-after.json b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/files-after.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/files-after.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/files-before.json b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/files-before.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/files-before.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/memory-samples.json b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/memory-samples.json new file mode 100644 index 00000000..92a07f4b --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/memory-samples.json @@ -0,0 +1,682 @@ +[ + { + "t": 15.1, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 439189504, + "peak": 754352128, + "anon": 326799360, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 300 + }, + { + "t": 30.2, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 443789312, + "peak": 754352128, + "anon": 331997184, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 596 + }, + { + "t": 45.3, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 455032832, + "peak": 754352128, + "anon": 342433792, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 896 + }, + { + "t": 60.5, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 461758464, + "peak": 754352128, + "anon": 349155328, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1196 + }, + { + "t": 75.6, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 468815872, + "peak": 754352128, + "anon": 356093952, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1492 + }, + { + "t": 90.7, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 470130688, + "peak": 754352128, + "anon": 357556224, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1792 + }, + { + "t": 105.8, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 469872640, + "peak": 754352128, + "anon": 357298176, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2092 + }, + { + "t": 120.9, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 471949312, + "peak": 754352128, + "anon": 362897408, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2388 + }, + { + "t": 136.1, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 460328960, + "peak": 754352128, + "anon": 362057728, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2688 + }, + { + "t": 151.2, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 440872960, + "peak": 754352128, + "anon": 364052480, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2988 + }, + { + "t": 166.3, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 439230464, + "peak": 754352128, + "anon": 361594880, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3288 + }, + { + "t": 181.4, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 415981568, + "peak": 754352128, + "anon": 365133824, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3584 + }, + { + "t": 196.5, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 407207936, + "peak": 754352128, + "anon": 363020288, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3884 + }, + { + "t": 211.7, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 395952128, + "peak": 754352128, + "anon": 361451520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4184 + }, + { + "t": 226.8, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 395247616, + "peak": 754352128, + "anon": 358883328, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4481 + }, + { + "t": 241.9, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 398483456, + "peak": 754352128, + "anon": 362291200, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4780 + }, + { + "t": 257.0, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 391819264, + "peak": 754352128, + "anon": 356593664, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5080 + }, + { + "t": 272.1, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 391090176, + "peak": 754352128, + "anon": 355917824, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5380 + }, + { + "t": 287.2, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 388042752, + "peak": 754352128, + "anon": 353255424, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5676 + }, + { + "t": 302.3, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 391761920, + "peak": 754352128, + "anon": 356503552, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5976 + }, + { + "t": 317.5, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 387252224, + "peak": 754352128, + "anon": 352104448, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6276 + }, + { + "t": 332.6, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 391081984, + "peak": 754352128, + "anon": 355434496, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6572 + }, + { + "t": 347.7, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 387649536, + "peak": 754352128, + "anon": 352968704, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6872 + }, + { + "t": 362.9, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 391311360, + "peak": 754352128, + "anon": 356343808, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7172 + }, + { + "t": 378.0, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 379580416, + "peak": 754352128, + "anon": 344858624, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7472 + }, + { + "t": 393.2, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 383631360, + "peak": 754352128, + "anon": 348106752, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7772 + }, + { + "t": 408.3, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 379932672, + "peak": 754352128, + "anon": 344977408, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8069 + }, + { + "t": 423.4, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 379260928, + "peak": 754352128, + "anon": 344678400, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8368 + }, + { + "t": 438.6, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 373440512, + "peak": 754352128, + "anon": 338194432, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8668 + }, + { + "t": 453.7, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 374484992, + "peak": 754352128, + "anon": 339808256, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8961 + }, + { + "t": 468.9, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 372097024, + "peak": 754352128, + "anon": 337068032, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9261 + }, + { + "t": 484.2, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 368713728, + "peak": 754352128, + "anon": 333873152, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9555 + }, + { + "t": 499.3, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 365645824, + "peak": 754352128, + "anon": 330780672, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9847 + }, + { + "t": 514.5, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 355258368, + "peak": 754352128, + "anon": 320016384, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10145 + }, + { + "t": 529.6, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 359145472, + "peak": 754352128, + "anon": 323735552, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10442 + }, + { + "t": 544.8, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 355799040, + "peak": 754352128, + "anon": 320454656, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10741 + }, + { + "t": 559.9, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 358408192, + "peak": 754352128, + "anon": 323252224, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11039 + }, + { + "t": 575.0, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 354471936, + "peak": 754352128, + "anon": 319311872, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11336 + }, + { + "t": 590.2, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 358125568, + "peak": 754352128, + "anon": 322830336, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11636 + }, + { + "t": 605.3, + "containers": { + "n8n": { + "limit": 1610612736, + "current": 355131392, + "peak": 754352128, + "anon": 319668224, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11935 + } +] \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/migration-lines.txt b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/migration-lines.txt new file mode 100644 index 00000000..ddfd81ad --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/migration-lines.txt @@ -0,0 +1,6 @@ +n8n | Migrations in progress, please do NOT stop the process. +n8n | Starting migration AddKindCreatedAtIndexToTypeAvailabilityPolicy1789137988234 +n8n | Finished migration AddKindCreatedAtIndexToTypeAvailabilityPolicy1789137988234 +n8n | Starting migration AddSourceToAiPreference1789479099132 +n8n | Finished migration AddSourceToAiPreference1789479099132 +n8n | Starting migration AddDescriptionToCredentials1789558029357 \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/run.log b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/run.log new file mode 100644 index 00000000..3231e436 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/run.log @@ -0,0 +1,57 @@ +[19:36:24] MV-n8n: deploying n8n at FROM {'n8n': 'n8nio/n8n:2.40.5'} +[19:37:44] FROM settled=True in 30.8s :: {"n8n": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:37:44] fixture: the BOX walk's own (N8n), through upgrade_boxport +[19:37:44] n8n: /rest/owner/setup http=200 +[19:37:45] n8n: login as the seeded owner http=200 ok=True +[19:37:45] C1 (seed reads back BEFORE): True +[19:37:45] MV-n8n: swapping to TO {'n8n': 'n8nio/n8n:2.41.1'} +[19:38:33] TO up -d rc=0 +[19:39:04] TO settled=True in 30.8s :: {"n8n": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:39:04] migration lines observed: 6 +[19:39:05] n8n: login as the seeded owner http=200 ok=True +[19:39:05] RESULT (seed reads back AFTER): True +[19:39:05] memory watch: 600s, 4 callers on 1 path(s) at 172.18.0.3:5678 +[19:39:20] + 15s n8n=418M/1536M peak=719M kills=0 rs=0 reqs=300 +[19:39:35] + 30s n8n=423M/1536M peak=719M kills=0 rs=0 reqs=596 +[19:39:50] + 45s n8n=433M/1536M peak=719M kills=0 rs=0 reqs=896 +[19:40:06] + 60s n8n=440M/1536M peak=719M kills=0 rs=0 reqs=1196 +[19:40:21] + 76s n8n=447M/1536M peak=719M kills=0 rs=0 reqs=1492 +[19:40:36] + 91s n8n=448M/1536M peak=719M kills=0 rs=0 reqs=1792 +[19:40:51] + 106s n8n=448M/1536M peak=719M kills=0 rs=0 reqs=2092 +[19:41:06] + 121s n8n=450M/1536M peak=719M kills=0 rs=0 reqs=2388 +[19:41:21] + 136s n8n=439M/1536M peak=719M kills=0 rs=0 reqs=2688 +[19:41:36] + 151s n8n=420M/1536M peak=719M kills=0 rs=0 reqs=2988 +[19:41:51] + 166s n8n=418M/1536M peak=719M kills=0 rs=0 reqs=3288 +[19:42:07] + 181s n8n=396M/1536M peak=719M kills=0 rs=0 reqs=3584 +[19:42:22] + 196s n8n=388M/1536M peak=719M kills=0 rs=0 reqs=3884 +[19:42:37] + 212s n8n=377M/1536M peak=719M kills=0 rs=0 reqs=4184 +[19:42:52] + 227s n8n=376M/1536M peak=719M kills=0 rs=0 reqs=4481 +[19:43:07] + 242s n8n=380M/1536M peak=719M kills=0 rs=0 reqs=4780 +[19:43:22] + 257s n8n=373M/1536M peak=719M kills=0 rs=0 reqs=5080 +[19:43:37] + 272s n8n=372M/1536M peak=719M kills=0 rs=0 reqs=5380 +[19:43:52] + 287s n8n=370M/1536M peak=719M kills=0 rs=0 reqs=5676 +[19:44:07] + 302s n8n=373M/1536M peak=719M kills=0 rs=0 reqs=5976 +[19:44:23] + 318s n8n=369M/1536M peak=719M kills=0 rs=0 reqs=6276 +[19:44:38] + 333s n8n=372M/1536M peak=719M kills=0 rs=0 reqs=6572 +[19:44:53] + 348s n8n=369M/1536M peak=719M kills=0 rs=0 reqs=6872 +[19:45:08] + 363s n8n=373M/1536M peak=719M kills=0 rs=0 reqs=7172 +[19:45:23] + 378s n8n=361M/1536M peak=719M kills=0 rs=0 reqs=7472 +[19:45:38] + 393s n8n=365M/1536M peak=719M kills=0 rs=0 reqs=7772 +[19:45:53] + 408s n8n=362M/1536M peak=719M kills=0 rs=0 reqs=8069 +[19:46:09] + 423s n8n=361M/1536M peak=719M kills=0 rs=0 reqs=8368 +[19:46:24] + 439s n8n=356M/1536M peak=719M kills=0 rs=0 reqs=8668 +[19:46:39] + 454s n8n=357M/1536M peak=719M kills=0 rs=0 reqs=8961 +[19:46:54] + 469s n8n=354M/1536M peak=719M kills=0 rs=0 reqs=9261 +[19:47:09] + 484s n8n=351M/1536M peak=719M kills=0 rs=0 reqs=9555 +[19:47:24] + 499s n8n=348M/1536M peak=719M kills=0 rs=0 reqs=9847 +[19:47:40] + 514s n8n=338M/1536M peak=719M kills=0 rs=0 reqs=10145 +[19:47:55] + 530s n8n=342M/1536M peak=719M kills=0 rs=0 reqs=10442 +[19:48:10] + 545s n8n=339M/1536M peak=719M kills=0 rs=0 reqs=10741 +[19:48:25] + 560s n8n=341M/1536M peak=719M kills=0 rs=0 reqs=11039 +[19:48:40] + 575s n8n=338M/1536M peak=719M kills=0 rs=0 reqs=11336 +[19:48:55] + 590s n8n=341M/1536M peak=719M kills=0 rs=0 reqs=11636 +[19:49:10] + 605s n8n=338M/1536M peak=719M kills=0 rs=0 reqs=11935 +[19:49:11] memory watch: killed=False tight=[] requests=11935 codes={'200': 11935} +[19:49:11] MV-n8n: ABORT — putting the FROM images back +[19:49:44] n8n: login as the seeded owner http=200 ok=True +[19:49:44] ABORT: app came back in 30.9s; data present=True \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/to-full.log b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/to-full.log new file mode 100644 index 00000000..4386de8d --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/to-full.log @@ -0,0 +1,91 @@ +n8n | Initializing n8n process +n8n | n8n ready on ::, port 5678 +n8n | Migrations in progress, please do NOT stop the process. +n8n | Starting migration AddKindCreatedAtIndexToTypeAvailabilityPolicy1789137988234 +n8n | Finished migration AddKindCreatedAtIndexToTypeAvailabilityPolicy1789137988234 +n8n | Starting migration AddSourceToAiPreference1789479099132 +n8n | Finished migration AddSourceToAiPreference1789479099132 +n8n | Starting migration AddDescriptionToCredentials1789558029357 +n8n | Finished migration AddDescriptionToCredentials1789558029357 +n8n | Starting migration AddThreadIdToAgentCheckpoints1789717191125 +n8n | [AddThreadIdToAgentCheckpoints1789717191125] Backfilled 0 checkpoint thread IDs; skipped 0 checkpoints. +n8n | Finished migration AddThreadIdToAgentCheckpoints1789717191125 +n8n | Starting migration AddExecutionScopesToCustomRoles1789995003141 +n8n | Finished migration AddExecutionScopesToCustomRoles1789995003141 +n8n | n8n Task Broker ready on 127.0.0.1, port 5679 +n8n | Failed to start Python task runner in internal mode. because Python 3 is missing from this system. Launching a Python runner in internal mode is intended only for debugging and is not recommended for production. Users are encouraged to deploy in external mode. See: https://docs.n8n.io/hosting/configuration/task-runners/#setting-up-external-mode +n8n | +n8n | There are deprecations related to your n8n setup. Please take the recommended actions to update your configuration: +n8n | - WEBHOOK_URL -> Use N8N_WEBHOOK_URL instead, which sets the base URL for both test and production webhooks. +n8n | - N8N_UNVERIFIED_PACKAGES_ENABLED -> The default for this variable will change to `false` in a future version. Set it to `true` explicitly to keep installing unverified community packages. +n8n | - N8N_RUNNERS_MODE -> Internal task runner mode is deprecated and will be removed in a future version. For isolation and scaling, run the task runner launcher as a separate process, set this variable to `external` and share `N8N_RUNNERS_AUTH_TOKEN` with the launcher. See https://docs.n8n.io/deploy/host-n8n/configure-n8n/set-up-task-runners +n8n | - N8N_RUNNERS_TASK_TIMEOUT -> The default for this variable will be reduced from 300 (5 minutes) to 60 (1 minute) in a future version. Set it explicitly to keep your current task timeout. +n8n | - N8N_COMPRESSION_NODE_MAX_DECOMPRESSED_SIZE_BYTES -> The default for this variable will be reduced from 2 GiB to 256 MiB in a future version. Set it explicitly to keep your current limit. +n8n | - N8N_COMPRESSION_NODE_MAX_ZIP_ENTRIES -> The default for this variable will be reduced from 5000 to 1000 in a future version. Set it explicitly to keep your current limit. +n8n | +n8n | [license SDK] Skipping renewal on init: license cert is not initialized +n8n | [runner:js] (node:19) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided. +n8n | (Use `node --trace-warnings ...` to show where the warning was created) +n8n | Registered runner "JS Task Runner" (JiIKA_fIMPCME8YwcsPxh) +n8n | Instance registered +n8n | Discovered 4 cluster checks +n8n | Recorded version change: 2.40.5 -> 2.41.1 +n8n | Sandbox: enabled=false provider=n8n-sandbox (from env) +n8n | Version: 2.41.1 +n8n | Building workflow dependency index... +n8n | Finished building workflow dependency index. Processed 0 draft workflows, 0 published workflows. +n8n | +n8n | Editor is now accessible via: +n8n | https://auto.gate.invalid +n8n | 2026-09-23T19:38:46.138Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:38:46.351Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:38:46.989Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:38:47.920Z [Rudder] error: Error: ECONNREFUSED +n8n | connect ECONNREFUSED 0.0.0.0:443 +n8n | Error: connect ECONNREFUSED 0.0.0.0:443 +n8n | at AxiosError.from (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:1355:24) +n8n | at RedirectableRequest.handleRequestError (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:4026:25) +n8n | at RedirectableRequest.emit (node:events:526:24) +n8n | at ClientRequest.eventHandlers. (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/follow-redirects@1.16.0_debug@4.4.3_supports-color@8.1.1_/node_modules/follow-redirects/index.js:56:24) +n8n | at ClientRequest.emit (node:events:514:20) +n8n | at emitErrorEvent (node:_http_client:114:11) +n8n | at TLSSocket.socketErrorListener (node:_http_client:768:5) +n8n | at TLSSocket.emit (node:events:526:24) +n8n | at emitErrorNT (node:internal/streams/destroy:170:8) +n8n | at emitErrorCloseNT (node:internal/streams/destroy:129:3) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5427:41) +n8n | at processTicksAndRejections (node:internal/process/task_queues:104:5) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | +n8n | connect ECONNREFUSED 0.0.0.0:443 +n8n | Error: connect ECONNREFUSED 0.0.0.0:443 +n8n | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2017:16) +n8n | +n8n | 2026-09-23T19:38:56.084Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:38:56.297Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:38:56.743Z [Rudder] error: Response error code: ECONNREFUSED +n8n | 2026-09-23T19:38:57.656Z [Rudder] error: Error: ECONNREFUSED +n8n | connect ECONNREFUSED 0.0.0.0:443 +n8n | Error: connect ECONNREFUSED 0.0.0.0:443 +n8n | at AxiosError.from (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:1355:24) +n8n | at RedirectableRequest.handleRequestError (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:4026:25) +n8n | at RedirectableRequest.emit (node:events:526:24) +n8n | at ClientRequest.eventHandlers. (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/follow-redirects@1.16.0_debug@4.4.3_supports-color@8.1.1_/node_modules/follow-redirects/index.js:56:24) +n8n | at ClientRequest.emit (node:events:514:20) +n8n | at emitErrorEvent (node:_http_client:114:11) +n8n | at TLSSocket.socketErrorListener (node:_http_client:768:5) +n8n | at TLSSocket.emit (node:events:526:24) +n8n | at emitErrorNT (node:internal/streams/destroy:170:8) +n8n | at emitErrorCloseNT (node:internal/streams/destroy:129:3) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5427:41) +n8n | at processTicksAndRejections (node:internal/process/task_queues:104:5) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | at Axios.request (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/axios@1.18.0_patch_hash=149e256a2a7b632497650b32816716ced972ab02a5ab00fbd8a5158a51722c4_437e4fafb503be805d1d0ae72f0b0deb/node_modules/axios/dist/node/axios.cjs:5423:14) +n8n | +n8n | connect ECONNREFUSED 0.0.0.0:443 +n8n | Error: connect ECONNREFUSED 0.0.0.0:443 +n8n | at TCPConnectWrap.afterConnect [as oncomplete] (node:net:2017:16) +n8n | diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/to-states.json b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/to-states.json new file mode 100644 index 00000000..967db3cd --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/to-states.json @@ -0,0 +1,8 @@ +{ + "n8n": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/verdict.json b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/verdict.json new file mode 100644 index 00000000..6dc82250 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/n8n/bench/evidence/MV-n8n/verdict.json @@ -0,0 +1,49 @@ +{ + "harness_version": 3, + "edge": "MV-n8n", + "app": "n8n", + "note": "night 2026-09-23 within-a-major move: n8n=n8nio/n8n:2.41.1", + "from": { + "n8n": "n8nio/n8n:2.40.5" + }, + "to": { + "n8n": "n8nio/n8n:2.41.1" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kn8n | Migrations in progress, please do NOT stop the process.", + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": null, + "memory": { + "soak_s": 605.6, + "requested_s": 600, + "requests": 11935, + "codes": { + "200": 11935 + }, + "first_kill": null, + "containers": { + "n8n": { + "limit": 1610612736, + "peak": 754352128, + "peak_pct": 0.468, + "anon_peak_sampled": 365133824, + "anon_peak_pct": 0.227, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 30.8, + "measured_at": "2026-09-23T19:49:44Z", + "evidence": "evidence/MV-n8n", + "files_changed": [], + "total_s": 800.0 +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/n8n/log.txt b/documentation/audits/night-2026-09-23/apps/n8n/log.txt index 2a76f6c0..0d21ee26 100644 --- a/documentation/audits/night-2026-09-23/apps/n8n/log.txt +++ b/documentation/audits/night-2026-09-23/apps/n8n/log.txt @@ -24,3 +24,8 @@ 21:42:14 [8] compose = ['image: n8nio/n8n:2.41.1'] 21:42:14 [8] inspect = ['n8n n8nio/n8n:2.41.1 running=true restarts=0'] 21:42:14 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/n8n/verdict.json +21:42:16 [X] stop -> 200 {'ok': True, 'message': 'Stack n8n stop completed'} +21:42:48 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'n8n', 'volumes_removed': ['n8n_n8n_data'], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'hdd_note': 'Az alkalmazás nem +21:42:56 [X] after remove: deployed=False leftovers='/opt/docker/stacks/n8n' +21:43:59 [X] R-626 check +60 s after remove: 'clean' +21:43:59 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/n8n/verdict.json diff --git a/documentation/audits/night-2026-09-23/apps/n8n/verdict.json b/documentation/audits/night-2026-09-23/apps/n8n/verdict.json index e17c8aa9..544b8014 100644 --- a/documentation/audits/night-2026-09-23/apps/n8n/verdict.json +++ b/documentation/audits/night-2026-09-23/apps/n8n/verdict.json @@ -40,5 +40,6 @@ }, "final_phase": "done", "hold_reason": null, - "update_error": null + "update_error": null, + "r626_at_60s": "clean" } \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/MV-nextcloud.log b/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/MV-nextcloud.log new file mode 100644 index 00000000..9385c97e --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/MV-nextcloud.log @@ -0,0 +1,35 @@ +[19:41:44] MV-nextcloud: deploying nextcloud at FROM {'nextcloud': 'nextcloud:34.0.1-apache', 'nextcloud-db': 'mariadb:12.3', 'nextcloud-redis': 'redis:7-alpine'} +[19:44:36] FROM settled=True in 160.4s :: {"nextcloud": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "nextcloud-db": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "nextcloud-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:44:36] fixture: the BOX walk's own (Nextcloud), through upgrade_boxport +[19:49:53] nextcloud: occ status never said installed: Nextcloud is not installed - only a limited number of commands are available - installed: false - version: 34.0.1.2 - versionstring: 34.0.1 - edition: - mainten +[19:49:53] INCONCLUSIVE — no non-browser seed route. Nothing was planted by hand. +{ + "harness_version": 3, + "edge": "MV-nextcloud", + "app": "nextcloud", + "note": "night 2026-09-23 within-a-major move: nextcloud=nextcloud:34.0.4-apache", + "from": { + "nextcloud": "nextcloud:34.0.1-apache", + "nextcloud-db": "mariadb:12.3", + "nextcloud-redis": "redis:7-alpine" + }, + "to": { + "nextcloud": "nextcloud:34.0.4-apache", + "nextcloud-db": "mariadb:12.3", + "nextcloud-redis": "redis:7-alpine" + }, + "verdict": "inconclusive", + "seed_read_before": false, + "seed_read_after": false, + "healthy_after": false, + "migration_observed": null, + "abort": "not-attempted", + "abort_detail": "no non-browser seed route", + "engine_state_after": null, + "memory": null, + "marks": [], + "duration_s": 488.9, + "measured_at": "2026-09-23T19:49:53Z", + "evidence": "evidence/MV-nextcloud", + "total_s": 488.9 +} diff --git a/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/compose-final.log b/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/compose-final.log new file mode 100644 index 00000000..f947705c --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/compose-final.log @@ -0,0 +1,137 @@ +nextcloud-db | 2026-09-23 21:41:45+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:12.3.3+maria~ubu2404 started. +nextcloud-db | 2026-09-23 21:41:45+02:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB +nextcloud-db | 2026-09-23 21:41:45+02:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +nextcloud-db | 2026-09-23 21:41:45+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:12.3.3+maria~ubu2404 started. +nextcloud-db | 2026-09-23 21:41:46+02:00 [Note] [Entrypoint]: Initializing database files +nextcloud-db | 2026-09-23 21:41:46 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +nextcloud-db | create_uring failed: falling back to libaio +nextcloud-db | 2026-09-23 21:41:48+02:00 [Note] [Entrypoint]: Database files initialized +nextcloud-db | 2026-09-23 21:41:48+02:00 [Note] [Entrypoint]: Starting temporary server +nextcloud-db | 2026-09-23 21:41:48+02:00 [Note] [Entrypoint]: Waiting for server startup +nextcloud-db | 2026-09-23 21:41:48 0 [Note] Starting MariaDB 12.3.3-MariaDB-ubu2404 source revision 83e909fc2a0dbc394b4b683fb3fa2d7dcf26cc5e server_uid hLHc4QZlbY1khIQIFF1T7A6tj04= as process 89 +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: Compressed tables use zlib 1.3 +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: Number of transaction pools: 1 +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +nextcloud-db | 2026-09-23 21:41:48 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +nextcloud-db | create_uring failed: falling back to libaio +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: Using Linux native AIO +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: Completed initialization of buffer pool +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: End of log at LSN=45568 +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: Opened 3 undo tablespaces +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +nextcloud-db | 2026-09-23 21:41:48 0 [Note] InnoDB: log sequence number 45568; transaction id 14 +nextcloud-db | 2026-09-23 21:41:48 0 [Note] Plugin 'FEEDBACK' is disabled. +nextcloud-db | 2026-09-23 21:41:48 0 [Note] Plugin 'wsrep-provider' is disabled. +nextcloud-db | 2026-09-23 21:41:50 0 [Note] mariadbd: Event Scheduler: Loaded 0 events +nextcloud-db | 2026-09-23 21:41:50 0 [Note] Replication not automatically started: --skip-slave-start was specified +nextcloud-db | 2026-09-23 21:41:50 0 [Note] mariadbd: ready for connections. +nextcloud-db | Version: '12.3.3-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 0 mariadb.org binary distribution +nextcloud-db | 2026-09-23 21:41:50+02:00 [Note] [Entrypoint]: Temporary server started. +nextcloud-db | 2026-09-23 21:41:51+02:00 [Note] [Entrypoint]: Creating database nextcloud +nextcloud-db | 2026-09-23 21:41:51+02:00 [Note] [Entrypoint]: Creating user nextcloud +nextcloud-db | 2026-09-23 21:41:51+02:00 [Note] [Entrypoint]: Giving user nextcloud access to schema nextcloud +nextcloud-db | 2026-09-23 21:41:51+02:00 [Note] [Entrypoint]: Securing system users (equivalent to running mysql_secure_installation) +nextcloud-db | +nextcloud-db | 2026-09-23 21:41:51+02:00 [Note] [Entrypoint]: Stopping temporary server +nextcloud-db | 2026-09-23 21:41:51 0 [Note] mariadbd (initiated by: unknown): Normal shutdown +nextcloud-db | 2026-09-23 21:41:51 0 [Note] InnoDB: FTS optimize thread exiting. +nextcloud-db | 2026-09-23 21:41:51 0 [Note] InnoDB: Starting shutdown... +nextcloud-db | 2026-09-23 21:41:51 0 [Note] InnoDB: Dumping buffer pool(s) to /var/lib/mysql/ib_buffer_pool +nextcloud-db | 2026-09-23 21:41:51 0 [Note] InnoDB: Buffer pool(s) dump completed at 260923 21:41:51 +nextcloud-db | 2026-09-23 21:41:51 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1" +nextcloud-db | 2026-09-23 21:41:51 0 [Note] Shutdown completed; log sequence number 45568; transaction id 15 +nextcloud-db | 2026-09-23 21:41:51 0 [Note] mariadbd: Shutdown complete +nextcloud-db | 2026-09-23 21:41:51+02:00 [Note] [Entrypoint]: Temporary server stopped +nextcloud-db | +nextcloud-db | 2026-09-23 21:41:51+02:00 [Note] [Entrypoint]: MariaDB init process done. Ready for start up. +nextcloud-db | +nextcloud-db | 2026-09-23 21:41:51 0 [Note] Starting MariaDB 12.3.3-MariaDB-ubu2404 source revision 83e909fc2a0dbc394b4b683fb3fa2d7dcf26cc5e server_uid hLHc4QZlbY1khIQIFF1T7A6tj04= as process 1 +nextcloud-db | 2026-09-23 21:41:51 0 [Note] InnoDB: Compressed tables use zlib 1.3 +nextcloud-db | 2026-09-23 21:41:51 0 [Note] InnoDB: Number of transaction pools: 1 +nextcloud-db | 2026-09-23 21:41:51 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +nextcloud-db | 2026-09-23 21:41:51 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +nextcloud-db | create_uring failed: falling back to libaio +nextcloud-db | 2026-09-23 21:41:51 0 [Note] InnoDB: Using Linux native AIO +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: Completed initialization of buffer pool +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: End of log at LSN=45568 +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: Opened 3 undo tablespaces +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: log sequence number 45568; transaction id 14 +nextcloud-db | 2026-09-23 21:41:52 0 [Note] Plugin 'FEEDBACK' is disabled. +nextcloud-db | 2026-09-23 21:41:52 0 [Note] Plugin 'wsrep-provider' is disabled. +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool +nextcloud-db | 2026-09-23 21:41:52 0 [Note] InnoDB: Buffer pool(s) load completed at 260923 21:41:52 +nextcloud-db | 2026-09-23 21:41:54 0 [Note] Server socket created on IP: '0.0.0.0', port: '3306'. +nextcloud-db | 2026-09-23 21:41:54 0 [Note] Server socket created on IP: '::', port: '3306'. +nextcloud-db | 2026-09-23 21:41:54 0 [Note] mariadbd: Event Scheduler: Loaded 0 events +nextcloud-db | 2026-09-23 21:41:54 0 [Note] mariadbd: ready for connections. +nextcloud-db | Version: '12.3.3-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution +nextcloud-redis | 1:C 23 Sep 2026 21:41:45.536 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +nextcloud-redis | 1:C 23 Sep 2026 21:41:45.536 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +nextcloud-redis | 1:C 23 Sep 2026 21:41:45.536 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +nextcloud-redis | 1:C 23 Sep 2026 21:41:45.536 * Configuration loaded +nextcloud-redis | 1:M 23 Sep 2026 21:41:45.537 * monotonic clock: POSIX clock_gettime +nextcloud-redis | 1:M 23 Sep 2026 21:41:45.538 * Running mode=standalone, port=6379. +nextcloud-redis | 1:M 23 Sep 2026 21:41:45.539 * Server initialized +nextcloud-redis | 1:M 23 Sep 2026 21:41:45.542 * Creating AOF base file appendonly.aof.1.base.rdb on server start +nextcloud-redis | 1:M 23 Sep 2026 21:41:45.548 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +nextcloud-redis | 1:M 23 Sep 2026 21:41:45.548 * Ready to accept connections tcp +nextcloud | => Configuring PHP session handler... +nextcloud | ==> Using Redis as PHP session handler... +nextcloud | Initializing nextcloud 34.0.1.2 ... +nextcloud | New nextcloud instance +nextcloud | Installing with MySQL database +nextcloud | => Searching for hook scripts (*.sh) to run, located in the folder "/docker-entrypoint-hooks.d/pre-installation" +nextcloud | ==> Skipped: the "pre-installation" folder is empty (or does not exist) +nextcloud | Starting nextcloud installation +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Login is invalid because files already exist for this user +nextcloud | Retrying install... +nextcloud | Installing of nextcloud failed! +nextcloud | => Configuring PHP session handler... +nextcloud | ==> Using Redis as PHP session handler... +nextcloud | => Searching for hook scripts (*.sh) to run, located in the folder "/docker-entrypoint-hooks.d/before-starting" +nextcloud | ==> Skipped: the "before-starting" folder is empty (or does not exist) +nextcloud | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.4. Set the 'ServerName' directive globally to suppress this message +nextcloud | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.4. Set the 'ServerName' directive globally to suppress this message +nextcloud | [Wed Sep 23 21:44:05.422595 2026] [mpm_prefork:notice] [pid 1:tid 1] AH00163: Apache/2.4.68 (Debian) PHP/8.5.8 configured -- resuming normal operations +nextcloud | [Wed Sep 23 21:44:05.422641 2026] [core:notice] [pid 1:tid 1] AH00094: Command line: 'apache2 -D FOREGROUND' +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:44:35 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 172.18.0.1 - - [23/Sep/2026:21:44:36 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:45:05 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:45:35 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:46:05 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:46:35 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:47:05 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:47:36 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:48:06 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:48:36 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:49:06 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" +nextcloud | 127.0.0.1 - - [23/Sep/2026:21:49:36 +0200] "GET /status.php HTTP/1.1" 200 1064 "-" "curl/8.14.1" diff --git a/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/run.log b/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/run.log new file mode 100644 index 00000000..06983a02 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/run.log @@ -0,0 +1,5 @@ +[19:41:44] MV-nextcloud: deploying nextcloud at FROM {'nextcloud': 'nextcloud:34.0.1-apache', 'nextcloud-db': 'mariadb:12.3', 'nextcloud-redis': 'redis:7-alpine'} +[19:44:36] FROM settled=True in 160.4s :: {"nextcloud": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "nextcloud-db": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "nextcloud-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:44:36] fixture: the BOX walk's own (Nextcloud), through upgrade_boxport +[19:49:53] nextcloud: occ status never said installed: Nextcloud is not installed - only a limited number of commands are available - installed: false - version: 34.0.1.2 - versionstring: 34.0.1 - edition: - mainten +[19:49:53] INCONCLUSIVE — no non-browser seed route. Nothing was planted by hand. \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/verdict.json b/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/verdict.json new file mode 100644 index 00000000..dab95bb5 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/nextcloud/bench-staledrive/evidence/MV-nextcloud/verdict.json @@ -0,0 +1,30 @@ +{ + "harness_version": 3, + "edge": "MV-nextcloud", + "app": "nextcloud", + "note": "night 2026-09-23 within-a-major move: nextcloud=nextcloud:34.0.4-apache", + "from": { + "nextcloud": "nextcloud:34.0.1-apache", + "nextcloud-db": "mariadb:12.3", + "nextcloud-redis": "redis:7-alpine" + }, + "to": { + "nextcloud": "nextcloud:34.0.4-apache", + "nextcloud-db": "mariadb:12.3", + "nextcloud-redis": "redis:7-alpine" + }, + "verdict": "inconclusive", + "seed_read_before": false, + "seed_read_after": false, + "healthy_after": false, + "migration_observed": null, + "abort": "not-attempted", + "abort_detail": "no non-browser seed route", + "engine_state_after": null, + "memory": null, + "marks": [], + "duration_s": 488.9, + "measured_at": "2026-09-23T19:49:53Z", + "evidence": "evidence/MV-nextcloud", + "total_s": 488.9 +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/app-logs-after.txt b/documentation/audits/night-2026-09-23/apps/romm-engine/app-logs-after.txt new file mode 100644 index 00000000..b38389dc --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/app-logs-after.txt @@ -0,0 +1,310 @@ +romm-db | 2026-09-23 21:48:10+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.8.9+maria~ubu2404 started. +romm-db | 2026-09-23 21:48:11+02:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB +romm-db | 2026-09-23 21:48:11+02:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +romm-db | 2026-09-23 21:48:11+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.8.9+maria~ubu2404 started. +romm-db | 2026-09-23 21:48:11+02:00 [Note] [Entrypoint]: Starting temporary server +romm-db | 2026-09-23 21:48:11+02:00 [Note] [Entrypoint]: Waiting for server startup +romm-redis | 1:C 23 Sep 2026 21:45:43.370 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +romm-redis | 1:C 23 Sep 2026 21:45:43.370 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +romm-redis | 1:C 23 Sep 2026 21:45:43.370 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +romm-db | 2026-09-23 21:48:11 0 [Note] Starting MariaDB 11.8.9-MariaDB-ubu2404 source revision bf9193a939f515e95dd8def1a5468088c91cede6 server_uid KJNbQUe2av26J4e54Y9/Hkqm7jE= as process 56 +romm-redis | 1:C 23 Sep 2026 21:45:43.370 * Configuration loaded +romm-redis | 1:M 23 Sep 2026 21:45:43.371 * Increased maximum number of open files to 10032 (it was originally set to 1024). +romm-redis | 1:M 23 Sep 2026 21:45:43.371 * monotonic clock: POSIX clock_gettime +romm-redis | 1:M 23 Sep 2026 21:45:43.372 * Running mode=standalone, port=6379. +romm-redis | 1:M 23 Sep 2026 21:45:43.372 * Server initialized +romm-redis | 1:M 23 Sep 2026 21:45:43.381 * Creating AOF base file appendonly.aof.1.base.rdb on server start +romm-redis | 1:M 23 Sep 2026 21:45:43.390 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +romm-redis | 1:M 23 Sep 2026 21:45:43.390 * Ready to accept connections tcp +romm-redis | 1:M 23 Sep 2026 21:46:52.504 * 10000 changes in 60 seconds. Saving... +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: Compressed tables use zlib 1.3 +romm-redis | 1:M 23 Sep 2026 21:46:52.506 * Background saving started by pid 52 +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: Number of transaction pools: 1 +romm-redis | 52:C 23 Sep 2026 21:46:52.600 * DB saved on disk +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +romm-redis | 52:C 23 Sep 2026 21:46:52.602 * Fork CoW for RDB: current 0 MB, peak 0 MB, average 0 MB +romm-redis | 1:M 23 Sep 2026 21:46:52.607 * Background saving terminated with success +romm-redis | 1:M 23 Sep 2026 21:47:53.020 * 10000 changes in 60 seconds. Saving... +romm-db | 2026-09-23 21:48:11 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +romm-db | create_uring failed: falling back to libaio +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: Using Linux native AIO +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: Completed initialization of buffer pool +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: End of log at LSN=5336011 +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: Opened 3 undo tablespaces +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +romm-db | 2026-09-23 21:48:11 0 [Note] InnoDB: log sequence number 5336011; transaction id 3185 +romm-db | 2026-09-23 21:48:11 0 [Note] Plugin 'FEEDBACK' is disabled. +romm-db | 2026-09-23 21:48:11 0 [Note] Plugin 'wsrep-provider' is disabled. +romm-db | 2026-09-23 21:48:13 0 [Note] mariadbd: ready for connections. +romm-db | Version: '11.8.9-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 0 mariadb.org binary distribution +romm-db | 2026-09-23 21:48:14+02:00 [Note] [Entrypoint]: Temporary server started. +romm-db | 2026-09-23 21:48:14+02:00 [Note] [Entrypoint]: Backing up system database to system_mysql_backup_11.4.13-MariaDB.sql.zst +romm-db | 2026-09-23 21:48:14+02:00 [Note] [Entrypoint]: Backing up complete +romm | Creating default config.yml... +romm-db | 2026-09-23 21:48:14+02:00 [Note] [Entrypoint]: Starting mariadb-upgrade +romm-db | The --upgrade-system-tables option was used, user tables won't be touched. +romm-db | Major version upgrade detected from 11.4.13-MariaDB to 11.8.9-MariaDB. Check required! +romm-db | Phase 1/8: Checking and upgrading mysql database +romm-db | Processing databases +romm-db | mysql +romm-db | mysql.column_stats OK +romm | INFO: [RomM][init][2026-09-23 21:45:59] _____ __ __ +romm | INFO: [RomM][init][2026-09-23 21:45:59] | __ \ | \/ | +romm | INFO: [RomM][init][2026-09-23 21:45:59] | |__) |___ _ __ ___ | \ / | +romm | INFO: [RomM][init][2026-09-23 21:45:59] | _ // _ \| '_ ` _ \| |\/| | +romm | INFO: [RomM][init][2026-09-23 21:45:59] | | \ \ (_) | | | | | | | | | +romm-db | mysql.columns_priv OK +romm-db | mysql.db OK +romm-db | mysql.event OK +romm-db | mysql.func OK +romm-db | mysql.global_priv OK +romm-db | mysql.gtid_slave_pos OK +romm-db | mysql.help_category OK +romm-db | mysql.help_keyword OK +romm-db | mysql.help_relation OK +romm-db | mysql.help_topic OK +romm-redis | 1:M 23 Sep 2026 21:47:53.021 * Background saving started by pid 88 +romm-db | mysql.index_stats OK +romm-redis | 88:C 23 Sep 2026 21:47:53.171 * DB saved on disk +romm-db | mysql.innodb_index_stats OK +romm-redis | 88:C 23 Sep 2026 21:47:53.172 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +romm-db | mysql.innodb_table_stats OK +romm-redis | 1:M 23 Sep 2026 21:47:53.223 * Background saving terminated with success +romm-db | mysql.plugin OK +romm-redis | 1:signal-handler (1790192887) Received SIGTERM scheduling shutdown... +romm-db | mysql.proc OK +romm-redis | 1:M 23 Sep 2026 21:48:07.537 * User requested shutdown... +romm-redis | 1:M 23 Sep 2026 21:48:07.537 * Calling fsync() on the AOF file. +romm-redis | 1:M 23 Sep 2026 21:48:07.545 * Saving the final RDB snapshot before exiting. +romm-redis | 1:M 23 Sep 2026 21:48:07.677 * DB saved on disk +romm-redis | 1:M 23 Sep 2026 21:48:07.677 # Redis is now ready to exit, bye bye... +romm-redis | 1:C 23 Sep 2026 21:48:10.740 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +romm-redis | 1:C 23 Sep 2026 21:48:10.740 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +romm-redis | 1:C 23 Sep 2026 21:48:10.740 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +romm-db | mysql.procs_priv OK +romm-db | mysql.proxies_priv OK +romm-db | mysql.roles_mapping OK +romm-db | mysql.servers OK +romm-db | mysql.table_stats OK +romm-redis | 1:C 23 Sep 2026 21:48:10.740 * Configuration loaded +romm-redis | 1:M 23 Sep 2026 21:48:10.740 * Increased maximum number of open files to 10032 (it was originally set to 1024). +romm-redis | 1:M 23 Sep 2026 21:48:10.740 * monotonic clock: POSIX clock_gettime +romm-redis | 1:M 23 Sep 2026 21:48:10.742 * Running mode=standalone, port=6379. +romm-redis | 1:M 23 Sep 2026 21:48:10.742 * Server initialized +romm-redis | 1:M 23 Sep 2026 21:48:10.742 * Reading RDB base file on AOF loading... +romm-redis | 1:M 23 Sep 2026 21:48:10.742 * Loading RDB produced by version 7.4.11 +romm-redis | 1:M 23 Sep 2026 21:48:10.742 * RDB age 147 seconds +romm-redis | 1:M 23 Sep 2026 21:48:10.742 * RDB memory usage when created 0.90 Mb +romm-redis | 1:M 23 Sep 2026 21:48:10.742 * RDB is base AOF +romm-redis | 1:M 23 Sep 2026 21:48:10.742 * Done loading RDB, keys loaded: 0, keys expired: 0. +romm-redis | 1:M 23 Sep 2026 21:48:10.742 * DB loaded from base file appendonly.aof.1.base.rdb: 0.000 seconds +romm-redis | 1:M 23 Sep 2026 21:48:10.828 * DB loaded from incr file appendonly.aof.1.incr.aof: 0.086 seconds +romm-redis | 1:M 23 Sep 2026 21:48:10.828 * DB loaded from append only file: 0.086 seconds +romm-redis | 1:M 23 Sep 2026 21:48:10.828 * Opening AOF incr file appendonly.aof.1.incr.aof on server start +romm-redis | 1:M 23 Sep 2026 21:48:10.828 * Ready to accept connections tcp +romm-redis | 1:M 23 Sep 2026 21:49:11.012 * 10000 changes in 60 seconds. Saving... +romm-redis | 1:M 23 Sep 2026 21:49:11.014 * Background saving started by pid 45 +romm-db | mysql.tables_priv OK +romm-db | mysql.time_zone OK +romm-db | mysql.time_zone_leap_second OK +romm-db | mysql.time_zone_name OK +romm-db | mysql.time_zone_transition OK +romm-db | mysql.time_zone_transition_type OK +romm-redis | 45:C 23 Sep 2026 21:49:11.142 * DB saved on disk +romm | INFO: [RomM][init][2026-09-23 21:45:59] |_| \_\___/|_| |_| |_|_| |_| +romm-redis | 45:C 23 Sep 2026 21:49:11.144 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +romm | INFO: [RomM][init][2026-09-23 21:45:59] +romm-redis | 1:M 23 Sep 2026 21:49:11.216 * Background saving terminated with success +romm | INFO: [RomM][init][2026-09-23 21:45:59] The beautiful, powerful, self-hosted Rom manager and player +romm-db | mysql.transaction_registry OK +romm | INFO: [RomM][init][2026-09-23 21:45:59] +romm-db | Phase 2/8: Installing used storage engines... Skipped +romm | INFO: [RomM][init][2026-09-23 21:45:59] Version: 5.3.1 +romm | INFO: [RomM][init][2026-09-23 21:45:59] +romm | INFO: [RomM][init][2026-09-23 21:45:59] No OpenTelemetry environment variables found, disabling OpenTelemetry SDK +romm | INFO: [RomM][init][2026-09-23 21:45:59] REDIS_HOST is set, not starting internal valkey-server +romm | INFO: [RomM][init][2026-09-23 21:45:59] Running database migrations +romm | INFO: [RomM][0040_migrate_assets_paths][2026-09-23 21:46:20] Processing table: saves +romm | INFO: [RomM][0040_migrate_assets_paths][2026-09-23 21:46:20] Processing table: states +romm | INFO: [RomM][0040_migrate_assets_paths][2026-09-23 21:46:20] Processing table: screenshots +romm | INFO: [RomM][0094_track_meta_table][2026-09-23 21:46:28] [0094] migrated 0 track_meta rows (0 with covers) +romm | INFO: [RomM][init][2026-09-23 21:46:36] Database migrations succeeded +romm | INFO: [RomM][startup][2026-09-23 21:46:51] Running startup tasks +romm | INFO: [RomM][startup][2026-09-23 21:46:51] Initializing cache with fixtures data +romm | INFO: [RomM][startup][2026-09-23 21:46:53] Startup tasks completed +romm | INFO: [RomM][init][2026-09-23 21:46:54] Starting backend +romm | INFO: [RomM][init][2026-09-23 21:46:54] Starting RQ cron scheduler +romm | INFO: [RomM][init][2026-09-23 21:46:54] Starting RQ worker +romm-db | Phase 3/8: Running 'mysql_fix_privilege_tables' +romm | INFO: [RomM][init][2026-09-23 21:46:54] Starting RQ scan worker +romm-db | Phase 4/8: Fixing views... Skipped +romm | 21:46:58 Worker 5a095be11ee9491f80b68639601315ed: started with PID 135, version 2.12.0 +romm-db | Phase 5/8: Fixing table and database names ... Skipped +romm | 21:46:58 Worker 5a095be11ee9491f80b68639601315ed: subscribing to channel rq:pubsub:5a095be11ee9491f80b68639601315ed +romm | 21:46:58 *** Listening on high, default, low... +romm | 21:46:58 Acquired scheduler lock for low +romm | 21:46:58 Acquired scheduler lock for default +romm | 21:46:58 Acquired scheduler lock for high +romm | 21:46:58 Scheduler for low, default, high started with PID 168 +romm | INFO: [RomM][init][2026-09-23 21:46:58] Starting nginx +romm | INFO: [RomM][init][2026-09-23 21:46:58] 🚀 RomM is now available at http://0.0.0.0:8080 +romm | 21:46:59 Worker 6b11079814914661a272677390c3fe14: started with PID 138, version 2.12.0 +romm | 21:46:59 Worker 6b11079814914661a272677390c3fe14: subscribing to channel rq:pubsub:6b11079814914661a272677390c3fe14 +romm | 21:46:59 *** Listening on scans... +romm | 21:46:59 Acquired scheduler lock for scans +romm | 21:46:59 Scheduler for scans started with PID 190 +romm-db | Phase 6/8: Checking and upgrading tables... Skipped +romm | 21:46:59 Loading cron configuration from tasks.cron_config +romm-db | Phase 7/8: uninstalling plugins +romm | INFO: [RomM][nginx][2026-09-23 21:46:58] 127.0.0.1 | - | GET / 200 | 5485 | Unknown Unknown | 0.000 +romm-db | Phase 8/8: Running 'FLUSH PRIVILEGES' +romm-db | OK +romm-db | 2026-09-23 21:48:22+02:00 [Note] [Entrypoint]: Finished mariadb-upgrade +romm | INFO: [RomM][cron_config][2026-09-23 21:47:15] Scheduled 'build_recommendations' at '30 5 * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:47:15] Scheduled 'cleanup_zip_cache' at '0 4 * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:47:15] Scheduled 'cleanup_netplay' at '*/30 * * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:47:15] Scheduled 'cleanup_upload_tmp' at '0 * * * *' +romm | 21:47:15 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '30 5 * * *' +romm | 21:47:15 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '0 4 * * *' +romm | 21:47:15 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '*/30 * * * *' +romm | 21:47:15 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '0 * * * *' +romm | 21:47:15 Successfully registered 4 cron jobs from 'tasks.cron_config' +romm | 21:47:15 CronScheduler b87b46080ecb:132:495ae6: starting... +romm | 21:47:15 CronScheduler b87b46080ecb:132:495ae6: registering birth... +romm | INFO: [RomM][nginx][2026-09-23 21:47:16] 172.18.0.3 | - | GET / 200 | 2157 | Unknown Unknown | 0.000 +romm | INFO: [RomM][server][2026-09-23 21:47:24] Started server process [163] +romm | INFO: [RomM][on][2026-09-23 21:47:24] Waiting for application startup. +romm | INFO: [RomM][on][2026-09-23 21:47:24] Application startup complete. +romm | INFO: [RomM][server][2026-09-23 21:47:24] Started server process [164] +romm | INFO: [RomM][on][2026-09-23 21:47:24] Waiting for application startup. +romm | INFO: [RomM][on][2026-09-23 21:47:24] Application startup complete. +romm | INFO: [RomM][logs][2026-09-23 21:47:24] Log stream forwarder started +romm | INFO: [RomM][auth][2026-09-23 21:47:27] Auto-created web device ac0b2307-a0c9-4076-80c4-5a4e1a47b5b3 for user drill3691ac +romm | INFO: [RomM][nginx][2026-09-23 21:47:25] 172.18.0.2 | 192.168.0.180 | GET /api/heartbeat 200 | 540 | Unknown Unknown | 12.393 +romm | INFO: [RomM][nginx][2026-09-23 21:47:25] 172.18.0.2 | 192.168.0.180 | GET /api/heartbeat 200 | 530 | Unknown Unknown | 0.020 +romm | INFO: [RomM][nginx][2026-09-23 21:47:25] 172.18.0.2 | 192.168.0.180 | POST /api/users 201 | 705 | Unknown Unknown | 0.318 +romm | INFO: [RomM][nginx][2026-09-23 21:47:25] 172.18.0.2 | 192.168.0.180 | GET /api/heartbeat 200 | 543 | Unknown Unknown | 0.015 +romm | INFO: [RomM][nginx][2026-09-23 21:47:25] 172.18.0.2 | 192.168.0.180 | GET /api/heartbeat 200 | 543 | Unknown Unknown | 0.015 +romm | INFO: [RomM][nginx][2026-09-23 21:47:26] 172.18.0.2 | 192.168.0.180 | POST /api/login 401 | 43 | Unknown Unknown | 0.540 +romm | INFO: [RomM][nginx][2026-09-23 21:47:27] 172.18.0.2 | 192.168.0.180 | POST /api/login 200 | 4 | Unknown Unknown | 0.942 +romm | INFO: [RomM][nginx][2026-09-23 21:47:29] 127.0.0.1 | - | GET / 200 | 5485 | Unknown Unknown | 0.000 +romm | INFO: [RomM][init][2026-09-23 21:48:04] Stopping rq_worker +romm | 21:48:04 Worker 5a095be11ee9491f80b68639601315ed [PID 135]: warm shut down requested +romm | INFO: [RomM][nginx][2026-09-23 21:47:59] 127.0.0.1 | - | GET / 200 | 5485 | Unknown Unknown | 0.000 +romm | 21:48:04 Scheduler stopping, releasing locks for low, default, high... +romm | 21:48:04 Scheduler with PID 168 has stopped +romm | 21:48:04 Worker 5a095be11ee9491f80b68639601315ed: unsubscribing from channel rq:pubsub:5a095be11ee9491f80b68639601315ed +romm | INFO: [RomM][init][2026-09-23 21:48:05] Stopping rq_scan_worker +romm | 21:48:05 Worker 6b11079814914661a272677390c3fe14 [PID 138]: warm shut down requested +romm | 21:48:05 Scheduler stopping, releasing locks for scans... +romm | 21:48:05 Scheduler with PID 190 has stopped +romm | 21:48:05 Worker 6b11079814914661a272677390c3fe14: unsubscribing from channel rq:pubsub:6b11079814914661a272677390c3fe14 +romm | INFO: [RomM][init][2026-09-23 21:48:05] Stopping rq_cron +romm | 21:48:05 CronScheduler b87b46080ecb:132:495ae6: received shutdown signal 15 +romm | 21:48:05 CronScheduler b87b46080ecb:132:495ae6: stop requested +romm | 21:48:05 CronScheduler b87b46080ecb:132:495ae6: registering death... +romm | 21:48:05 CronScheduler b87b46080ecb:132:495ae6: shutdown complete +romm-db | 2026-09-23 21:48:22+02:00 [Note] [Entrypoint]: Stopping temporary server +romm-db | 2026-09-23 21:48:22 0 [Note] mariadbd (initiated by: unknown): Normal shutdown +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: FTS optimize thread exiting. +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Starting shutdown... +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1" +romm-db | 2026-09-23 21:48:22 0 [Note] Shutdown completed; log sequence number 5336011; transaction id 3189 +romm-db | 2026-09-23 21:48:22 0 [Note] mariadbd: Shutdown complete +romm-db | 2026-09-23 21:48:22+02:00 [Note] [Entrypoint]: Temporary server stopped +romm-db | 2026-09-23 21:48:22 0 [Note] Starting MariaDB 11.8.9-MariaDB-ubu2404 source revision bf9193a939f515e95dd8def1a5468088c91cede6 server_uid KJNbQUe2av26J4e54Y9/Hkqm7jE= as process 1 +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Compressed tables use zlib 1.3 +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Number of transaction pools: 1 +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +romm-db | 2026-09-23 21:48:22 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +romm-db | create_uring failed: falling back to libaio +romm | INFO: [RomM][init][2026-09-23 21:48:06] Stopping nginx +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Using Linux native AIO +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +romm | INFO: [RomM][init][2026-09-23 21:48:06] Stopping gunicorn +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Completed initialization of buffer pool +romm | INFO: [RomM][server][2026-09-23 21:48:06] Shutting down +romm | INFO: [RomM][server][2026-09-23 21:48:06] Shutting down +romm | INFO: [RomM][on][2026-09-23 21:48:06] Waiting for application shutdown. +romm | INFO: [RomM][on][2026-09-23 21:48:06] Application shutdown complete. +romm | INFO: [RomM][server][2026-09-23 21:48:06] Finished server process [163] +romm | INFO: [RomM][on][2026-09-23 21:48:06] Waiting for application shutdown. +romm | INFO: [RomM][on][2026-09-23 21:48:06] Application shutdown complete. +romm | INFO: [RomM][server][2026-09-23 21:48:06] Finished server process [164] +romm | INFO: [RomM][init][2026-09-23 21:48:26] _____ __ __ +romm | INFO: [RomM][init][2026-09-23 21:48:26] | __ \ | \/ | +romm | INFO: [RomM][init][2026-09-23 21:48:26] | |__) |___ _ __ ___ | \ / | +romm | INFO: [RomM][init][2026-09-23 21:48:26] | _ // _ \| '_ ` _ \| |\/| | +romm | INFO: [RomM][init][2026-09-23 21:48:26] | | \ \ (_) | | | | | | | | | +romm | INFO: [RomM][init][2026-09-23 21:48:26] |_| \_\___/|_| |_| |_|_| |_| +romm | INFO: [RomM][init][2026-09-23 21:48:26] +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: End of log at LSN=5336011 +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Opened 3 undo tablespaces +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: log sequence number 5336011; transaction id 3185 +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool +romm-db | 2026-09-23 21:48:22 0 [Note] Plugin 'FEEDBACK' is disabled. +romm-db | 2026-09-23 21:48:22 0 [Note] Plugin 'wsrep-provider' is disabled. +romm-db | 2026-09-23 21:48:22 0 [Note] InnoDB: Buffer pool(s) load completed at 260923 21:48:22 +romm-db | 2026-09-23 21:48:24 0 [Note] Server socket created on IP: '0.0.0.0', port: '3306'. +romm-db | 2026-09-23 21:48:24 0 [Note] Server socket created on IP: '::', port: '3306'. +romm | INFO: [RomM][init][2026-09-23 21:48:26] The beautiful, powerful, self-hosted Rom manager and player +romm-db | 2026-09-23 21:48:24 0 [Note] mariadbd: Event Scheduler: Loaded 0 events +romm | INFO: [RomM][init][2026-09-23 21:48:26] +romm | INFO: [RomM][init][2026-09-23 21:48:26] Version: 5.3.1 +romm | INFO: [RomM][init][2026-09-23 21:48:26] +romm | INFO: [RomM][init][2026-09-23 21:48:26] No OpenTelemetry environment variables found, disabling OpenTelemetry SDK +romm | INFO: [RomM][init][2026-09-23 21:48:26] REDIS_HOST is set, not starting internal valkey-server +romm | INFO: [RomM][init][2026-09-23 21:48:26] Running database migrations +romm | INFO: [RomM][init][2026-09-23 21:48:41] Database migrations succeeded +romm | INFO: [RomM][startup][2026-09-23 21:48:55] Running startup tasks +romm | INFO: [RomM][startup][2026-09-23 21:48:55] Initializing cache with fixtures data +romm | INFO: [RomM][startup][2026-09-23 21:48:55] Startup tasks completed +romm | INFO: [RomM][init][2026-09-23 21:48:56] Starting backend +romm | INFO: [RomM][init][2026-09-23 21:48:56] Starting RQ cron scheduler +romm | INFO: [RomM][init][2026-09-23 21:48:56] Starting RQ worker +romm | INFO: [RomM][init][2026-09-23 21:48:56] Starting RQ scan worker +romm | INFO: [RomM][init][2026-09-23 21:48:58] Starting nginx +romm | INFO: [RomM][init][2026-09-23 21:48:58] 🚀 RomM is now available at http://0.0.0.0:8080 +romm | 21:48:59 Loading cron configuration from tasks.cron_config +romm | 21:48:59 Worker 1f5d51a00c294e69aa7f92b7f6b0431e: started with PID 107, version 2.12.0 +romm | 21:48:59 Worker 1f5d51a00c294e69aa7f92b7f6b0431e: subscribing to channel rq:pubsub:1f5d51a00c294e69aa7f92b7f6b0431e +romm | 21:48:59 *** Listening on scans... +romm | 21:48:59 Acquired scheduler lock for scans +romm-db | 2026-09-23 21:48:24 0 [Note] mariadbd: ready for connections. +romm-db | Version: '11.8.9-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution +romm | 21:48:59 Scheduler for scans started with PID 142 +romm | 21:48:59 Worker 075c07ad99c34ab1b783ca60ca3b502f: started with PID 104, version 2.12.0 +romm | 21:48:59 Worker 075c07ad99c34ab1b783ca60ca3b502f: subscribing to channel rq:pubsub:075c07ad99c34ab1b783ca60ca3b502f +romm | 21:48:59 *** Listening on high, default, low... +romm | 21:48:59 Acquired scheduler lock for high +romm | 21:48:59 Acquired scheduler lock for default +romm | 21:48:59 Acquired scheduler lock for low +romm | 21:48:59 Scheduler for high, default, low started with PID 145 +romm | INFO: [RomM][nginx][2026-09-23 21:49:02] 127.0.0.1 | - | GET / 200 | 5485 | Unknown Unknown | 0.000 +romm | INFO: [RomM][nginx][2026-09-23 21:49:06] 172.18.0.3 | - | GET / 200 | 2157 | Unknown Unknown | 0.000 +romm | INFO: [RomM][cron_config][2026-09-23 21:49:09] Scheduled 'build_recommendations' at '30 5 * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:49:09] Scheduled 'cleanup_zip_cache' at '0 4 * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:49:09] Scheduled 'cleanup_netplay' at '*/30 * * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:49:09] Scheduled 'cleanup_upload_tmp' at '0 * * * *' +romm | 21:49:09 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '30 5 * * *' +romm | 21:49:09 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '0 4 * * *' +romm | 21:49:09 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '*/30 * * * *' +romm | 21:49:09 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '0 * * * *' +romm | 21:49:09 Successfully registered 4 cron jobs from 'tasks.cron_config' +romm | 21:49:09 CronScheduler b87b46080ecb:101:18c9eb: starting... +romm | 21:49:09 CronScheduler b87b46080ecb:101:18c9eb: registering birth... +romm | INFO: [RomM][server][2026-09-23 21:49:16] Started server process [123] +romm | INFO: [RomM][on][2026-09-23 21:49:16] Waiting for application startup. +romm | INFO: [RomM][on][2026-09-23 21:49:16] Application startup complete. +romm | INFO: [RomM][logs][2026-09-23 21:49:17] Log stream forwarder started +romm | INFO: [RomM][server][2026-09-23 21:49:17] Started server process [124] +romm | INFO: [RomM][on][2026-09-23 21:49:17] Waiting for application startup. +romm | INFO: [RomM][on][2026-09-23 21:49:17] Application startup complete. diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/badges.json b/documentation/audits/night-2026-09-23/apps/romm-engine/badges.json new file mode 100644 index 00000000..20f5a534 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/badges.json @@ -0,0 +1,31 @@ +{ + "before": { + "hu": [ + { + "title": "Ez az alkalmazás a legfrissebb elérhető változatot futtatja.", + "text": "Naprakész" + } + ], + "en": [ + { + "title": "This app is running the newest version available.", + "text": "Up to date" + } + ] + }, + "after": { + "hu": [ + { + "title": "Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.", + "text": "Frissítés elérhető — ma" + } + ], + "en": [ + { + "title": "A newer version of this app is available. Select the Update button to start it.", + "text": "Update available — today" + } + ] + }, + "drill_commit": "436d5b1712e6" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/MV-romm.log b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/MV-romm.log new file mode 100644 index 00000000..52b89a88 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/MV-romm.log @@ -0,0 +1,140 @@ +[19:45:39] MV-romm: deploying romm at FROM {'romm': 'rommapp/romm:5.3.1', 'romm-db': 'mariadb:11.4', 'romm-redis': 'redis:7-alpine'} +[19:46:54] FROM settled=True in 63.0s :: {"romm": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "romm-db": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "romm-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:47:21] romm: POST /api/users http=201 +[19:47:23] romm: login as the seeded user http=200 ok=True +[19:47:23] C1 (seed reads back BEFORE): True +[19:47:23] MV-romm: swapping to TO {'romm': 'rommapp/romm:5.3.1', 'romm-db': 'mariadb:11.8', 'romm-redis': 'redis:7-alpine'} +[19:47:51] TO up -d rc=0 +[19:48:54] TO settled=True in 62.7s :: {"romm": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "romm-db": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "romm-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:48:54] engine state romm-db: 11.8.9-MariaDB | This installation of MariaDB is already upgraded to 11.8.9-MariaDB. There is no need to run mariadb-upgrade again. [exit=1] +[19:48:54] migration lines observed: 6 +[19:48:56] romm: login as the seeded user http=200 ok=True +[19:48:56] RESULT (seed reads back AFTER): True +[19:48:56] memory watch: 600s, 4 callers on 8 path(s) at 172.18.0.7:8080 +[19:49:11] + 15s romm=643M/768M peak=644M kills=0 rs=0 romm-db=138M/384M peak=141M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=287 +[19:49:26] + 30s romm=638M/768M peak=645M kills=0 rs=0 romm-db=137M/384M peak=141M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=578 +[19:49:42] + 46s romm=628M/768M peak=645M kills=0 rs=0 romm-db=138M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=869 +[19:49:57] + 61s romm=629M/768M peak=645M kills=0 rs=0 romm-db=138M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=1159 +[19:50:12] + 76s romm=629M/768M peak=645M kills=0 rs=0 romm-db=138M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=1449 +[19:50:27] + 91s romm=628M/768M peak=645M kills=0 rs=0 romm-db=138M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=1739 +[19:50:42] + 106s romm=629M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=2029 +[19:50:58] + 121s romm=585M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=2319 +[19:51:13] + 137s romm=529M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=2596 +[19:51:28] + 152s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=2882 +[19:51:43] + 167s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=3174 +[19:51:58] + 182s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=3462 +[19:52:13] + 197s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=3745 +[19:52:29] + 212s romm=465M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=4035 +[19:52:44] + 228s romm=626M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=4321 +[19:52:59] + 243s romm=626M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=4613 +[19:53:14] + 258s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=4905 +[19:53:29] + 273s romm=493M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=5194 +[19:53:44] + 288s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=5479 +[19:54:00] + 303s romm=627M/768M peak=645M kills=0 rs=0 romm-db=140M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=5769 +[19:54:15] + 319s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=6061 +[19:54:30] + 334s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=6350 +[19:54:45] + 349s romm=627M/768M peak=645M kills=0 rs=0 romm-db=140M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=6642 +[19:55:00] + 364s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=6934 +[19:55:15] + 379s romm=376M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=7172 +[19:55:31] + 394s romm=619M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=7302 +[19:55:46] + 410s romm=628M/768M peak=645M kills=0 rs=0 romm-db=140M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=7590 +[19:56:01] + 425s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=7882 +[19:56:16] + 440s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=8175 +[19:56:31] + 455s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=28M/128M peak=39M kills=0 rs=0 reqs=8468 +[19:56:46] + 470s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=8760 +[19:57:02] + 486s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=9050 +[19:57:17] + 501s romm=472M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=9340 +[19:57:32] + 516s romm=623M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=9604 +[19:57:47] + 531s romm=611M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=9894 +[19:58:02] + 546s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=35M/128M peak=44M kills=0 rs=0 reqs=10183 +[19:58:17] + 561s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=35M/128M peak=44M kills=0 rs=0 reqs=10473 +[19:58:33] + 576s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=35M/128M peak=44M kills=0 rs=0 reqs=10762 +[19:58:48] + 592s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=35M/128M peak=44M kills=0 rs=0 reqs=11048 +[19:59:03] + 607s romm=530M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=35M/128M peak=44M kills=0 rs=0 reqs=11332 +[19:59:03] memory watch: killed=False tight=[] requests=11332 codes={'200': 5664, '401': 5668} +[19:59:03] MV-romm: ABORT — putting the FROM images back +[20:00:03] romm: login as the seeded user http=200 ok=True +[20:00:03] ABORT: app came back in 31.3s; data present=True +{ + "harness_version": 3, + "edge": "MV-romm", + "app": "romm", + "note": "night 2026-09-23 within-a-major move: romm-db=mariadb:11.8", + "from": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.4", + "romm-redis": "redis:7-alpine" + }, + "to": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.8", + "romm-redis": "redis:7-alpine" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kromm | \u001b[0;32mINFO: \u001b[0;34m[RomM]\u001b[0;95m[init]\u001b[0;36m[2026-09-23 21:47:51]\u001b[0;00m Running database migrations", + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": { + "romm-db": { + "image": "mariadb:11.8", + "probe": "datadir version | the engine's own upgrade verdict", + "answer": "11.8.9-MariaDB | This installation of MariaDB is already upgraded to 11.8.9-MariaDB. There is no need to run mariadb-upgrade again. [exit=1]", + "probe_rc": 0 + } + }, + "memory": { + "soak_s": 607.1, + "requested_s": 600, + "requests": 11332, + "codes": { + "200": 5664, + "401": 5668 + }, + "first_kill": null, + "containers": { + "romm": { + "limit": 805306368, + "peak": 677031936, + "peak_pct": 0.841, + "anon_peak_sampled": 627875840, + "anon_peak_pct": 0.78, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "romm-db": { + "limit": 402653184, + "peak": 151334912, + "peak_pct": 0.376, + "anon_peak_sampled": 106426368, + "anon_peak_pct": 0.264, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "romm-redis": { + "limit": 134217728, + "peak": 46465024, + "peak_pct": 0.346, + "anon_peak_sampled": 14897152, + "anon_peak_pct": 0.111, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 62.7, + "measured_at": "2026-09-23T20:00:03Z", + "evidence": "evidence/MV-romm", + "files_changed": [], + "total_s": 864.0 +} diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/abort-states.json b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/abort-states.json new file mode 100644 index 00000000..1c7ad7de --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/abort-states.json @@ -0,0 +1,20 @@ +{ + "romm": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "romm-db": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "romm-redis": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/compose-final.log b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/compose-final.log new file mode 100644 index 00000000..fdc0db01 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/compose-final.log @@ -0,0 +1,119 @@ +romm-redis | 1:C 23 Sep 2026 21:45:40.605 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +romm-redis | 1:C 23 Sep 2026 21:45:40.605 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +romm-redis | 1:C 23 Sep 2026 21:45:40.605 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +romm-redis | 1:C 23 Sep 2026 21:45:40.605 * Configuration loaded +romm-redis | 1:M 23 Sep 2026 21:45:40.606 * monotonic clock: POSIX clock_gettime +romm-redis | 1:M 23 Sep 2026 21:45:40.607 * Running mode=standalone, port=6379. +romm-redis | 1:M 23 Sep 2026 21:45:40.607 * Server initialized +romm-redis | 1:M 23 Sep 2026 21:45:40.611 * Creating AOF base file appendonly.aof.1.base.rdb on server start +romm-redis | 1:M 23 Sep 2026 21:45:40.619 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +romm-redis | 1:M 23 Sep 2026 21:45:40.619 * Ready to accept connections tcp +romm-redis | 1:M 23 Sep 2026 21:46:46.084 * 10000 changes in 60 seconds. Saving... +romm-redis | 1:M 23 Sep 2026 21:46:46.091 * Background saving started by pid 54 +romm-redis | 54:C 23 Sep 2026 21:46:46.172 * DB saved on disk +romm-redis | 54:C 23 Sep 2026 21:46:46.175 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +romm-redis | 1:M 23 Sep 2026 21:46:46.192 * Background saving terminated with success +romm-redis | 1:M 23 Sep 2026 21:47:47.021 * 10000 changes in 60 seconds. Saving... +romm-redis | 1:M 23 Sep 2026 21:47:47.022 * Background saving started by pid 89 +romm-redis | 89:C 23 Sep 2026 21:47:47.208 * DB saved on disk +romm-redis | 89:C 23 Sep 2026 21:47:47.209 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +romm-redis | 1:M 23 Sep 2026 21:47:47.225 * Background saving terminated with success +romm-redis | 1:M 23 Sep 2026 21:52:48.046 * 100 changes in 300 seconds. Saving... +romm-redis | 1:M 23 Sep 2026 21:52:48.047 * Background saving started by pid 270 +romm-redis | 270:C 23 Sep 2026 21:52:48.168 * DB saved on disk +romm-redis | 270:C 23 Sep 2026 21:52:48.169 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +romm-redis | 1:M 23 Sep 2026 21:52:48.249 * Background saving terminated with success +romm-redis | 1:M 23 Sep 2026 21:57:49.077 * 100 changes in 300 seconds. Saving... +romm-redis | 1:M 23 Sep 2026 21:57:49.079 * Background saving started by pid 451 +romm-redis | 451:C 23 Sep 2026 21:57:49.199 * DB saved on disk +romm-redis | 451:C 23 Sep 2026 21:57:49.200 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +romm-redis | 1:M 23 Sep 2026 21:57:49.281 * Background saving terminated with success +romm-db | 2026-09-23 21:59:08+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.13+maria~ubu2404 started. +romm | INFO: [RomM][init][2026-09-23 21:59:19] _____ __ __ +romm-db | 2026-09-23 21:59:08+02:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB +romm | INFO: [RomM][init][2026-09-23 21:59:19] | __ \ | \/ | +romm | INFO: [RomM][init][2026-09-23 21:59:19] | |__) |___ _ __ ___ | \ / | +romm | INFO: [RomM][init][2026-09-23 21:59:19] | _ // _ \| '_ ` _ \| |\/| | +romm | INFO: [RomM][init][2026-09-23 21:59:19] | | \ \ (_) | | | | | | | | | +romm | INFO: [RomM][init][2026-09-23 21:59:19] |_| \_\___/|_| |_| |_|_| |_| +romm | INFO: [RomM][init][2026-09-23 21:59:19] +romm | INFO: [RomM][init][2026-09-23 21:59:19] The beautiful, powerful, self-hosted Rom manager and player +romm | INFO: [RomM][init][2026-09-23 21:59:19] +romm | INFO: [RomM][init][2026-09-23 21:59:19] Version: 5.3.1 +romm | INFO: [RomM][init][2026-09-23 21:59:19] +romm | INFO: [RomM][init][2026-09-23 21:59:19] No OpenTelemetry environment variables found, disabling OpenTelemetry SDK +romm-db | 2026-09-23 21:59:08+02:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +romm-db | 2026-09-23 21:59:08+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.4.13+maria~ubu2404 started. +romm-db | 2026-09-23 21:59:08+02:00 [Note] [Entrypoint]: MariaDB upgrade not required +romm-db | 2026-09-23 21:59:08 0 [Note] Starting MariaDB 11.4.13-MariaDB-ubu2404 source revision 170b1d70737be6f134448f51713cdc1ae215b420 server_uid M1Ysub1BDlKHQoyUdFdL1gn45UI= as process 1 +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: Compressed tables use zlib 1.3 +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: Number of transaction pools: 1 +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +romm-db | 2026-09-23 21:59:08 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +romm | INFO: [RomM][init][2026-09-23 21:59:19] REDIS_HOST is set, not starting internal valkey-server +romm | INFO: [RomM][init][2026-09-23 21:59:19] Running database migrations +romm | INFO: [RomM][init][2026-09-23 21:59:29] Database migrations succeeded +romm | INFO: [RomM][startup][2026-09-23 21:59:42] Running startup tasks +romm | INFO: [RomM][startup][2026-09-23 21:59:42] Initializing cache with fixtures data +romm | INFO: [RomM][startup][2026-09-23 21:59:42] Startup tasks completed +romm | INFO: [RomM][init][2026-09-23 21:59:43] Starting backend +romm | INFO: [RomM][init][2026-09-23 21:59:43] Starting RQ cron scheduler +romm | INFO: [RomM][init][2026-09-23 21:59:43] Starting RQ worker +romm-db | create_uring failed: falling back to libaio +romm | INFO: [RomM][init][2026-09-23 21:59:43] Starting RQ scan worker +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: Using Linux native AIO +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: Completed initialization of buffer pool +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: End of log at LSN=5427746 +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: Opened 3 undo tablespaces +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: log sequence number 5427746; transaction id 3198 +romm-db | 2026-09-23 21:59:08 0 [Note] Plugin 'FEEDBACK' is disabled. +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool +romm | 21:59:45 Worker b5ec724d1522457298cf7153bc6044e3: started with PID 74, version 2.12.0 +romm | 21:59:45 Worker b5ec724d1522457298cf7153bc6044e3: subscribing to channel rq:pubsub:b5ec724d1522457298cf7153bc6044e3 +romm | 21:59:45 *** Listening on high, default, low... +romm | INFO: [RomM][init][2026-09-23 21:59:45] Starting nginx +romm | 21:59:45 Acquired scheduler lock for high +romm | 21:59:45 Acquired scheduler lock for default +romm | 21:59:45 Acquired scheduler lock for low +romm | INFO: [RomM][init][2026-09-23 21:59:45] 🚀 RomM is now available at http://0.0.0.0:8080 +romm | 21:59:45 Scheduler for high, default, low started with PID 107 +romm | 21:59:45 Loading cron configuration from tasks.cron_config +romm | 21:59:45 Worker dc4a7948606b4357b045326eef5e850d: started with PID 77, version 2.12.0 +romm | 21:59:45 Worker dc4a7948606b4357b045326eef5e850d: subscribing to channel rq:pubsub:dc4a7948606b4357b045326eef5e850d +romm | 21:59:45 *** Listening on scans... +romm | 21:59:45 Acquired scheduler lock for scans +romm | 21:59:45 Scheduler for scans started with PID 109 +romm | INFO: [RomM][nginx][2026-09-23 21:59:49] 127.0.0.1 | - | GET / 200 | 5485 | Unknown Unknown | 0.000 +romm | INFO: [RomM][cron_config][2026-09-23 21:59:55] Scheduled 'build_recommendations' at '30 5 * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:59:55] Scheduled 'cleanup_zip_cache' at '0 4 * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:59:55] Scheduled 'cleanup_netplay' at '*/30 * * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:59:55] Scheduled 'cleanup_upload_tmp' at '0 * * * *' +romm | 21:59:55 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '30 5 * * *' +romm | 21:59:55 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '0 4 * * *' +romm | 21:59:55 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '*/30 * * * *' +romm | 21:59:55 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '0 * * * *' +romm | 21:59:55 Successfully registered 4 cron jobs from 'tasks.cron_config' +romm | 21:59:55 CronScheduler 40d1c77810bf:71:ccbbfe: starting... +romm | 21:59:55 CronScheduler 40d1c77810bf:71:ccbbfe: registering birth... +romm | 22:00:00 Enqueued job run_task_by_name to queue low +romm | 22:00:00 Enqueued job run_task_by_name to queue low +romm | 22:00:00 Worker b5ec724d1522457298cf7153bc6044e3: low: tasks.tasks.run_task_by_name(name='cleanup_netplay') (c02325c1-5a1d-4cd7-91a0-d34e2a979966) +romm | INFO: [RomM][server][2026-09-23 22:00:01] Started server process [89] +romm | INFO: [RomM][on][2026-09-23 22:00:01] Waiting for application startup. +romm | INFO: [RomM][on][2026-09-23 22:00:01] Application startup complete. +romm-db | 2026-09-23 21:59:08 0 [Note] Plugin 'wsrep-provider' is disabled. +romm | INFO: [RomM][server][2026-09-23 22:00:01] Started server process [88] +romm | INFO: [RomM][on][2026-09-23 22:00:01] Waiting for application startup. +romm | INFO: [RomM][on][2026-09-23 22:00:01] Application startup complete. +romm | INFO: [RomM][logs][2026-09-23 22:00:01] Log stream forwarder started +romm-db | 2026-09-23 21:59:08 0 [Note] InnoDB: Buffer pool(s) load completed at 260923 21:59:08 +romm-db | 2026-09-23 21:59:13 0 [Note] Server socket created on IP: '0.0.0.0', port: '3306'. +romm-db | 2026-09-23 21:59:13 0 [Note] Server socket created on IP: '::', port: '3306'. +romm-db | 2026-09-23 21:59:13 0 [Note] mariadbd: Event Scheduler: Loaded 0 events +romm-db | 2026-09-23 21:59:13 0 [Note] mariadbd: ready for connections. +romm-db | Version: '11.4.13-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/engine-state.json b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/engine-state.json new file mode 100644 index 00000000..096f375f --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/engine-state.json @@ -0,0 +1,8 @@ +{ + "romm-db": { + "image": "mariadb:11.8", + "probe": "datadir version | the engine's own upgrade verdict", + "answer": "11.8.9-MariaDB | This installation of MariaDB is already upgraded to 11.8.9-MariaDB. There is no need to run mariadb-upgrade again. [exit=1]", + "probe_rc": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/files-after.json b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/files-after.json new file mode 100644 index 00000000..e34560ae --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/files-after.json @@ -0,0 +1,4 @@ +{ + "/srv/felhom-gate/hdd/appdata/romm/resources": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "/srv/felhom-gate/hdd/userdata/roms": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/files-before.json b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/files-before.json new file mode 100644 index 00000000..e34560ae --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/files-before.json @@ -0,0 +1,4 @@ +{ + "/srv/felhom-gate/hdd/appdata/romm/resources": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "/srv/felhom-gate/hdd/userdata/roms": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/memory-samples.json b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/memory-samples.json new file mode 100644 index 00000000..41c3ef39 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/memory-samples.json @@ -0,0 +1,1562 @@ +[ + { + "t": 15.2, + "containers": { + "romm": { + "limit": 805306368, + "current": 674742272, + "peak": 676171776, + "anon": 627195904, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 144797696, + "peak": 148086784, + "anon": 103247872, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23453696, + "peak": 40992768, + "anon": 14897152, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 287 + }, + { + "t": 30.4, + "containers": { + "romm": { + "limit": 805306368, + "current": 668999680, + "peak": 677031936, + "anon": 627494912, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 143736832, + "peak": 148086784, + "anon": 103313408, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23576576, + "peak": 40992768, + "anon": 14897152, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 578 + }, + { + "t": 45.5, + "containers": { + "romm": { + "limit": 805306368, + "current": 659312640, + "peak": 677031936, + "anon": 627609600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 145702912, + "peak": 149004288, + "anon": 105619456, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23506944, + "peak": 40992768, + "anon": 14893056, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 869 + }, + { + "t": 60.7, + "containers": { + "romm": { + "limit": 805306368, + "current": 659951616, + "peak": 677031936, + "anon": 627773440, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 145559552, + "peak": 149012480, + "anon": 105721856, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23248896, + "peak": 40992768, + "anon": 14876672, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1159 + }, + { + "t": 75.9, + "containers": { + "romm": { + "limit": 805306368, + "current": 659857408, + "peak": 677031936, + "anon": 627822592, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 145612800, + "peak": 149364736, + "anon": 105775104, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23494656, + "peak": 40992768, + "anon": 14852096, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1449 + }, + { + "t": 91.1, + "containers": { + "romm": { + "limit": 805306368, + "current": 659476480, + "peak": 677031936, + "anon": 627871744, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 145641472, + "peak": 149487616, + "anon": 105791488, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23764992, + "peak": 40992768, + "anon": 14852096, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 1739 + }, + { + "t": 106.2, + "containers": { + "romm": { + "limit": 805306368, + "current": 659722240, + "peak": 677031936, + "anon": 627875840, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 145784832, + "peak": 149487616, + "anon": 105902080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23257088, + "peak": 40992768, + "anon": 14852096, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2029 + }, + { + "t": 121.4, + "containers": { + "romm": { + "limit": 805306368, + "current": 614146048, + "peak": 677031936, + "anon": 582369280, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146026496, + "peak": 149569536, + "anon": 105914368, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23502848, + "peak": 40992768, + "anon": 14827520, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2319 + }, + { + "t": 136.6, + "containers": { + "romm": { + "limit": 805306368, + "current": 555515904, + "peak": 677031936, + "anon": 523722752, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 145973248, + "peak": 149815296, + "anon": 106074112, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23494656, + "peak": 40992768, + "anon": 14819328, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2596 + }, + { + "t": 151.7, + "containers": { + "romm": { + "limit": 805306368, + "current": 658509824, + "peak": 677031936, + "anon": 626659328, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146526208, + "peak": 151334912, + "anon": 106102784, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23519232, + "peak": 40992768, + "anon": 14819328, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 2882 + }, + { + "t": 166.9, + "containers": { + "romm": { + "limit": 805306368, + "current": 658706432, + "peak": 677031936, + "anon": 626774016, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146522112, + "peak": 151334912, + "anon": 106110976, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23863296, + "peak": 40992768, + "anon": 14782464, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3174 + }, + { + "t": 182.0, + "containers": { + "romm": { + "limit": 805306368, + "current": 659255296, + "peak": 677031936, + "anon": 626954240, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146497536, + "peak": 151334912, + "anon": 106246144, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 24031232, + "peak": 40992768, + "anon": 14782464, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3462 + }, + { + "t": 197.2, + "containers": { + "romm": { + "limit": 805306368, + "current": 658763776, + "peak": 677031936, + "anon": 626843648, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146219008, + "peak": 151334912, + "anon": 106270720, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23781376, + "peak": 40992768, + "anon": 14782464, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 3745 + }, + { + "t": 212.4, + "containers": { + "romm": { + "limit": 805306368, + "current": 487649280, + "peak": 677031936, + "anon": 456634368, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146456576, + "peak": 151334912, + "anon": 106270720, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23261184, + "peak": 40992768, + "anon": 14782464, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4035 + }, + { + "t": 227.6, + "containers": { + "romm": { + "limit": 805306368, + "current": 656879616, + "peak": 677031936, + "anon": 625414144, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146214912, + "peak": 151334912, + "anon": 106291200, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 23547904, + "peak": 40992768, + "anon": 14786560, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4321 + }, + { + "t": 242.7, + "containers": { + "romm": { + "limit": 805306368, + "current": 657428480, + "peak": 677031936, + "anon": 625446912, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146214912, + "peak": 151334912, + "anon": 106291200, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30670848, + "peak": 40992768, + "anon": 14786560, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4613 + }, + { + "t": 257.9, + "containers": { + "romm": { + "limit": 805306368, + "current": 658493440, + "peak": 677031936, + "anon": 626270208, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146223104, + "peak": 151334912, + "anon": 106291200, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30420992, + "peak": 40992768, + "anon": 14786560, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 4905 + }, + { + "t": 273.1, + "containers": { + "romm": { + "limit": 805306368, + "current": 517697536, + "peak": 677031936, + "anon": 485953536, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146223104, + "peak": 151334912, + "anon": 106291200, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 31207424, + "peak": 40992768, + "anon": 14786560, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5194 + }, + { + "t": 288.2, + "containers": { + "romm": { + "limit": 805306368, + "current": 658624512, + "peak": 677031936, + "anon": 626348032, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146247680, + "peak": 151334912, + "anon": 106315776, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30965760, + "peak": 40992768, + "anon": 14786560, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5479 + }, + { + "t": 303.4, + "containers": { + "romm": { + "limit": 805306368, + "current": 658100224, + "peak": 677031936, + "anon": 626417664, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146817024, + "peak": 151334912, + "anon": 106360832, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30437376, + "peak": 40992768, + "anon": 14766080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 5769 + }, + { + "t": 318.6, + "containers": { + "romm": { + "limit": 805306368, + "current": 658026496, + "peak": 677031936, + "anon": 626544640, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146575360, + "peak": 151334912, + "anon": 106381312, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30449664, + "peak": 40992768, + "anon": 14766080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6061 + }, + { + "t": 333.8, + "containers": { + "romm": { + "limit": 805306368, + "current": 658337792, + "peak": 677031936, + "anon": 626642944, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146595840, + "peak": 151334912, + "anon": 106381312, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30429184, + "peak": 40992768, + "anon": 14766080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6350 + }, + { + "t": 348.9, + "containers": { + "romm": { + "limit": 805306368, + "current": 658259968, + "peak": 677031936, + "anon": 626601984, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146821120, + "peak": 151334912, + "anon": 106381312, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30420992, + "peak": 40992768, + "anon": 14745600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6642 + }, + { + "t": 364.1, + "containers": { + "romm": { + "limit": 805306368, + "current": 658575360, + "peak": 677031936, + "anon": 626589696, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146313216, + "peak": 151334912, + "anon": 106381312, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30433280, + "peak": 40992768, + "anon": 14745600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 6934 + }, + { + "t": 379.3, + "containers": { + "romm": { + "limit": 805306368, + "current": 394735616, + "peak": 677031936, + "anon": 363958272, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146612224, + "peak": 151334912, + "anon": 106393600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30687232, + "peak": 40992768, + "anon": 14757888, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7172 + }, + { + "t": 394.5, + "containers": { + "romm": { + "limit": 805306368, + "current": 649101312, + "peak": 677031936, + "anon": 617758720, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146317312, + "peak": 151334912, + "anon": 106393600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30736384, + "peak": 40992768, + "anon": 14761984, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7302 + }, + { + "t": 409.6, + "containers": { + "romm": { + "limit": 805306368, + "current": 658845696, + "peak": 677031936, + "anon": 626556928, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146882560, + "peak": 151334912, + "anon": 106405888, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30748672, + "peak": 40992768, + "anon": 14761984, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7590 + }, + { + "t": 424.8, + "containers": { + "romm": { + "limit": 805306368, + "current": 658042880, + "peak": 677031936, + "anon": 626532352, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146333696, + "peak": 151334912, + "anon": 106405888, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30765056, + "peak": 40992768, + "anon": 14766080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 7882 + }, + { + "t": 440.0, + "containers": { + "romm": { + "limit": 805306368, + "current": 658612224, + "peak": 677031936, + "anon": 626601984, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146591744, + "peak": 151334912, + "anon": 106405888, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30519296, + "peak": 40992768, + "anon": 14766080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8175 + }, + { + "t": 455.1, + "containers": { + "romm": { + "limit": 805306368, + "current": 657948672, + "peak": 677031936, + "anon": 626589696, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146345984, + "peak": 151334912, + "anon": 106414080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30269440, + "peak": 40992768, + "anon": 14766080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8468 + }, + { + "t": 470.3, + "containers": { + "romm": { + "limit": 805306368, + "current": 658288640, + "peak": 677031936, + "anon": 626626560, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146595840, + "peak": 151334912, + "anon": 106418176, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30539776, + "peak": 40992768, + "anon": 14766080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 8760 + }, + { + "t": 485.5, + "containers": { + "romm": { + "limit": 805306368, + "current": 658665472, + "peak": 677031936, + "anon": 626651136, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146591744, + "peak": 151334912, + "anon": 106418176, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30801920, + "peak": 40992768, + "anon": 14766080, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9050 + }, + { + "t": 500.6, + "containers": { + "romm": { + "limit": 805306368, + "current": 495415296, + "peak": 677031936, + "anon": 463347712, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146636800, + "peak": 151334912, + "anon": 106418176, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30826496, + "peak": 40992768, + "anon": 14770176, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9340 + }, + { + "t": 515.8, + "containers": { + "romm": { + "limit": 805306368, + "current": 653656064, + "peak": 677031936, + "anon": 621977600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146350080, + "peak": 151334912, + "anon": 106418176, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30810112, + "peak": 40992768, + "anon": 14741504, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9604 + }, + { + "t": 531.0, + "containers": { + "romm": { + "limit": 805306368, + "current": 641413120, + "peak": 677031936, + "anon": 610189312, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146370560, + "peak": 151334912, + "anon": 106426368, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 30568448, + "peak": 40992768, + "anon": 14745600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 9894 + }, + { + "t": 546.2, + "containers": { + "romm": { + "limit": 805306368, + "current": 658223104, + "peak": 677031936, + "anon": 626339840, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146354176, + "peak": 151334912, + "anon": 106426368, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 37384192, + "peak": 46465024, + "anon": 14745600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10183 + }, + { + "t": 561.4, + "containers": { + "romm": { + "limit": 805306368, + "current": 658112512, + "peak": 677031936, + "anon": 626475008, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146362368, + "peak": 151334912, + "anon": 106426368, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 37015552, + "peak": 46465024, + "anon": 14745600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10473 + }, + { + "t": 576.5, + "containers": { + "romm": { + "limit": 805306368, + "current": 658378752, + "peak": 677031936, + "anon": 626630656, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146362368, + "peak": 151334912, + "anon": 106426368, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 37310464, + "peak": 46465024, + "anon": 14745600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 10762 + }, + { + "t": 591.7, + "containers": { + "romm": { + "limit": 805306368, + "current": 658681856, + "peak": 677031936, + "anon": 626647040, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146628608, + "peak": 151334912, + "anon": 106426368, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 37056512, + "peak": 46465024, + "anon": 14745600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11048 + }, + { + "t": 606.9, + "containers": { + "romm": { + "limit": 805306368, + "current": 556601344, + "peak": 677031936, + "anon": 525000704, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-db": { + "limit": 402653184, + "current": 146358272, + "peak": 151334912, + "anon": 106426368, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + }, + "romm-redis": { + "limit": 134217728, + "current": 37572608, + "peak": 46465024, + "anon": 14745600, + "oom_kill": 0, + "restarts": 0, + "oomkilled_flag": false, + "status": "running", + "cgroup": true + } + }, + "requests": 11332 + } +] \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/migration-lines.txt b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/migration-lines.txt new file mode 100644 index 00000000..2207d42d --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/migration-lines.txt @@ -0,0 +1,6 @@ +romm | INFO: [RomM][init][2026-09-23 21:47:51] Running database migrations +romm | INFO: [RomM][init][2026-09-23 21:48:04] Database migrations succeeded +romm-db | 2026-09-23 21:47:32+02:00 [Note] [Entrypoint]: Starting mariadb-upgrade +romm-db | The --upgrade-system-tables option was used, user tables won't be touched. +romm-db | Major version upgrade detected from 11.4.13-MariaDB to 11.8.9-MariaDB. Check required! +romm-db | Phase 1/8: Checking and upgrading mysql database \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/run.log b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/run.log new file mode 100644 index 00000000..b6822ab1 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/run.log @@ -0,0 +1,57 @@ +[19:45:39] MV-romm: deploying romm at FROM {'romm': 'rommapp/romm:5.3.1', 'romm-db': 'mariadb:11.4', 'romm-redis': 'redis:7-alpine'} +[19:46:54] FROM settled=True in 63.0s :: {"romm": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "romm-db": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "romm-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:47:21] romm: POST /api/users http=201 +[19:47:23] romm: login as the seeded user http=200 ok=True +[19:47:23] C1 (seed reads back BEFORE): True +[19:47:23] MV-romm: swapping to TO {'romm': 'rommapp/romm:5.3.1', 'romm-db': 'mariadb:11.8', 'romm-redis': 'redis:7-alpine'} +[19:47:51] TO up -d rc=0 +[19:48:54] TO settled=True in 62.7s :: {"romm": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "romm-db": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}, "romm-redis": {"status": "running", "health": "healthy", "restarts": 0, "exit": 0}} +[19:48:54] engine state romm-db: 11.8.9-MariaDB | This installation of MariaDB is already upgraded to 11.8.9-MariaDB. There is no need to run mariadb-upgrade again. [exit=1] +[19:48:54] migration lines observed: 6 +[19:48:56] romm: login as the seeded user http=200 ok=True +[19:48:56] RESULT (seed reads back AFTER): True +[19:48:56] memory watch: 600s, 4 callers on 8 path(s) at 172.18.0.7:8080 +[19:49:11] + 15s romm=643M/768M peak=644M kills=0 rs=0 romm-db=138M/384M peak=141M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=287 +[19:49:26] + 30s romm=638M/768M peak=645M kills=0 rs=0 romm-db=137M/384M peak=141M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=578 +[19:49:42] + 46s romm=628M/768M peak=645M kills=0 rs=0 romm-db=138M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=869 +[19:49:57] + 61s romm=629M/768M peak=645M kills=0 rs=0 romm-db=138M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=1159 +[19:50:12] + 76s romm=629M/768M peak=645M kills=0 rs=0 romm-db=138M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=1449 +[19:50:27] + 91s romm=628M/768M peak=645M kills=0 rs=0 romm-db=138M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=1739 +[19:50:42] + 106s romm=629M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=2029 +[19:50:58] + 121s romm=585M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=2319 +[19:51:13] + 137s romm=529M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=142M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=2596 +[19:51:28] + 152s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=2882 +[19:51:43] + 167s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=3174 +[19:51:58] + 182s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=3462 +[19:52:13] + 197s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=3745 +[19:52:29] + 212s romm=465M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=4035 +[19:52:44] + 228s romm=626M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=22M/128M peak=39M kills=0 rs=0 reqs=4321 +[19:52:59] + 243s romm=626M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=4613 +[19:53:14] + 258s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=4905 +[19:53:29] + 273s romm=493M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=5194 +[19:53:44] + 288s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=5479 +[19:54:00] + 303s romm=627M/768M peak=645M kills=0 rs=0 romm-db=140M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=5769 +[19:54:15] + 319s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=6061 +[19:54:30] + 334s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=6350 +[19:54:45] + 349s romm=627M/768M peak=645M kills=0 rs=0 romm-db=140M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=6642 +[19:55:00] + 364s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=6934 +[19:55:15] + 379s romm=376M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=7172 +[19:55:31] + 394s romm=619M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=7302 +[19:55:46] + 410s romm=628M/768M peak=645M kills=0 rs=0 romm-db=140M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=7590 +[19:56:01] + 425s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=7882 +[19:56:16] + 440s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=8175 +[19:56:31] + 455s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=28M/128M peak=39M kills=0 rs=0 reqs=8468 +[19:56:46] + 470s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=8760 +[19:57:02] + 486s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=9050 +[19:57:17] + 501s romm=472M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=9340 +[19:57:32] + 516s romm=623M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=9604 +[19:57:47] + 531s romm=611M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=29M/128M peak=39M kills=0 rs=0 reqs=9894 +[19:58:02] + 546s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=35M/128M peak=44M kills=0 rs=0 reqs=10183 +[19:58:17] + 561s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=35M/128M peak=44M kills=0 rs=0 reqs=10473 +[19:58:33] + 576s romm=627M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=35M/128M peak=44M kills=0 rs=0 reqs=10762 +[19:58:48] + 592s romm=628M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=35M/128M peak=44M kills=0 rs=0 reqs=11048 +[19:59:03] + 607s romm=530M/768M peak=645M kills=0 rs=0 romm-db=139M/384M peak=144M kills=0 rs=0 romm-redis=35M/128M peak=44M kills=0 rs=0 reqs=11332 +[19:59:03] memory watch: killed=False tight=[] requests=11332 codes={'200': 5664, '401': 5668} +[19:59:03] MV-romm: ABORT — putting the FROM images back +[20:00:03] romm: login as the seeded user http=200 ok=True +[20:00:03] ABORT: app came back in 31.3s; data present=True \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/to-full.log b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/to-full.log new file mode 100644 index 00000000..c9f51680 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/to-full.log @@ -0,0 +1,180 @@ +romm-db | 2026-09-23 21:47:30+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.8.9+maria~ubu2404 started. +romm-db | 2026-09-23 21:47:31+02:00 [Warn] [Entrypoint]: /sys/fs/cgroup///memory.pressure not writable, functionality unavailable to MariaDB +romm-db | 2026-09-23 21:47:31+02:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +romm-db | 2026-09-23 21:47:31+02:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.8.9+maria~ubu2404 started. +romm-db | 2026-09-23 21:47:31+02:00 [Note] [Entrypoint]: Starting temporary server +romm-db | 2026-09-23 21:47:31+02:00 [Note] [Entrypoint]: Waiting for server startup +romm-db | 2026-09-23 21:47:31 0 [Note] Starting MariaDB 11.8.9-MariaDB-ubu2404 source revision bf9193a939f515e95dd8def1a5468088c91cede6 server_uid M1Ysub1BDlKHQoyUdFdL1gn45UI= as process 55 +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: Compressed tables use zlib 1.3 +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: Number of transaction pools: 1 +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +romm-db | 2026-09-23 21:47:31 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +romm | INFO: [RomM][init][2026-09-23 21:47:51] _____ __ __ +romm | INFO: [RomM][init][2026-09-23 21:47:51] | __ \ | \/ | +romm | INFO: [RomM][init][2026-09-23 21:47:51] | |__) |___ _ __ ___ | \ / | +romm | INFO: [RomM][init][2026-09-23 21:47:51] | _ // _ \| '_ ` _ \| |\/| | +romm | INFO: [RomM][init][2026-09-23 21:47:51] | | \ \ (_) | | | | | | | | | +romm | INFO: [RomM][init][2026-09-23 21:47:51] |_| \_\___/|_| |_| |_|_| |_| +romm-redis | 1:C 23 Sep 2026 21:45:40.605 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. +romm-redis | 1:C 23 Sep 2026 21:45:40.605 * oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo +romm-redis | 1:C 23 Sep 2026 21:45:40.605 * Redis version=7.4.11, bits=64, commit=00000000, modified=0, pid=1, just started +romm | INFO: [RomM][init][2026-09-23 21:47:51] +romm-db | create_uring failed: falling back to libaio +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: Using Linux native AIO +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: Completed initialization of buffer pool +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: End of log at LSN=5426280 +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: Opened 3 undo tablespaces +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +romm-db | 2026-09-23 21:47:31 0 [Note] InnoDB: log sequence number 5426280; transaction id 3185 +romm-db | 2026-09-23 21:47:31 0 [Note] Plugin 'FEEDBACK' is disabled. +romm | INFO: [RomM][init][2026-09-23 21:47:51] The beautiful, powerful, self-hosted Rom manager and player +romm | INFO: [RomM][init][2026-09-23 21:47:51] +romm | INFO: [RomM][init][2026-09-23 21:47:51] Version: 5.3.1 +romm | INFO: [RomM][init][2026-09-23 21:47:51] +romm | INFO: [RomM][init][2026-09-23 21:47:51] No OpenTelemetry environment variables found, disabling OpenTelemetry SDK +romm | INFO: [RomM][init][2026-09-23 21:47:51] REDIS_HOST is set, not starting internal valkey-server +romm | INFO: [RomM][init][2026-09-23 21:47:51] Running database migrations +romm | INFO: [RomM][init][2026-09-23 21:48:04] Database migrations succeeded +romm | INFO: [RomM][startup][2026-09-23 21:48:19] Running startup tasks +romm | INFO: [RomM][startup][2026-09-23 21:48:19] Initializing cache with fixtures data +romm | INFO: [RomM][startup][2026-09-23 21:48:19] Startup tasks completed +romm | INFO: [RomM][init][2026-09-23 21:48:20] Starting backend +romm | INFO: [RomM][init][2026-09-23 21:48:20] Starting RQ cron scheduler +romm | INFO: [RomM][init][2026-09-23 21:48:20] Starting RQ worker +romm | INFO: [RomM][init][2026-09-23 21:48:20] Starting RQ scan worker +romm | INFO: [RomM][init][2026-09-23 21:48:23] Starting nginx +romm | INFO: [RomM][init][2026-09-23 21:48:23] 🚀 RomM is now available at http://0.0.0.0:8080 +romm | 21:48:23 Worker cc2a1be30f7b49d196628423028c46d3: started with PID 74, version 2.12.0 +romm | 21:48:23 Worker cc2a1be30f7b49d196628423028c46d3: subscribing to channel rq:pubsub:cc2a1be30f7b49d196628423028c46d3 +romm | 21:48:23 *** Listening on high, default, low... +romm | 21:48:23 Acquired scheduler lock for high +romm | 21:48:23 Acquired scheduler lock for default +romm | 21:48:23 Acquired scheduler lock for low +romm-db | 2026-09-23 21:47:31 0 [Note] Plugin 'wsrep-provider' is disabled. +romm | 21:48:23 Scheduler for high, default, low started with PID 113 +romm-db | 2026-09-23 21:47:32 0 [Note] mariadbd: ready for connections. +romm | 21:48:23 Worker 4930deda03d544e8b3a707e0ab402cca: started with PID 77, version 2.12.0 +romm-db | Version: '11.8.9-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 0 mariadb.org binary distribution +romm | 21:48:23 Worker 4930deda03d544e8b3a707e0ab402cca: subscribing to channel rq:pubsub:4930deda03d544e8b3a707e0ab402cca +romm-db | 2026-09-23 21:47:32+02:00 [Note] [Entrypoint]: Temporary server started. +romm-redis | 1:C 23 Sep 2026 21:45:40.605 * Configuration loaded +romm-db | 2026-09-23 21:47:32+02:00 [Note] [Entrypoint]: Backing up system database to system_mysql_backup_11.4.13-MariaDB.sql.zst +romm-redis | 1:M 23 Sep 2026 21:45:40.606 * monotonic clock: POSIX clock_gettime +romm-db | 2026-09-23 21:47:32+02:00 [Note] [Entrypoint]: Backing up complete +romm-redis | 1:M 23 Sep 2026 21:45:40.607 * Running mode=standalone, port=6379. +romm-db | 2026-09-23 21:47:32+02:00 [Note] [Entrypoint]: Starting mariadb-upgrade +romm-redis | 1:M 23 Sep 2026 21:45:40.607 * Server initialized +romm-db | The --upgrade-system-tables option was used, user tables won't be touched. +romm-redis | 1:M 23 Sep 2026 21:45:40.611 * Creating AOF base file appendonly.aof.1.base.rdb on server start +romm-db | Major version upgrade detected from 11.4.13-MariaDB to 11.8.9-MariaDB. Check required! +romm-redis | 1:M 23 Sep 2026 21:45:40.619 * Creating AOF incr file appendonly.aof.1.incr.aof on server start +romm-db | Phase 1/8: Checking and upgrading mysql database +romm-redis | 1:M 23 Sep 2026 21:45:40.619 * Ready to accept connections tcp +romm-db | Processing databases +romm-redis | 1:M 23 Sep 2026 21:46:46.084 * 10000 changes in 60 seconds. Saving... +romm-db | mysql +romm-db | mysql.column_stats OK +romm | 21:48:23 *** Listening on scans... +romm | 21:48:23 Acquired scheduler lock for scans +romm | 21:48:24 Loading cron configuration from tasks.cron_config +romm | 21:48:24 Scheduler for scans started with PID 117 +romm | INFO: [RomM][cron_config][2026-09-23 21:48:36] Scheduled 'build_recommendations' at '30 5 * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:48:36] Scheduled 'cleanup_zip_cache' at '0 4 * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:48:36] Scheduled 'cleanup_netplay' at '*/30 * * * *' +romm | INFO: [RomM][cron_config][2026-09-23 21:48:36] Scheduled 'cleanup_upload_tmp' at '0 * * * *' +romm | 21:48:36 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '30 5 * * *' +romm | 21:48:36 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '0 4 * * *' +romm | 21:48:36 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '*/30 * * * *' +romm | 21:48:36 Registered 'tasks.tasks.run_task_by_name' to run on low with cron schedule '0 * * * *' +romm | 21:48:36 Successfully registered 4 cron jobs from 'tasks.cron_config' +romm-redis | 1:M 23 Sep 2026 21:46:46.091 * Background saving started by pid 54 +romm-redis | 54:C 23 Sep 2026 21:46:46.172 * DB saved on disk +romm-redis | 54:C 23 Sep 2026 21:46:46.175 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +romm-redis | 1:M 23 Sep 2026 21:46:46.192 * Background saving terminated with success +romm-redis | 1:M 23 Sep 2026 21:47:47.021 * 10000 changes in 60 seconds. Saving... +romm-redis | 1:M 23 Sep 2026 21:47:47.022 * Background saving started by pid 89 +romm-redis | 89:C 23 Sep 2026 21:47:47.208 * DB saved on disk +romm-redis | 89:C 23 Sep 2026 21:47:47.209 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB +romm-redis | 1:M 23 Sep 2026 21:47:47.225 * Background saving terminated with success +romm-db | mysql.columns_priv OK +romm-db | mysql.db OK +romm-db | mysql.event OK +romm-db | mysql.func OK +romm-db | mysql.global_priv OK +romm-db | mysql.gtid_slave_pos OK +romm-db | mysql.help_category OK +romm-db | mysql.help_keyword OK +romm-db | mysql.help_relation OK +romm-db | mysql.help_topic OK +romm-db | mysql.index_stats OK +romm-db | mysql.innodb_index_stats OK +romm-db | mysql.innodb_table_stats OK +romm-db | mysql.plugin OK +romm-db | mysql.proc OK +romm-db | mysql.procs_priv OK +romm-db | mysql.proxies_priv OK +romm-db | mysql.roles_mapping OK +romm | 21:48:36 CronScheduler 0a5a2d75b1b2:71:01662e: starting... +romm | 21:48:36 CronScheduler 0a5a2d75b1b2:71:01662e: registering birth... +romm | INFO: [RomM][server][2026-09-23 21:48:43] Started server process [97] +romm | INFO: [RomM][on][2026-09-23 21:48:43] Waiting for application startup. +romm | INFO: [RomM][on][2026-09-23 21:48:43] Application startup complete. +romm | INFO: [RomM][logs][2026-09-23 21:48:43] Log stream forwarder started +romm | INFO: [RomM][server][2026-09-23 21:48:44] Started server process [96] +romm | INFO: [RomM][on][2026-09-23 21:48:44] Waiting for application startup. +romm | INFO: [RomM][on][2026-09-23 21:48:44] Application startup complete. +romm-db | mysql.servers OK +romm-db | mysql.table_stats OK +romm-db | mysql.tables_priv OK +romm-db | mysql.time_zone OK +romm-db | mysql.time_zone_leap_second OK +romm-db | mysql.time_zone_name OK +romm-db | mysql.time_zone_transition OK +romm-db | mysql.time_zone_transition_type OK +romm-db | mysql.transaction_registry OK +romm-db | Phase 2/8: Installing used storage engines... Skipped +romm-db | Phase 3/8: Running 'mysql_fix_privilege_tables' +romm-db | Phase 4/8: Fixing views... Skipped +romm-db | Phase 5/8: Fixing table and database names ... Skipped +romm-db | Phase 6/8: Checking and upgrading tables... Skipped +romm-db | Phase 7/8: uninstalling plugins +romm-db | Phase 8/8: Running 'FLUSH PRIVILEGES' +romm-db | OK +romm-db | 2026-09-23 21:47:44+02:00 [Note] [Entrypoint]: Finished mariadb-upgrade +romm-db | 2026-09-23 21:47:44+02:00 [Note] [Entrypoint]: Stopping temporary server +romm-db | 2026-09-23 21:47:44 0 [Note] mariadbd (initiated by: unknown): Normal shutdown +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: FTS optimize thread exiting. +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Starting shutdown... +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Removed temporary tablespace data file: "./ibtmp1" +romm-db | 2026-09-23 21:47:44 0 [Note] Shutdown completed; log sequence number 5426444; transaction id 3189 +romm-db | 2026-09-23 21:47:44 0 [Note] mariadbd: Shutdown complete +romm-db | 2026-09-23 21:47:44+02:00 [Note] [Entrypoint]: Temporary server stopped +romm-db | 2026-09-23 21:47:44 0 [Note] Starting MariaDB 11.8.9-MariaDB-ubu2404 source revision bf9193a939f515e95dd8def1a5468088c91cede6 server_uid M1Ysub1BDlKHQoyUdFdL1gn45UI= as process 1 +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Compressed tables use zlib 1.3 +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Number of transaction pools: 1 +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions +romm-db | 2026-09-23 21:47:44 0 [Warning] mariadbd: io_uring_queue_init() failed with EPERM: sysctl kernel.io_uring_disabled has the value 2, or 1 and the user of the process is not a member of sysctl kernel.io_uring_group. (see man 2 io_uring_setup). +romm-db | create_uring failed: falling back to libaio +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Using Linux native AIO +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: innodb_buffer_pool_size_max=8388608m, innodb_buffer_pool_size=128m +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Completed initialization of buffer pool +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes) +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: End of log at LSN=5426444 +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Opened 3 undo tablespaces +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active. +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ... +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB. +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: log sequence number 5426444; transaction id 3186 +romm-db | 2026-09-23 21:47:44 0 [Note] Plugin 'FEEDBACK' is disabled. +romm-db | 2026-09-23 21:47:44 0 [Note] Plugin 'wsrep-provider' is disabled. +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool +romm-db | 2026-09-23 21:47:44 0 [Note] InnoDB: Buffer pool(s) load completed at 260923 21:47:44 +romm-db | 2026-09-23 21:47:48 0 [Note] Server socket created on IP: '0.0.0.0', port: '3306'. +romm-db | 2026-09-23 21:47:48 0 [Note] Server socket created on IP: '::', port: '3306'. +romm-db | 2026-09-23 21:47:48 0 [Note] mariadbd: Event Scheduler: Loaded 0 events +romm-db | 2026-09-23 21:47:48 0 [Note] mariadbd: ready for connections. +romm-db | Version: '11.8.9-MariaDB-ubu2404' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/to-states.json b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/to-states.json new file mode 100644 index 00000000..1c7ad7de --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/to-states.json @@ -0,0 +1,20 @@ +{ + "romm": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "romm-db": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + }, + "romm-redis": { + "status": "running", + "health": "healthy", + "restarts": 0, + "exit": 0 + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/verdict.json b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/verdict.json new file mode 100644 index 00000000..7701003e --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/bench/evidence/MV-romm/verdict.json @@ -0,0 +1,83 @@ +{ + "harness_version": 3, + "edge": "MV-romm", + "app": "romm", + "note": "night 2026-09-23 within-a-major move: romm-db=mariadb:11.8", + "from": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.4", + "romm-redis": "redis:7-alpine" + }, + "to": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.8", + "romm-redis": "redis:7-alpine" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "\u001b[2Kromm | \u001b[0;32mINFO: \u001b[0;34m[RomM]\u001b[0;95m[init]\u001b[0;36m[2026-09-23 21:47:51]\u001b[0;00m Running database migrations", + "abort": "starts-and-serves", + "abort_detail": null, + "engine_state_after": { + "romm-db": { + "image": "mariadb:11.8", + "probe": "datadir version | the engine's own upgrade verdict", + "answer": "11.8.9-MariaDB | This installation of MariaDB is already upgraded to 11.8.9-MariaDB. There is no need to run mariadb-upgrade again. [exit=1]", + "probe_rc": 0 + } + }, + "memory": { + "soak_s": 607.1, + "requested_s": 600, + "requests": 11332, + "codes": { + "200": 5664, + "401": 5668 + }, + "first_kill": null, + "containers": { + "romm": { + "limit": 805306368, + "peak": 677031936, + "peak_pct": 0.841, + "anon_peak_sampled": 627875840, + "anon_peak_pct": 0.78, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "romm-db": { + "limit": 402653184, + "peak": 151334912, + "peak_pct": 0.376, + "anon_peak_sampled": 106426368, + "anon_peak_pct": 0.264, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + }, + "romm-redis": { + "limit": 134217728, + "peak": 46465024, + "peak_pct": 0.346, + "anon_peak_sampled": 14897152, + "anon_peak_pct": 0.111, + "oom_kills": 0, + "restarts": 0, + "oomkilled_flag": false, + "measured": true + } + }, + "unmeasured": [] + }, + "marks": [], + "duration_s": 62.7, + "measured_at": "2026-09-23T20:00:03Z", + "evidence": "evidence/MV-romm", + "files_changed": [], + "total_s": 864.0 +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/log.txt b/documentation/audits/night-2026-09-23/apps/romm-engine/log.txt new file mode 100644 index 00000000..58e6a41e --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/log.txt @@ -0,0 +1,36 @@ +21:45:33 ==== romm: mariadb:11.4 -> mariadb:11.8 (sub=arcade, class=engine-mariadb) +21:45:41 [1] made the drive paths this app requires: ['/mnt/felhom-drives/scratch_hdd/userdata/romm'] +21:45:41 [1] required fields filled beyond DOMAIN/SUBDOMAIN: ['HDD_PATH'] +21:45:42 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'} +21:47:07 [1] deployed, controller state=unhealthy, pinned={'romm': 'rommapp/romm:5.3.1', 'romm-db': 'mariadb:11.4', 'romm-redis': 'redis:7-alpine'} +21:47:07 [1] NOTE: the controller's own state is 'unhealthy', not 'running' — recorded, not treated as a failure; the fixture's front-door wait is the real gate +21:47:12 [2] seeding through the app's own front door +21:47:25 romm: POST /api/users http=201 +21:47:25 [3] control C1 — reading the seed back BEFORE the update +21:47:27 romm: login as the seeded user http=200 ok=True +21:47:27 [4] backup press SKIPPED for romm (R-648: whole-box only; the update's backing-up phase backs up romm alone) +21:47:28 [5] drill commit 436d5b1712e6: romm mariadb:11.4 -> mariadb:11.8 (push rc=0) +21:47:57 [sync] the badge needed 29.2s and 5 sync+rescan rounds to catch up to mariadb:11.8 — R-607's window, measured +21:47:57 [5] badge HU: [{'title': 'Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.', 'text': 'Frissítés elérhető — ma'}] +21:47:57 [5] badge EN: [{'title': 'A newer version of this app is available. Select the Update button to start it.', 'text': 'Update available — today'}] +21:47:57 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'} +21:47:57 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None +21:48:00 + 2.1s phase=pulling label=Új verzió letöltése… err=None hold=None +21:48:02 + 4.1s phase=copying label=Az adatok másolása a frissítés előtt… err=None hold=None +21:48:10 + 12.4s phase=starting label=Indítás az új verzióval… err=None hold=None +21:48:26 + 28.8s phase=verifying label=Működés ellenőrzése… err=None hold=None +21:49:07 + 69.8s phase=done label=Frissítve err=None hold=None +21:49:07 [7] reading the seed back AFTER the update +21:49:18 romm: login as the seeded user http=200 ok=True +21:49:22 [8] pinned = {'romm': 'rommapp/romm:5.3.1', 'romm-db': 'mariadb:11.8', 'romm-redis': 'redis:7-alpine'} +21:49:22 [8] installed = {'romm': 'rommapp/romm:5.3.1', 'romm-db': 'mariadb:11.8', 'romm-redis': 'redis:7-alpine'} +21:49:22 [8] compose = ['image: rommapp/romm:5.3.1', 'image: mariadb:11.8', 'image: redis:7-alpine'] +21:49:22 [8] inspect = ['romm-db mariadb:11.8 running=true restarts=0', 'romm rommapp/romm:5.3.1 running=true restarts=0', 'romm-redis redis:7-alpine running=true restarts=0'] +21:49:22 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/romm-engine/verdict.json +21:49:28 [X] stop -> 200 {'ok': True, 'message': 'Stack romm stop completed'} +21:49:33 [X] remove (with drive data) -> 409 {'ok': False, 'error': 'A(z) /mnt/felhom-drives/scratch_hdd/userdata/romm tárhely jelenleg nem elérhető — az alkalmazás nem távolítható el, amíg a meghajtó viss +21:49:33 [X] refused because the drive path cannot be resolved (R-442, fail-closed and right) — removing the app and KEEPING the drive data instead +21:49:59 [X] remove (keeping drive data) -> 200 {'ok': True, 'data': {'removed': 'romm', 'volumes_removed': ['romm_romm_config', 'romm_romm_db_data', 'romm_romm_redis_data'], 'hdd_paths_removed': [], 'hdd_pat +21:50:08 [X] after remove: deployed=False leftovers='/opt/docker/stacks/romm' +21:51:11 [X] R-626 check +60 s after remove: 'clean' +21:51:11 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/romm-engine/verdict.json diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/observables-before.json b/documentation/audits/night-2026-09-23/apps/romm-engine/observables-before.json new file mode 100644 index 00000000..21d9a0bb --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/observables-before.json @@ -0,0 +1,27 @@ +{ + "pinned_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.4", + "romm-redis": "redis:7-alpine" + }, + "installed_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.4", + "romm-redis": "redis:7-alpine" + }, + "catalog_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.4", + "romm-redis": "redis:7-alpine" + }, + "live_compose_image_lines": [ + "image: rommapp/romm:5.3.1", + "image: mariadb:11.4", + "image: redis:7-alpine" + ], + "docker_inspect": [ + "romm rommapp/romm:5.3.1 running=true restarts=0", + "romm-db mariadb:11.4 running=true restarts=0", + "romm-redis redis:7-alpine running=true restarts=0" + ] +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/observables.json b/documentation/audits/night-2026-09-23/apps/romm-engine/observables.json new file mode 100644 index 00000000..7a9c0f8c --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/observables.json @@ -0,0 +1,56 @@ +{ + "before": { + "pinned_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.4", + "romm-redis": "redis:7-alpine" + }, + "installed_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.4", + "romm-redis": "redis:7-alpine" + }, + "catalog_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.4", + "romm-redis": "redis:7-alpine" + }, + "live_compose_image_lines": [ + "image: rommapp/romm:5.3.1", + "image: mariadb:11.4", + "image: redis:7-alpine" + ], + "docker_inspect": [ + "romm rommapp/romm:5.3.1 running=true restarts=0", + "romm-db mariadb:11.4 running=true restarts=0", + "romm-redis redis:7-alpine running=true restarts=0" + ] + }, + "after": { + "pinned_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.8", + "romm-redis": "redis:7-alpine" + }, + "installed_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.8", + "romm-redis": "redis:7-alpine" + }, + "catalog_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.8", + "romm-redis": "redis:7-alpine" + }, + "live_compose_image_lines": [ + "image: rommapp/romm:5.3.1", + "image: mariadb:11.8", + "image: redis:7-alpine" + ], + "docker_inspect": [ + "romm-db mariadb:11.8 running=true restarts=0", + "romm rommapp/romm:5.3.1 running=true restarts=0", + "romm-redis redis:7-alpine running=true restarts=0" + ] + } +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/phases.json b/documentation/audits/night-2026-09-23/apps/romm-engine/phases.json new file mode 100644 index 00000000..fecf8cf9 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/phases.json @@ -0,0 +1,59 @@ +{ + "accepted": true, + "http": "202", + "phases": [ + { + "t": 0.0, + "phase": "safety-dump", + "label": "Adatbázis pillanatkép…", + "updating": true, + "error": null, + "hold": null + }, + { + "t": 2.1, + "phase": "pulling", + "label": "Új verzió letöltése…", + "updating": true, + "error": null, + "hold": null + }, + { + "t": 4.1, + "phase": "copying", + "label": "Az adatok másolása a frissítés előtt…", + "updating": true, + "error": null, + "hold": null + }, + { + "t": 12.4, + "phase": "starting", + "label": "Indítás az új verzióval…", + "updating": true, + "error": null, + "hold": null + }, + { + "t": 28.8, + "phase": "verifying", + "label": "Működés ellenőrzése…", + "updating": true, + "error": null, + "hold": null + }, + { + "t": 69.8, + "phase": "done", + "label": "Frissítve", + "updating": false, + "error": null, + "hold": null + } + ], + "duration_s": 69.8, + "final_phase": "done", + "update_error": null, + "hold_reason": null, + "state": "running" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/apps/romm-engine/verdict.json b/documentation/audits/night-2026-09-23/apps/romm-engine/verdict.json new file mode 100644 index 00000000..ebd31c59 --- /dev/null +++ b/documentation/audits/night-2026-09-23/apps/romm-engine/verdict.json @@ -0,0 +1,59 @@ +{ + "harness_version": 1, + "app": "romm", + "venue": "guest 9202 demo-hp-scratch, controller 0.267.0, drill catalog", + "class": "engine-mariadb", + "from": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.4", + "romm-redis": "redis:7-alpine" + }, + "to": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.8", + "romm-redis": "redis:7-alpine" + }, + "verdict": "proven", + "seed_read_before": true, + "seed_read_after": true, + "healthy_after": true, + "migration_observed": "romm | \u001b[0;32mINFO: \u001b[0;34m[RomM]\u001b[0;95m[init]\u001b[0;36m[2026-09-23 21:45:59]\u001b[0;00m Running database migrations", + "abort": "not-attempted", + "abort_detail": null, + "duration_s": 69.8, + "measured_at": "2026-09-23T19:45:33.877874+00:00", + "evidence": "apps/romm/", + "notes": [], + "badge_catchup_seconds": 29.2, + "observables_after": { + "pinned_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.8", + "romm-redis": "redis:7-alpine" + }, + "installed_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.8", + "romm-redis": "redis:7-alpine" + }, + "catalog_images": { + "romm": "rommapp/romm:5.3.1", + "romm-db": "mariadb:11.8", + "romm-redis": "redis:7-alpine" + }, + "live_compose_image_lines": [ + "image: rommapp/romm:5.3.1", + "image: mariadb:11.8", + "image: redis:7-alpine" + ], + "docker_inspect": [ + "romm-db mariadb:11.8 running=true restarts=0", + "romm rommapp/romm:5.3.1 running=true restarts=0", + "romm-redis redis:7-alpine running=true restarts=0" + ] + }, + "final_phase": "done", + "hold_reason": null, + "update_error": null, + "r626_at_60s": "clean" +} \ No newline at end of file diff --git a/documentation/audits/night-2026-09-23/benchq-Q1.txt b/documentation/audits/night-2026-09-23/benchq-Q1.txt index 218f9389..06d648f1 100644 --- a/documentation/audits/night-2026-09-23/benchq-Q1.txt +++ b/documentation/audits/night-2026-09-23/benchq-Q1.txt @@ -5,3 +5,7 @@ 21:24:29 START adventurelog ['adventurelog=ghcr.io/seanmorley15/adventurelog-backend:v0.13.0', 'adventurelog-frontend=ghcr.io/seanmorley15/adventurelog-frontend:v0.13.0'] 21:36:22 DONE adventurelog rc=0 verdict=failed read_before=True read_after=True abort=starts-and-serves marks=[] peaks={} detail='None' (713s) 21:36:22 START n8n ['n8n=n8nio/n8n:2.41.1'] +21:49:49 DONE n8n rc=0 verdict=proven read_before=True read_after=True abort=starts-and-serves marks=[] peaks={'n8n': 0.468} detail='None' (807s) +21:49:49 START gitea ['gitea=gitea/gitea:1.27.3'] +21:50:33 DONE gitea rc=0 verdict=inconclusive read_before=False read_after=False abort=not-attempted marks=[] peaks={} detail='no non-browser seed route' (44s) +21:50:33 QUEUE Q1 FINISHED diff --git a/documentation/audits/night-2026-09-23/benchq-Q10.txt b/documentation/audits/night-2026-09-23/benchq-Q10.txt new file mode 100644 index 00000000..e2a5db69 --- /dev/null +++ b/documentation/audits/night-2026-09-23/benchq-Q10.txt @@ -0,0 +1,3 @@ +21:45:32 START romm ['romm-db=mariadb:11.8'] +22:00:16 DONE romm rc=0 verdict=proven read_before=True read_after=True abort=starts-and-serves marks=[] peaks={'romm': 0.841, 'romm-db': 0.376, 'romm-redis': 0.346} detail='None' (884s) +22:00:16 QUEUE Q10 FINISHED diff --git a/documentation/audits/night-2026-09-23/benchq-Q11.txt b/documentation/audits/night-2026-09-23/benchq-Q11.txt new file mode 100644 index 00000000..2798c1d7 --- /dev/null +++ b/documentation/audits/night-2026-09-23/benchq-Q11.txt @@ -0,0 +1 @@ +22:01:25 START nextcloud ['nextcloud=nextcloud:34.0.4-apache'] diff --git a/documentation/audits/night-2026-09-23/benchq-Q2.txt b/documentation/audits/night-2026-09-23/benchq-Q2.txt index e7d48867..df113a47 100644 --- a/documentation/audits/night-2026-09-23/benchq-Q2.txt +++ b/documentation/audits/night-2026-09-23/benchq-Q2.txt @@ -9,3 +9,5 @@ 21:30:14 START navidrome ['navidrome=deluan/navidrome:0.64.1'] 21:42:16 DONE navidrome rc=0 verdict=proven read_before=True read_after=True abort=starts-and-serves marks=[] peaks={'navidrome': 0.092} detail='None' (722s) 21:42:16 START emby ['emby=emby/embyserver:4.11.0.3'] +21:54:47 DONE emby rc=0 verdict=proven read_before=True read_after=True abort=starts-and-serves marks=[] peaks={'emby': 0.079} detail='None' (751s) +21:54:47 QUEUE Q2 FINISHED diff --git a/documentation/audits/night-2026-09-23/benchq-Q7.txt b/documentation/audits/night-2026-09-23/benchq-Q7.txt index f8a7d311..fc4780de 100644 --- a/documentation/audits/night-2026-09-23/benchq-Q7.txt +++ b/documentation/audits/night-2026-09-23/benchq-Q7.txt @@ -1 +1,5 @@ 21:34:55 START komga ['komga=gotson/komga:1.27.1'] +21:46:55 DONE komga rc=0 verdict=proven read_before=True read_after=True abort=starts-and-serves marks=[] peaks={'komga': 0.768} detail='None' (720s) +21:46:55 START immich ['immich-machine-learning=ghcr.io/immich-app/immich-machine-learning:v3.2.2'] +21:59:05 DONE immich rc=0 verdict=proven read_before=True read_after=True abort=starts-and-serves marks=[] peaks={'immich-machine-learning': 0.162, 'immich-postgres': 1.001, 'immich-redis': 0.063, 'immich-server': 0.682} detail='None' (730s) +21:59:05 QUEUE Q7 FINISHED diff --git a/documentation/audits/night-2026-09-23/benchq-Q8.txt b/documentation/audits/night-2026-09-23/benchq-Q8.txt index ed2d7071..35f658b5 100644 --- a/documentation/audits/night-2026-09-23/benchq-Q8.txt +++ b/documentation/audits/night-2026-09-23/benchq-Q8.txt @@ -1 +1,3 @@ 21:41:42 START nextcloud ['nextcloud=nextcloud:34.0.4-apache'] +21:50:01 DONE nextcloud rc=0 verdict=inconclusive read_before=False read_after=False abort=not-attempted marks=[] peaks={} detail='no non-browser seed route' (499s) +21:50:01 QUEUE Q8 FINISHED diff --git a/documentation/audits/night-2026-09-23/benchq-Q9.txt b/documentation/audits/night-2026-09-23/benchq-Q9.txt new file mode 100644 index 00000000..d293ef65 --- /dev/null +++ b/documentation/audits/night-2026-09-23/benchq-Q9.txt @@ -0,0 +1,3 @@ +21:45:07 START kimai ['kimai-db=mariadb:11.8'] +21:59:06 DONE kimai rc=0 verdict=proven read_before=True read_after=True abort=starts-and-serves marks=[] peaks={'kimai': 1.0, 'kimai-db': 0.517} detail='None' (839s) +21:59:06 QUEUE Q9 FINISHED diff --git a/documentation/audits/night-2026-09-23/benchq.py b/documentation/audits/night-2026-09-23/benchq.py index efa326d4..5b051a65 100644 --- a/documentation/audits/night-2026-09-23/benchq.py +++ b/documentation/audits/night-2026-09-23/benchq.py @@ -13,12 +13,18 @@ args = sys.argv[2:] out = open(os.path.join(HERE, f"benchq-{q}.txt"), "a", buffering=1) for i in range(0, len(args), 2): app, moves = args[i], args[i + 1].split(",") + label = app + if "@" in app: # romm@engine: a second edge of one app gets its own folder + app, tag = app.split("@", 1) + label = f"{app}-{tag}" t0 = time.time() out.write(f"{time.strftime('%H:%M:%S')} START {app} {moves}\n") + pre = f"cd /opt/upg && [ -d evidence/MV-{app} ] && mv evidence/MV-{app} evidence/MV-{app}-$(date +%s); " + subprocess.run([BENCH], input=pre, capture_output=True, text=True, timeout=120) cmd = (f"cd /opt/upg && timeout 2400 python3 upgrade-test.py --soak 600 --move {app} {' '.join(moves)} " f"> /opt/upg/MV-{app}.log 2>&1; echo rc=$?") r = subprocess.run([BENCH], input=cmd, capture_output=True, text=True, timeout=2700) - dest = os.path.join(HERE, "apps", app, "bench") + dest = os.path.join(HERE, "apps", label, "bench") os.makedirs(dest, exist_ok=True) pull = (f"cd /opt/upg && tar czf /tmp/ev-{app}.tgz MV-{app}.log evidence/MV-{app} 2>/dev/null; " f"base64 -w0 /tmp/ev-{app}.tgz") diff --git a/documentation/audits/night-2026-09-23/boxq-B1.txt b/documentation/audits/night-2026-09-23/boxq-B1.txt index c3860f50..3d812299 100644 --- a/documentation/audits/night-2026-09-23/boxq-B1.txt +++ b/documentation/audits/night-2026-09-23/boxq-B1.txt @@ -5,3 +5,7 @@ 21:05:08 START adventurelog ghcr.io/seanmorley15/adventurelog-backend:v0.12.1,ghcr.io/seanmorley15/adventurelog-frontend:v0.12.1 -> ghcr.io/seanmorley15/adventurelog-backend:v0.13.0,ghcr.io/seanmorley15/adventurelog-frontend:v0.13.0 21:39:35 DONE adventurelog rc=0 verdict=inconclusive before=True after=True phase=undone r626='clean' notes=['final_phase=undone moved=False healthy=True'] (2067s) 21:39:35 START n8n n8nio/n8n:2.40.5 -> n8nio/n8n:2.41.1 +21:43:59 DONE n8n rc=0 verdict=proven before=True after=True phase=done r626='clean' notes=[] (265s) +21:43:59 START gitea gitea/gitea:1.27.0 -> gitea/gitea:1.27.3 +21:45:04 DONE gitea rc=0 verdict=inconclusive before=False after=False phase=None r626=None notes=["seed refused through the app's own route — see log.txt for what was tried", 'seed route did not work tonight'] (65s) +21:45:04 QUEUE B1 FINISHED diff --git a/documentation/audits/night-2026-09-23/boxq-B7.txt b/documentation/audits/night-2026-09-23/boxq-B7.txt new file mode 100644 index 00000000..bf0ac3e8 --- /dev/null +++ b/documentation/audits/night-2026-09-23/boxq-B7.txt @@ -0,0 +1,3 @@ +21:45:08 START kimai mariadb:11.6 -> mariadb:11.8 +21:50:30 DONE kimai rc=0 verdict=proven before=True after=True phase=done r626='clean' notes=[] (322s) +21:50:30 QUEUE B7 FINISHED diff --git a/documentation/audits/night-2026-09-23/boxq-B8.txt b/documentation/audits/night-2026-09-23/boxq-B8.txt new file mode 100644 index 00000000..1ab1339d --- /dev/null +++ b/documentation/audits/night-2026-09-23/boxq-B8.txt @@ -0,0 +1,3 @@ +21:45:33 START romm mariadb:11.4 -> mariadb:11.8 +21:51:11 DONE romm rc=0 verdict=proven before=True after=True phase=done r626='clean' notes=[] (338s) +21:51:11 QUEUE B8 FINISHED diff --git a/documentation/audits/night-2026-09-23/boxq-gitea.log b/documentation/audits/night-2026-09-23/boxq-gitea.log new file mode 100644 index 00000000..9929c494 --- /dev/null +++ b/documentation/audits/night-2026-09-23/boxq-gitea.log @@ -0,0 +1,10 @@ +21:43:59 ==== gitea: gitea/gitea:1.27.0 -> gitea/gitea:1.27.3 (sub=git, class=sqlite) +21:44:03 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'} +21:44:18 [1] deployed, controller state=running, pinned={'gitea': 'gitea/gitea:1.27.0'} +21:44:21 [2] seeding through the app's own front door +21:44:24 gitea: admin user create :: 2026/09/23 21:44:23 modules/setting/setting.go:106:MustInstalled() [F] Unable to load config file for a installed Gitea instance, you should +21:44:24 [9] verdict inconclusive -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/gitea/verdict.json +21:44:25 [X] stop -> 200 {'ok': True, 'message': 'Stack gitea stop completed'} +21:44:56 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'gitea', 'volumes_removed': ['gitea_gitea_data'], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'hdd_note': 'Az alkalmazá +21:45:04 [X] after remove: deployed=False leftovers='/opt/docker/stacks/gitea' +21:45:04 [9] verdict inconclusive -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/gitea/verdict.json diff --git a/documentation/audits/night-2026-09-23/boxq-kimai.log b/documentation/audits/night-2026-09-23/boxq-kimai.log new file mode 100644 index 00000000..36760d4a --- /dev/null +++ b/documentation/audits/night-2026-09-23/boxq-kimai.log @@ -0,0 +1,31 @@ +21:45:08 ==== kimai: mariadb:11.6 -> mariadb:11.8 (sub=kimai, class=engine-mariadb) +21:45:11 [1] required fields filled beyond DOMAIN/SUBDOMAIN: ['ADMIN_PASSWORD'] +21:45:11 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'} +21:47:07 [1] deployed, controller state=running, pinned={'kimai': 'kimai/kimai2:apache-2.57.0', 'kimai-db': 'mariadb:11.6'} +21:47:12 [2] seeding through the app's own front door +21:47:18 kimai: seeded user drill639e0a75 +21:47:18 [3] control C1 — reading the seed back BEFORE the update +21:47:22 kimai: readback found=True (control passed) +21:47:22 [4] backup press SKIPPED for kimai (R-648: whole-box only; the update's backing-up phase backs up kimai alone) +21:47:24 [5] drill commit d193a4cb7eb9: kimai mariadb:11.6 -> mariadb:11.8 (push rc=0) +21:47:29 [5] badge HU: [{'title': 'Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.', 'text': 'Frissítés elérhető — ma'}] +21:47:29 [5] badge EN: [{'title': 'A newer version of this app is available. Select the Update button to start it.', 'text': 'Update available — today'}] +21:47:29 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'} +21:47:29 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None +21:47:31 + 2.1s phase=pulling label=Új verzió letöltése… err=None hold=None +21:47:39 + 10.3s phase=copying label=Az adatok másolása a frissítés előtt… err=None hold=None +21:47:44 + 15.4s phase=starting label=Indítás az új verzióval… err=None hold=None +21:48:01 + 31.9s phase=verifying label=Működés ellenőrzése… err=None hold=None +21:48:37 + 67.9s phase=done label=Frissítve err=None hold=None +21:48:37 [7] reading the seed back AFTER the update +21:48:41 kimai: readback found=True (control passed) +21:48:45 [8] pinned = {'kimai': 'kimai/kimai2:apache-2.57.0', 'kimai-db': 'mariadb:11.8'} +21:48:45 [8] installed = {'kimai': 'kimai/kimai2:apache-2.57.0', 'kimai-db': 'mariadb:11.8'} +21:48:45 [8] compose = ['image: kimai/kimai2:apache-2.57.0', 'image: mariadb:11.8'] +21:48:45 [8] inspect = ['kimai-db mariadb:11.8 running=true restarts=0', 'kimai kimai/kimai2:apache-2.57.0 running=true restarts=0'] +21:48:45 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/kimai/verdict.json +21:48:46 [X] stop -> 200 {'ok': True, 'message': 'Stack kimai stop completed'} +21:49:18 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'kimai', 'volumes_removed': ['kimai_kimai_db_data', 'kimai_kimai_var'], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'hd +21:49:27 [X] after remove: deployed=False leftovers='/opt/docker/stacks/kimai' +21:50:30 [X] R-626 check +60 s after remove: 'clean' +21:50:30 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/kimai/verdict.json diff --git a/documentation/audits/night-2026-09-23/boxq-n8n.log b/documentation/audits/night-2026-09-23/boxq-n8n.log index 396ab7c7..0d21ee26 100644 --- a/documentation/audits/night-2026-09-23/boxq-n8n.log +++ b/documentation/audits/night-2026-09-23/boxq-n8n.log @@ -25,3 +25,7 @@ 21:42:14 [8] inspect = ['n8n n8nio/n8n:2.41.1 running=true restarts=0'] 21:42:14 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/n8n/verdict.json 21:42:16 [X] stop -> 200 {'ok': True, 'message': 'Stack n8n stop completed'} +21:42:48 [X] remove (with drive data) -> 200 {'ok': True, 'data': {'removed': 'n8n', 'volumes_removed': ['n8n_n8n_data'], 'hdd_paths_removed': [], 'hdd_paths_preserved': [], 'hdd_note': 'Az alkalmazás nem +21:42:56 [X] after remove: deployed=False leftovers='/opt/docker/stacks/n8n' +21:43:59 [X] R-626 check +60 s after remove: 'clean' +21:43:59 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/n8n/verdict.json diff --git a/documentation/audits/night-2026-09-23/boxq-romm-engine.log b/documentation/audits/night-2026-09-23/boxq-romm-engine.log new file mode 100644 index 00000000..58e6a41e --- /dev/null +++ b/documentation/audits/night-2026-09-23/boxq-romm-engine.log @@ -0,0 +1,36 @@ +21:45:33 ==== romm: mariadb:11.4 -> mariadb:11.8 (sub=arcade, class=engine-mariadb) +21:45:41 [1] made the drive paths this app requires: ['/mnt/felhom-drives/scratch_hdd/userdata/romm'] +21:45:41 [1] required fields filled beyond DOMAIN/SUBDOMAIN: ['HDD_PATH'] +21:45:42 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'} +21:47:07 [1] deployed, controller state=unhealthy, pinned={'romm': 'rommapp/romm:5.3.1', 'romm-db': 'mariadb:11.4', 'romm-redis': 'redis:7-alpine'} +21:47:07 [1] NOTE: the controller's own state is 'unhealthy', not 'running' — recorded, not treated as a failure; the fixture's front-door wait is the real gate +21:47:12 [2] seeding through the app's own front door +21:47:25 romm: POST /api/users http=201 +21:47:25 [3] control C1 — reading the seed back BEFORE the update +21:47:27 romm: login as the seeded user http=200 ok=True +21:47:27 [4] backup press SKIPPED for romm (R-648: whole-box only; the update's backing-up phase backs up romm alone) +21:47:28 [5] drill commit 436d5b1712e6: romm mariadb:11.4 -> mariadb:11.8 (push rc=0) +21:47:57 [sync] the badge needed 29.2s and 5 sync+rescan rounds to catch up to mariadb:11.8 — R-607's window, measured +21:47:57 [5] badge HU: [{'title': 'Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.', 'text': 'Frissítés elérhető — ma'}] +21:47:57 [5] badge EN: [{'title': 'A newer version of this app is available. Select the Update button to start it.', 'text': 'Update available — today'}] +21:47:57 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'} +21:47:57 + 0.0s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None +21:48:00 + 2.1s phase=pulling label=Új verzió letöltése… err=None hold=None +21:48:02 + 4.1s phase=copying label=Az adatok másolása a frissítés előtt… err=None hold=None +21:48:10 + 12.4s phase=starting label=Indítás az új verzióval… err=None hold=None +21:48:26 + 28.8s phase=verifying label=Működés ellenőrzése… err=None hold=None +21:49:07 + 69.8s phase=done label=Frissítve err=None hold=None +21:49:07 [7] reading the seed back AFTER the update +21:49:18 romm: login as the seeded user http=200 ok=True +21:49:22 [8] pinned = {'romm': 'rommapp/romm:5.3.1', 'romm-db': 'mariadb:11.8', 'romm-redis': 'redis:7-alpine'} +21:49:22 [8] installed = {'romm': 'rommapp/romm:5.3.1', 'romm-db': 'mariadb:11.8', 'romm-redis': 'redis:7-alpine'} +21:49:22 [8] compose = ['image: rommapp/romm:5.3.1', 'image: mariadb:11.8', 'image: redis:7-alpine'] +21:49:22 [8] inspect = ['romm-db mariadb:11.8 running=true restarts=0', 'romm rommapp/romm:5.3.1 running=true restarts=0', 'romm-redis redis:7-alpine running=true restarts=0'] +21:49:22 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/romm-engine/verdict.json +21:49:28 [X] stop -> 200 {'ok': True, 'message': 'Stack romm stop completed'} +21:49:33 [X] remove (with drive data) -> 409 {'ok': False, 'error': 'A(z) /mnt/felhom-drives/scratch_hdd/userdata/romm tárhely jelenleg nem elérhető — az alkalmazás nem távolítható el, amíg a meghajtó viss +21:49:33 [X] refused because the drive path cannot be resolved (R-442, fail-closed and right) — removing the app and KEEPING the drive data instead +21:49:59 [X] remove (keeping drive data) -> 200 {'ok': True, 'data': {'removed': 'romm', 'volumes_removed': ['romm_romm_config', 'romm_romm_db_data', 'romm_romm_redis_data'], 'hdd_paths_removed': [], 'hdd_pat +21:50:08 [X] after remove: deployed=False leftovers='/opt/docker/stacks/romm' +21:51:11 [X] R-626 check +60 s after remove: 'clean' +21:51:11 [9] verdict proven -> /mnt/5_hdd/felhom.eu/git/felhom.eu/documentation/audits/night-2026-09-23/apps/romm-engine/verdict.json diff --git a/documentation/audits/night-2026-09-23/boxq.py b/documentation/audits/night-2026-09-23/boxq.py index 559a0907..f2cc08d9 100644 --- a/documentation/audits/night-2026-09-23/boxq.py +++ b/documentation/audits/night-2026-09-23/boxq.py @@ -6,15 +6,18 @@ HERE = os.path.dirname(os.path.abspath(__file__)) q = sys.argv[1] out = open(os.path.join(HERE, f"boxq-{q}.txt"), "a", buffering=1) for spec in sys.argv[2:]: - app, frm, to, cls = spec.split("|") + parts = spec.split("|") + app, frm, to, cls = parts[:4] + label = parts[4] if len(parts) > 4 else None t0 = time.time() out.write(f"{time.strftime('%H:%M:%S')} START {app} {frm} -> {to}\n") - with open(os.path.join(HERE, f"boxq-{app}.log"), "w") as lg: - r = subprocess.run([sys.executable, "-u", "run_edge.py", app, frm, to, "--class", cls], + with open(os.path.join(HERE, f"boxq-{label or app}.log"), "w") as lg: + r = subprocess.run([sys.executable, "-u", "run_edge.py", app, frm, to, "--class", cls] + + (["--label", label] if label else []), cwd=HERE, stdout=lg, stderr=subprocess.STDOUT, timeout=3600) v = {} try: - v = json.load(open(os.path.join(HERE, "apps", app, "verdict.json"))) + v = json.load(open(os.path.join(HERE, "apps", label or app, "verdict.json"))) except Exception: pass out.write(f"{time.strftime('%H:%M:%S')} DONE {app} rc={r.returncode} verdict={v.get('verdict')} " diff --git a/documentation/audits/night-2026-09-23/run_edge.py b/documentation/audits/night-2026-09-23/run_edge.py index b864d79d..66b21618 100644 --- a/documentation/audits/night-2026-09-23/run_edge.py +++ b/documentation/audits/night-2026-09-23/run_edge.py @@ -32,10 +32,11 @@ def main(): ap.add_argument("--sub", default=None) ap.add_argument("--no-remove", action="store_true") ap.add_argument("--class", dest="cls", default="other") + ap.add_argument("--label", default=None, help="evidence folder name when an app has a second edge tonight") a = ap.parse_args() app = a.app - appdir = os.path.join(HERE, "apps", app) + appdir = os.path.join(HERE, "apps", a.label or app) os.makedirs(appdir, exist_ok=True) fx = FIXTURES.get(app) sub = a.sub or (fx.sub if fx else app)