Estimator: the HP figures published, raise only (R-1009 = A) — one verdict stricter
gates / gates (push) Successful in 6m36s

sizing.json + sizing-data.json rebuilt (23 figures up, none down; the checksum chain matches,
build_sizing_web --check OK). The household set without Immich on 8 GB: fits well -> fits, but
tight (2,731 x 1.5 = 4,096.5 > 4,096). Presets keep their verdicts. SIZING.md section 5 table,
bullets and memory table from the rule, plus the dated line; the per-app table re-rendered.
Test expectations moved with the rule. Lede, meta and method note name both machines. Data ?v=4.

Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
This commit is contained in:
2026-10-14 15:27:56 +02:00
parent 3f7f26a7d3
commit 541129542d
8 changed files with 673 additions and 132 deletions
@@ -25,68 +25,68 @@ Samba is not in the floor: it runs only when sharing is switched on. Evidence: `
<!-- apps-table: generated by tools/render_table.py -->
| App | Typical MB | Peak MB | Catalog request / limit | CPU class | CPU rest % | Busiest minute % | Source |
|---|---|---|---|---|---|---|---|
| Immich (`immich`) | 1,356 | 3,061 | 2,048 / 4,480 | heavy-in-bursts | 0.74 | 74.2 | onboarding ! |
| Grimmory (`grimmory`) | 346 | 1,095 | 600 / 1,408 | medium | 0.83 | 22.0 | onboarding ! |
| Karakeep (`karakeep`) | 361 | 1,050 | 700 / 2,816 | light | 0.6 | 2.9 | onboarding ! |
| Immich (`immich`) | 1,557 | 3,290 | 2,048 / 4,480 | heavy-in-bursts | 0.74 | 74.2 | onboarding ! |
| Grimmory (`grimmory`) | 451 | 1,095 | 600 / 1,408 | medium | 0.83 | 22.0 | onboarding ! |
| Karakeep (`karakeep`) | 372 | 1,050 | 700 / 2,816 | light | 0.6 | 2.9 | onboarding ! |
| Cal.com (`calcom`) | 800 | 950 | 200 / 1,792 | light | 0.14 | 1.8 | onboarding |
| Dawarich (`dawarich`) | 390 | 890 | 500 / 2,688 | light | 0.48 | 14.4 | onboarding |
| Tandoor Recipes (`tandoor`) | 868 | 868 | 512 / 1,280 | medium | 0.16 | 20.0 | onboarding |
| RomM (`romm`) | 528 | 769 | 300 / 1,280 | medium | 0.71 | 24.2 | telemetry |
| SparkyFitness (`sparkyfitness`) | 305 | 664 | 400 / 1,792 | light | 0.23 | 0.4 | onboarding ! |
| Paperless-ngx (`paperless-ngx`) | 568 | 659 | 500 / 1,664 | medium | 0.37 | 31.3 | telemetry |
| n8n (`n8n`) | 321 | 550 | 512 / 1,536 | light | 0.1 | 0.5 | onboarding ! |
| Paperless-ngx (`paperless-ngx`) | 645 | 755 | 500 / 1,664 | medium | 0.37 | 31.3 | telemetry |
| SparkyFitness (`sparkyfitness`) | 316 | 664 | 400 / 1,792 | light | 0.23 | 0.4 | onboarding ! |
| n8n (`n8n`) | 351 | 578 | 512 / 1,536 | light | 0.1 | 0.5 | onboarding ! |
| Nextcloud (`nextcloud`) | 314 | 525 | 256 / 1,664 | light | 0.4 | 12.8 | onboarding ! |
| Komga (`komga`) | 442 | 496 | 200 / 768 | light | 0.15 | 0.5 | onboarding |
| Docmost (`docmost`) | 415 | 495 | 200 / 896 | light | 0.38 | 0.8 | telemetry |
| OnlyOffice (`onlyoffice`) | 364 | 488 | 512 / 2,048 | medium | 0.04 | 31.8 | measured |
| Rallly (`rallly`) | 360 | 479 | 384 / 1,024 | light | 0.19 | 2.9 | onboarding |
| AdventureLog (`adventurelog`) | 361 | 464 | 100 / 896 | medium | 0.45 | 19.3 | telemetry |
| Grafana (`grafana`) | 220 | 435 | 100 / 512 | light | 0.31 | 1.0 | onboarding ! |
| Jellyfin (`jellyfin`) | 191 | 448 | 512 / 2,048 | heavy-in-bursts | 0.06 | 51.3 | measured |
| Grafana (`grafana`) | 269 | 435 | 100 / 512 | light | 0.31 | 1.0 | onboarding ! |
| Home Assistant (`home-assistant`) | 352 | 434 | 256 / 1,024 | light | 0.2 | 2.4 | onboarding |
| Mealie (`mealie`) | 273 | 431 | 200 / 1,000 | light | 0.15 | 1.4 | onboarding ! |
| Calibre-Web Automated (`calibre-web`) | 191 | 413 | 200 / 768 | medium | 0.04 | 26.0 | telemetry ! |
| Papra (`papra`) | 266 | 405 | 256 / 768 | light | 0.07 | 0.2 | onboarding |
| Outline (`outline`) | 282 | 393 | 200 / 1,152 | light | 0.39 | 1.4 | onboarding |
| Jellyfin (`jellyfin`) | 191 | 373 | 512 / 2,048 | heavy-in-bursts | 0.06 | 51.3 | measured |
| Gramps Web (`gramps-web`) | 326 | 342 | 384 / 1,024 | light | 0.04 | 0.0 | onboarding |
| MeTube (`metube`) | 62 | 329 | 128 / 768 | light | 0.03 | 0.1 | onboarding ! |
| Home Assistant (`home-assistant`) | 318 | 328 | 256 / 1,024 | light | 0.2 | 2.4 | onboarding |
| qBittorrent (`qbittorrent`) | 163 | 318 | 192 / 1,024 | light | 0.04 | 0.1 | onboarding ! |
| wger (`wger`) | 246 | 267 | 256 / 416 | — | – | – | onboarding — hidden |
| Plant-it (`plant-it`) | 50 | 256 | 50 / 256 | — | – | – | unmeasured — abandoned |
| Kimai (`kimai`) | 163 | 250 | 100 / 640 | light | 0.16 | 0.8 | telemetry ! |
| Claper (`claper`) | 248 | 248 | 100 / 640 | light | 0.3 | 0.5 | onboarding |
| Kimai (`kimai`) | 163 | 240 | 100 / 640 | light | 0.16 | 0.8 | telemetry ! |
| Plex (`plex`) | 232 | 234 | 512 / 2,048 | light | 0.22 | 3.4 | measured |
| Uptime Kuma (`uptime-kuma`) | 103 | 227 | 50 / 256 | light | 0.2 | 0.2 | onboarding ! |
| Uptime Kuma (`uptime-kuma`) | 118 | 227 | 50 / 256 | light | 0.2 | 0.2 | onboarding ! |
| BookStack (`bookstack`) | 159 | 225 | 150 / 768 | light | 0.18 | 0.9 | telemetry ! |
| Zipline (`zipline`) | 196 | 217 | 100 / 768 | light | 0.2 | 0.3 | onboarding |
| Wishlist (`wishlist`) | 115 | 184 | 120 / 512 | light | 0.07 | 0.1 | onboarding ! |
| Wishlist (`wishlist`) | 118 | 184 | 120 / 512 | light | 0.07 | 0.1 | onboarding ! |
| Jellyseerr (`seerr`) | 166 | 168 | 100 / 384 | light | 0.04 | 0.1 | measured |
| ActualBudget (`actualbudget`) | 44 | 167 | 50 / 256 | light | 0.06 | 0.1 | measured ! |
| Ghost (`ghost`) | 149 | 149 | 150 / 512 | light | 0.08 | 0.2 | onboarding |
| Wanderer (`wanderer`) | 143 | 147 | 350 / 1,024 | light | 0.2 | 0.3 | measured |
| Emby (`emby`) | 142 | 146 | 512 / 2,048 | light | 0.18 | 1.9 | onboarding ! |
| Gitea (`gitea`) | 74 | 136 | 100 / 512 | light | 0.04 | 0.1 | onboarding ! |
| Gitea (`gitea`) | 76 | 136 | 100 / 512 | light | 0.04 | 0.1 | onboarding ! |
| Homebox (`homebox`) | 17 | 118 | 50 / 256 | light | 0.06 | 0.1 | measured ! |
| Termix (`termix`) | 102 | 117 | 30 / 128 | light | 0.04 | 0.1 | measured |
| Grocy (`grocy`) | 30 | 114 | 60 / 384 | light | 0.04 | 0.3 | onboarding ! |
| LubeLogger (`lubelogger`) | 53 | 113 | 80 / 512 | light | 0.08 | 0.3 | onboarding ! |
| Grocy (`grocy`) | 33 | 114 | 60 / 384 | light | 0.04 | 0.3 | onboarding ! |
| LubeLogger (`lubelogger`) | 56 | 113 | 80 / 512 | light | 0.08 | 0.3 | onboarding ! |
| Vikunja (`vikunja`) | 20 | 104 | 50 / 256 | light | 0.0 | 0.0 | measured ! |
| Radarr (`radarr`) | 96 | 100 | 150 / 512 | light | 0.09 | 0.3 | measured |
| Vaultwarden (`vaultwarden`) | 44 | 99 | 50 / 256 | light | 0.03 | 0.0 | onboarding ! |
| Crafty Controller (`crafty-controller`) | 78 | 84 | 256 / 2,048 | light | 0.09 | 0.2 | onboarding ! |
| Crafty Controller (`crafty-controller`) | 79 | 84 | 256 / 2,048 | light | 0.09 | 0.2 | onboarding ! |
| Homepage (`homepage`) | 82 | 83 | 50 / 256 | light | 0.03 | 0.0 | measured |
| Gokapi (`gokapi`) | 7 | 77 | 30 / 128 | light | 0.03 | 0.0 | measured ! |
| Sonarr (`sonarr`) | 77 | 77 | 150 / 512 | light | 0.07 | 0.2 | onboarding |
| Recipe Importer (`recipe-importer`) | 63 | 72 | 30 / 128 | light | 0.09 | 0.1 | measured |
| OpenGist (`opengist`) | 27 | 68 | 30 / 128 | light | 0.03 | 0.8 | telemetry |
| SABnzbd (`sabnzbd`) | 68 | 68 | 192 / 1,024 | light | 0.04 | 0.1 | onboarding |
| PrivateBin (`privatebin`) | 40 | 60 | 30 / 128 | light | 0.04 | 0.0 | telemetry ! |
| Code-Server (`code-server`) | 59 | 59 | 200 / 1,024 | light | 0.03 | 0.0 | measured |
| PrivateBin (`privatebin`) | 40 | 59 | 30 / 128 | light | 0.04 | 0.0 | telemetry ! |
| Audiobookshelf (`audiobookshelf`) | 48 | 54 | 100 / 512 | light | 0.04 | 0.1 | onboarding |
| Radicale (`radicale`) | 27 | 27 | 40 / 128 | light | 0.03 | 0.0 | onboarding |
| Transmission (`transmission`) | 6 | 22 | 64 / 512 | light | 0.05 | 0.1 | onboarding ! |
| Navidrome (`navidrome`) | 14 | 18 | 50 / 256 | light | 0.04 | 0.1 | onboarding |
| BentoPDF (`bentopdf`) | 5 | 10 | 100 / 384 | light | 0.03 | 0.0 | telemetry ! |
| BentoPDF (`bentopdf`) | 10 | 15 | 100 / 384 | light | 0.03 | 0.0 | telemetry ! |
| Glance (`glance`) | 6 | 7 | 20 / 128 | light | 0.03 | 0.0 | measured |
| NZBGet (`nzbget`) | 5 | 5 | 64 / 512 | light | 0.04 | 0.1 | onboarding |
<!-- /apps-table -->
@@ -95,7 +95,10 @@ Samba is not in the floor: it runs only when sharing is switched on. Evidence: `
unmeasured = catalog value. `!` = two sources' peaks differ by more than 50 %; the higher is used (all values:
`evidence/apps-table.json`). `—` = not installable today (hidden / abandoned), no bench.
**The five largest peaks:** Immich 3,061 · Grimmory 1,095 · Karakeep 1,050 · Cal.com 950 · Dawarich 890 MB.
**The five largest peaks:** Immich 3,290 · Grimmory 1,095 · Karakeep 1,050 · Cal.com 950 · Dawarich 890 MB.
**Raised with the HP check (2026-10-14, operator ruling A, R-1009):** 23 figures of 64 apps took the second machine's higher
figure (HP t740, `audits/sizing-check-2026-10-14/hp-figures.json`); none went down. Each raised figure is named in
`sizing.json` → `raised_by_hp` (the figure, what it was, what it is). The table above already holds the raised figures.
**CPU bursts (heavy-in-bursts):** Immich — 74 % for the busiest minute, while it reads new photos; Jellyfin — 51 %,
while it converts a film (CPU only, no GPU passed through). **Medium:** Paperless-ngx 31 % (reading scans),
OnlyOffice 32 %, Calibre-Web 26 %, RomM 24 %, Grimmory 22 %, Tandoor 20 %, AdventureLog 19 % (first start).
@@ -148,12 +151,12 @@ changes the checksum the website's data file carries, and the website was not to
| | Memory |
|---|---|
| Household set, typical (sum) | 2,791 MB |
| Household set, all at peak at once (sum — they rarely coincide; deliberately pessimistic) | 5,045 MB |
| Household set, typical (sum) | 3,103 MB |
| Household set, all at peak at once (sum — they rarely coincide; deliberately pessimistic) | 5,551 MB |
| Guest platform | ≈ 470 MB |
| Guest needs at peak | ≈ 5.5 GB |
| + 50 % headroom | ≈ 8.3 GB guest |
| + the host's share (the installer keeps 4 GB for Proxmox; it used ≈ 2.0 GB here) | **≈ 12.3 GB box** |
| Guest needs at peak | ≈ 5.9 GB |
| + 50 % headroom | ≈ 8.8 GB guest |
| + the host's share (the installer keeps 4 GB for Proxmox; it used ≈ 2.0 GB here) | **≈ 12.8 GB box** |
**Headroom 50 %, because:** the bench library is small (200 photos; tester-1's real Immich already peaked at 2.9 GB);
the nightly backup runs database dumps and restic next to the apps; an update pulls new images while the old ones run;
@@ -181,12 +184,14 @@ a backup at the same time can slow it down · **does not fit:** guest < peak. Pe
<!-- sizing-verdicts: generated from the rule; scripts/test_build_sizing_web.py checks this table (24 GB column added 2026-10-13, estimator v2) -->
| Selection | Peak | 8 GB | 16 GB | 24 GB | 32 GB |
|---|---|---|---|---|---|
| Household set | 5.4 GB | does not fit | fits well | fits well | fits well |
| Household set without Immich | 2.4 GB | fits well | fits well | fits well | fits well |
| Immich alone | 3.4 GB | fits, but tight | fits well | fits well | fits well |
| All 62 apps | 21.3 GB | does not fit | does not fit | does not fit | fits, but tight |
| Household set | 5.9 GB | does not fit | fits well | fits well | fits well |
| Household set without Immich | 2.7 GB | fits, but tight | fits well | fits well | fits well |
| Immich alone | 3.7 GB | fits, but tight | fits well | fits well | fits well |
| All 62 apps | 21.8 GB | does not fit | does not fit | does not fit | fits, but tight |
<!-- /sizing-verdicts -->
- **8 GB:** the household set without Immich fits well; Immich alone fits, but tight; the whole household set does not fit.
- **8 GB:** the household set without Immich fits, but tight; Immich alone fits, but tight; the whole household set does not fit.
- **16 GB:** the whole household set fits well.
- **32 GB:** the household set fits well; all 62 apps at once fit, but tight.
2026-10-14: raised with the HP check (operator ruling A); one verdict became stricter — household set without Immich on 8 GB, by 0.5 MB.
@@ -14,6 +14,7 @@
"sources_disagree": true,
"cpu_rest_pct": 0.06,
"cpu_peak_1m_pct": 0.1,
"hp": null,
"telemetry": {
"app": "actualbudget",
"customer": "tester-1",
@@ -71,6 +72,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.45,
"cpu_peak_1m_pct": 19.3,
"hp": null,
"telemetry": {
"app": "adventurelog",
"customer": "demo-hp",
@@ -143,6 +145,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.1,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 54,
@@ -178,18 +181,37 @@
{
"slug": "bentopdf",
"display_name": "BentoPDF",
"mem_typical_mb": 5,
"mem_peak_mb": 10,
"mem_typical_mb": 10,
"mem_peak_mb": 15,
"cpu_class": "light",
"cpu_note": "",
"source": "telemetry",
"measured_on": "demo-hp",
"date": "2026-10-13",
"raised_by_hp": [
{
"field": "typical",
"was": 5,
"now": 10
},
{
"field": "peak",
"was": 10,
"now": 15
}
],
"catalog_request_mb": 100,
"catalog_limit_mb": 384,
"sources_disagree": true,
"cpu_rest_pct": 0.03,
"cpu_peak_1m_pct": 0.0,
"hp": {
"typical_mb": 10,
"peak_mb": 15,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": {
"app": "bentopdf",
"customer": "demo-hp",
@@ -247,6 +269,13 @@
"sources_disagree": true,
"cpu_rest_pct": 0.18,
"cpu_peak_1m_pct": 0.9,
"hp": {
"typical_mb": 148,
"peak_mb": 222,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": {
"app": "bookstack",
"customer": "demo-hp",
@@ -314,6 +343,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.14,
"cpu_peak_1m_pct": 1.8,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 950,
@@ -366,6 +396,13 @@
"sources_disagree": true,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 26.0,
"hp": {
"typical_mb": 161,
"peak_mb": 242,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": {
"app": "calibre-web",
"customer": "demo-hp",
@@ -428,6 +465,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.3,
"cpu_peak_1m_pct": 0.5,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 208,
@@ -480,6 +518,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.03,
"cpu_peak_1m_pct": 0.0,
"hp": null,
"telemetry": null,
"onboarding": null,
"bench": {
@@ -510,18 +549,32 @@
{
"slug": "crafty-controller",
"display_name": "Crafty Controller",
"mem_typical_mb": 78,
"mem_typical_mb": 79,
"mem_peak_mb": 84,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 78,
"now": 79
}
],
"catalog_request_mb": 256,
"catalog_limit_mb": 2048,
"sources_disagree": true,
"cpu_rest_pct": 0.09,
"cpu_peak_1m_pct": 0.2,
"hp": {
"typical_mb": 79,
"peak_mb": 80,
"box": "demo-hp (HP t740)",
"run": "R4-b3",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b3/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 54,
@@ -569,6 +622,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.48,
"cpu_peak_1m_pct": 14.4,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 890,
@@ -631,6 +685,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.38,
"cpu_peak_1m_pct": 0.8,
"hp": null,
"telemetry": {
"app": "docmost",
"customer": "demo-hp",
@@ -703,6 +758,13 @@
"sources_disagree": true,
"cpu_rest_pct": 0.18,
"cpu_peak_1m_pct": 1.9,
"hp": {
"typical_mb": 136,
"peak_mb": 142,
"box": "demo-hp (HP t740)",
"run": "R4-b3",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b3/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 97,
@@ -750,6 +812,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.08,
"cpu_peak_1m_pct": 0.2,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 136,
@@ -785,18 +848,32 @@
{
"slug": "gitea",
"display_name": "Gitea",
"mem_typical_mb": 74,
"mem_typical_mb": 76,
"mem_peak_mb": 136,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 74,
"now": 76
}
],
"catalog_request_mb": 100,
"catalog_limit_mb": 512,
"sources_disagree": true,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.1,
"hp": {
"typical_mb": 76,
"peak_mb": 89,
"box": "demo-hp (HP t740)",
"run": "R4-b3",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b3/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 136,
@@ -844,6 +921,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.03,
"cpu_peak_1m_pct": 0.0,
"hp": null,
"telemetry": {
"app": "glance",
"customer": "demo-hp",
@@ -901,6 +979,7 @@
"sources_disagree": true,
"cpu_rest_pct": 0.03,
"cpu_peak_1m_pct": 0.0,
"hp": null,
"telemetry": {
"app": "gokapi",
"customer": "tester-1",
@@ -946,18 +1025,32 @@
{
"slug": "grafana",
"display_name": "Grafana",
"mem_typical_mb": 220,
"mem_typical_mb": 269,
"mem_peak_mb": 435,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 220,
"now": 269
}
],
"catalog_request_mb": 100,
"catalog_limit_mb": 512,
"sources_disagree": true,
"cpu_rest_pct": 0.31,
"cpu_peak_1m_pct": 1.0,
"hp": {
"typical_mb": 269,
"peak_mb": 383,
"box": "demo-hp (HP t740)",
"run": "R4-b1",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b1/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 241,
@@ -1005,6 +1098,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.0,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 342,
@@ -1040,18 +1134,32 @@
{
"slug": "grimmory",
"display_name": "Grimmory",
"mem_typical_mb": 346,
"mem_typical_mb": 451,
"mem_peak_mb": 1095,
"cpu_class": "medium",
"cpu_note": "at first start only",
"source": "onboarding",
"measured_on": null,
"date": "2026-10-01",
"raised_by_hp": [
{
"field": "typical",
"was": 346,
"now": 451
}
],
"catalog_request_mb": 600,
"catalog_limit_mb": 1408,
"sources_disagree": true,
"cpu_rest_pct": 0.83,
"cpu_peak_1m_pct": 22.0,
"hp": {
"typical_mb": 451,
"peak_mb": 624,
"box": "demo-hp (HP t740)",
"run": "R4-b1",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b1/summary.json"
},
"telemetry": {
"app": "grimmory",
"customer": "demo-hp",
@@ -1107,18 +1215,32 @@
{
"slug": "grocy",
"display_name": "Grocy",
"mem_typical_mb": 30,
"mem_typical_mb": 33,
"mem_peak_mb": 114,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-10-10",
"raised_by_hp": [
{
"field": "typical",
"was": 30,
"now": 33
}
],
"catalog_request_mb": 60,
"catalog_limit_mb": 384,
"sources_disagree": true,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.3,
"hp": {
"typical_mb": 33,
"peak_mb": 34,
"box": "demo-hp (HP t740)",
"run": "R4-b3",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b3/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 114,
@@ -1154,18 +1276,37 @@
{
"slug": "home-assistant",
"display_name": "Home Assistant",
"mem_typical_mb": 318,
"mem_peak_mb": 328,
"mem_typical_mb": 352,
"mem_peak_mb": 434,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 318,
"now": 352
},
{
"field": "peak",
"was": 328,
"now": 434
}
],
"catalog_request_mb": 256,
"catalog_limit_mb": 1024,
"sources_disagree": false,
"cpu_rest_pct": 0.2,
"cpu_peak_1m_pct": 2.4,
"hp": {
"typical_mb": 352,
"peak_mb": 434,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 328,
@@ -1213,6 +1354,7 @@
"sources_disagree": true,
"cpu_rest_pct": 0.06,
"cpu_peak_1m_pct": 0.1,
"hp": null,
"telemetry": {
"app": "homebox",
"customer": "tester-1",
@@ -1270,6 +1412,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.03,
"cpu_peak_1m_pct": 0.0,
"hp": null,
"telemetry": null,
"onboarding": null,
"bench": {
@@ -1300,18 +1443,37 @@
{
"slug": "immich",
"display_name": "Immich",
"mem_typical_mb": 1356,
"mem_peak_mb": 3061,
"mem_typical_mb": 1557,
"mem_peak_mb": 3290,
"cpu_class": "heavy-in-bursts",
"cpu_note": "only while it reads new photos: thumbnails, face and search indexing (200 photos took about 6 minutes)",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 1356,
"now": 1557
},
{
"field": "peak",
"was": 3061,
"now": 3290
}
],
"catalog_request_mb": 2048,
"catalog_limit_mb": 4480,
"sources_disagree": true,
"cpu_rest_pct": 0.74,
"cpu_peak_1m_pct": 74.2,
"hp": {
"typical_mb": 1557,
"peak_mb": 3290,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": {
"app": "immich",
"customer": "tester-1",
@@ -1378,17 +1540,31 @@
"slug": "jellyfin",
"display_name": "Jellyfin",
"mem_typical_mb": 191,
"mem_peak_mb": 373,
"mem_peak_mb": 448,
"cpu_class": "heavy-in-bursts",
"cpu_note": "only while it converts a film for a device that cannot play it (a 3-minute 1080p film took 41 seconds, CPU only)",
"source": "measured",
"measured_on": "demo-felhom (N100)",
"date": "2026-10-13",
"raised_by_hp": [
{
"field": "peak",
"was": 373,
"now": 448
}
],
"catalog_request_mb": 512,
"catalog_limit_mb": 2048,
"sources_disagree": false,
"cpu_rest_pct": 0.06,
"cpu_peak_1m_pct": 51.3,
"hp": {
"typical_mb": 188,
"peak_mb": 448,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": {
"app": "jellyfin",
"customer": "tester-1",
@@ -1434,18 +1610,32 @@
{
"slug": "karakeep",
"display_name": "Karakeep",
"mem_typical_mb": 361,
"mem_typical_mb": 372,
"mem_peak_mb": 1050,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-10-01",
"raised_by_hp": [
{
"field": "typical",
"was": 361,
"now": 372
}
],
"catalog_request_mb": 700,
"catalog_limit_mb": 2816,
"sources_disagree": true,
"cpu_rest_pct": 0.6,
"cpu_peak_1m_pct": 2.9,
"hp": {
"typical_mb": 372,
"peak_mb": 643,
"box": "demo-hp (HP t740)",
"run": "R4-b1",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b1/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 1050,
@@ -1492,17 +1682,31 @@
"slug": "kimai",
"display_name": "Kimai",
"mem_typical_mb": 163,
"mem_peak_mb": 240,
"mem_peak_mb": 250,
"cpu_class": "light",
"cpu_note": "",
"source": "telemetry",
"measured_on": "demo-hp",
"date": "2026-10-13",
"raised_by_hp": [
{
"field": "peak",
"was": 240,
"now": 250
}
],
"catalog_request_mb": 100,
"catalog_limit_mb": 640,
"sources_disagree": true,
"cpu_rest_pct": 0.16,
"cpu_peak_1m_pct": 0.8,
"hp": {
"typical_mb": 155,
"peak_mb": 250,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": {
"app": "kimai",
"customer": "demo-hp",
@@ -1570,6 +1774,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.15,
"cpu_peak_1m_pct": 0.5,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 496,
@@ -1605,18 +1810,32 @@
{
"slug": "lubelogger",
"display_name": "LubeLogger",
"mem_typical_mb": 53,
"mem_typical_mb": 56,
"mem_peak_mb": 113,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-10-10",
"raised_by_hp": [
{
"field": "typical",
"was": 53,
"now": 56
}
],
"catalog_request_mb": 80,
"catalog_limit_mb": 512,
"sources_disagree": true,
"cpu_rest_pct": 0.08,
"cpu_peak_1m_pct": 0.3,
"hp": {
"typical_mb": 56,
"peak_mb": 65,
"box": "demo-hp (HP t740)",
"run": "R4-b4",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b4/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 113,
@@ -1664,6 +1883,13 @@
"sources_disagree": true,
"cpu_rest_pct": 0.15,
"cpu_peak_1m_pct": 1.4,
"hp": {
"typical_mb": 226,
"peak_mb": 240,
"box": "demo-hp (HP t740)",
"run": "R4-b1",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b1/summary.json"
},
"telemetry": {
"app": "mealie",
"customer": "tester-1",
@@ -1726,6 +1952,13 @@
"sources_disagree": true,
"cpu_rest_pct": 0.03,
"cpu_peak_1m_pct": 0.1,
"hp": {
"typical_mb": 62,
"peak_mb": 63,
"box": "demo-hp (HP t740)",
"run": "R4-b4",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b4/summary.json"
},
"telemetry": {
"app": "metube",
"customer": "demo-hp",
@@ -1776,18 +2009,37 @@
{
"slug": "n8n",
"display_name": "n8n",
"mem_typical_mb": 321,
"mem_peak_mb": 550,
"mem_typical_mb": 351,
"mem_peak_mb": 578,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 321,
"now": 351
},
{
"field": "peak",
"was": 550,
"now": 578
}
],
"catalog_request_mb": 512,
"catalog_limit_mb": 1536,
"sources_disagree": true,
"cpu_rest_pct": 0.1,
"cpu_peak_1m_pct": 0.5,
"hp": {
"typical_mb": 351,
"peak_mb": 578,
"box": "demo-hp (HP t740)",
"run": "R4-b2",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b2/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 353,
@@ -1835,6 +2087,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.1,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 18,
@@ -1882,6 +2135,13 @@
"sources_disagree": true,
"cpu_rest_pct": 0.4,
"cpu_peak_1m_pct": 12.8,
"hp": {
"typical_mb": 229,
"peak_mb": 290,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": {
"app": "nextcloud",
"customer": "tester-1",
@@ -1954,6 +2214,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.1,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 5,
@@ -2001,6 +2262,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 31.8,
"hp": null,
"telemetry": null,
"onboarding": null,
"bench": {
@@ -2043,6 +2305,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.03,
"cpu_peak_1m_pct": 0.8,
"hp": null,
"telemetry": {
"app": "opengist",
"customer": "demo-hp",
@@ -2082,6 +2345,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.39,
"cpu_peak_1m_pct": 1.4,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 393,
@@ -2127,18 +2391,37 @@
{
"slug": "paperless-ngx",
"display_name": "Paperless-ngx",
"mem_typical_mb": 568,
"mem_peak_mb": 659,
"mem_typical_mb": 645,
"mem_peak_mb": 755,
"cpu_class": "medium",
"cpu_note": "only while it reads new scanned documents (text recognition, about 4 pages a minute)",
"source": "telemetry",
"measured_on": "demo-hp",
"date": "2026-10-13",
"raised_by_hp": [
{
"field": "typical",
"was": 568,
"now": 645
},
{
"field": "peak",
"was": 659,
"now": 755
}
],
"catalog_request_mb": 500,
"catalog_limit_mb": 1664,
"sources_disagree": false,
"cpu_rest_pct": 0.37,
"cpu_peak_1m_pct": 31.3,
"hp": {
"typical_mb": 645,
"peak_mb": 755,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": {
"app": "paperless-ngx",
"customer": "demo-hp",
@@ -2211,6 +2494,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.07,
"cpu_peak_1m_pct": 0.2,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 405,
@@ -2259,6 +2543,7 @@
"sources_disagree": false,
"cpu_rest_pct": null,
"cpu_peak_1m_pct": null,
"hp": null,
"telemetry": null,
"onboarding": null,
"bench": null
@@ -2278,6 +2563,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.22,
"cpu_peak_1m_pct": 3.4,
"hp": null,
"telemetry": null,
"onboarding": null,
"bench": {
@@ -2309,17 +2595,31 @@
"slug": "privatebin",
"display_name": "PrivateBin",
"mem_typical_mb": 40,
"mem_peak_mb": 59,
"mem_peak_mb": 60,
"cpu_class": "light",
"cpu_note": "",
"source": "telemetry",
"measured_on": "demo-hp",
"date": "2026-10-13",
"raised_by_hp": [
{
"field": "peak",
"was": 59,
"now": 60
}
],
"catalog_request_mb": 30,
"catalog_limit_mb": 128,
"sources_disagree": true,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.0,
"hp": {
"typical_mb": 38,
"peak_mb": 60,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": {
"app": "privatebin",
"customer": "demo-hp",
@@ -2377,6 +2677,13 @@
"sources_disagree": true,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.1,
"hp": {
"typical_mb": 18,
"peak_mb": 18,
"box": "demo-hp (HP t740)",
"run": "R4-b4",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b4/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 318,
@@ -2424,6 +2731,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.09,
"cpu_peak_1m_pct": 0.3,
"hp": null,
"telemetry": null,
"onboarding": null,
"bench": {
@@ -2466,6 +2774,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.03,
"cpu_peak_1m_pct": 0.0,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 26,
@@ -2513,6 +2822,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.19,
"cpu_peak_1m_pct": 2.9,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 479,
@@ -2565,6 +2875,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.09,
"cpu_peak_1m_pct": 0.1,
"hp": null,
"telemetry": null,
"onboarding": null,
"bench": {
@@ -2607,6 +2918,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.71,
"cpu_peak_1m_pct": 24.2,
"hp": null,
"telemetry": {
"app": "romm",
"customer": "demo-hp",
@@ -2679,6 +2991,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.1,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 65,
@@ -2726,6 +3039,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.1,
"hp": null,
"telemetry": null,
"onboarding": null,
"bench": {
@@ -2768,6 +3082,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.07,
"cpu_peak_1m_pct": 0.2,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 71,
@@ -2803,18 +3118,32 @@
{
"slug": "sparkyfitness",
"display_name": "SparkyFitness",
"mem_typical_mb": 305,
"mem_typical_mb": 316,
"mem_peak_mb": 664,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-10-01",
"raised_by_hp": [
{
"field": "typical",
"was": 305,
"now": 316
}
],
"catalog_request_mb": 400,
"catalog_limit_mb": 1792,
"sources_disagree": true,
"cpu_rest_pct": 0.23,
"cpu_peak_1m_pct": 0.4,
"hp": {
"typical_mb": 316,
"peak_mb": 410,
"box": "demo-hp (HP t740)",
"run": "R4-b2",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b2/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 664,
@@ -2872,6 +3201,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.16,
"cpu_peak_1m_pct": 20.0,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 819,
@@ -2924,6 +3254,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.04,
"cpu_peak_1m_pct": 0.1,
"hp": null,
"telemetry": null,
"onboarding": null,
"bench": {
@@ -2966,6 +3297,13 @@
"sources_disagree": true,
"cpu_rest_pct": 0.05,
"cpu_peak_1m_pct": 0.1,
"hp": {
"typical_mb": 6,
"peak_mb": 7,
"box": "demo-hp (HP t740)",
"run": "R4-b4",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b4/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 22,
@@ -3001,18 +3339,32 @@
{
"slug": "uptime-kuma",
"display_name": "Uptime Kuma",
"mem_typical_mb": 103,
"mem_typical_mb": 118,
"mem_peak_mb": 227,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 103,
"now": 118
}
],
"catalog_request_mb": 50,
"catalog_limit_mb": 256,
"sources_disagree": true,
"cpu_rest_pct": 0.2,
"cpu_peak_1m_pct": 0.2,
"hp": {
"typical_mb": 118,
"peak_mb": 119,
"box": "demo-hp (HP t740)",
"run": "R4-b2",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b2/summary.json"
},
"telemetry": {
"app": "uptime-kuma",
"customer": "tester-1",
@@ -3075,6 +3427,13 @@
"sources_disagree": true,
"cpu_rest_pct": 0.03,
"cpu_peak_1m_pct": 0.0,
"hp": {
"typical_mb": 37,
"peak_mb": 40,
"box": "demo-hp (HP t740)",
"run": "R1-set",
"cite": "audits/sizing-check-2026-10-14/evidence/R1-set/set-summary.json"
},
"telemetry": {
"app": "vaultwarden",
"customer": "tester-1",
@@ -3137,6 +3496,7 @@
"sources_disagree": true,
"cpu_rest_pct": 0.0,
"cpu_peak_1m_pct": 0.0,
"hp": null,
"telemetry": {
"app": "vikunja",
"customer": "tester-1",
@@ -3194,6 +3554,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.2,
"cpu_peak_1m_pct": 0.3,
"hp": null,
"telemetry": null,
"onboarding": null,
"bench": {
@@ -3247,6 +3608,7 @@
"sources_disagree": false,
"cpu_rest_pct": null,
"cpu_peak_1m_pct": null,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 267,
@@ -3259,18 +3621,32 @@
{
"slug": "wishlist",
"display_name": "Wishlist",
"mem_typical_mb": 115,
"mem_typical_mb": 118,
"mem_peak_mb": 184,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-23",
"raised_by_hp": [
{
"field": "typical",
"was": 115,
"now": 118
}
],
"catalog_request_mb": 120,
"catalog_limit_mb": 512,
"sources_disagree": true,
"cpu_rest_pct": 0.07,
"cpu_peak_1m_pct": 0.1,
"hp": {
"typical_mb": 118,
"peak_mb": 121,
"box": "demo-hp (HP t740)",
"run": "R4-b2",
"cite": "audits/sizing-check-2026-10-14/evidence/R4-b2/summary.json"
},
"telemetry": null,
"onboarding": {
"peak_mb": 184,
@@ -3318,6 +3694,7 @@
"sources_disagree": false,
"cpu_rest_pct": 0.2,
"cpu_peak_1m_pct": 0.3,
"hp": null,
"telemetry": null,
"onboarding": {
"peak_mb": 217,
@@ -1,6 +1,6 @@
{
"schema": 1,
"generated": "2026-10-13",
"generated": "2026-10-14",
"units": {
"mem": "MB (MiB); docker-style used = memory.current - inactive_file",
"cpu": "% of the whole Intel N100 (4 cores = 100 %)"
@@ -81,13 +81,25 @@
{
"slug": "bentopdf",
"display_name": "BentoPDF",
"mem_typical_mb": 5,
"mem_peak_mb": 10,
"mem_typical_mb": 10,
"mem_peak_mb": 15,
"cpu_class": "light",
"cpu_note": "",
"source": "telemetry",
"measured_on": "demo-hp",
"date": "2026-10-13"
"date": "2026-10-13",
"raised_by_hp": [
{
"field": "typical",
"was": 5,
"now": 10
},
{
"field": "peak",
"was": 10,
"now": 15
}
]
},
{
"slug": "bookstack",
@@ -147,13 +159,20 @@
{
"slug": "crafty-controller",
"display_name": "Crafty Controller",
"mem_typical_mb": 78,
"mem_typical_mb": 79,
"mem_peak_mb": 84,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30"
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 78,
"now": 79
}
]
},
{
"slug": "dawarich",
@@ -202,13 +221,20 @@
{
"slug": "gitea",
"display_name": "Gitea",
"mem_typical_mb": 74,
"mem_typical_mb": 76,
"mem_peak_mb": 136,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30"
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 74,
"now": 76
}
]
},
{
"slug": "glance",
@@ -235,13 +261,20 @@
{
"slug": "grafana",
"display_name": "Grafana",
"mem_typical_mb": 220,
"mem_typical_mb": 269,
"mem_peak_mb": 435,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30"
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 220,
"now": 269
}
]
},
{
"slug": "gramps-web",
@@ -257,35 +290,61 @@
{
"slug": "grimmory",
"display_name": "Grimmory",
"mem_typical_mb": 346,
"mem_typical_mb": 451,
"mem_peak_mb": 1095,
"cpu_class": "medium",
"cpu_note": "at first start only",
"source": "onboarding",
"measured_on": null,
"date": "2026-10-01"
"date": "2026-10-01",
"raised_by_hp": [
{
"field": "typical",
"was": 346,
"now": 451
}
]
},
{
"slug": "grocy",
"display_name": "Grocy",
"mem_typical_mb": 30,
"mem_typical_mb": 33,
"mem_peak_mb": 114,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-10-10"
"date": "2026-10-10",
"raised_by_hp": [
{
"field": "typical",
"was": 30,
"now": 33
}
]
},
{
"slug": "home-assistant",
"display_name": "Home Assistant",
"mem_typical_mb": 318,
"mem_peak_mb": 328,
"mem_typical_mb": 352,
"mem_peak_mb": 434,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30"
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 318,
"now": 352
},
{
"field": "peak",
"was": 328,
"now": 434
}
]
},
{
"slug": "homebox",
@@ -312,46 +371,79 @@
{
"slug": "immich",
"display_name": "Immich",
"mem_typical_mb": 1356,
"mem_peak_mb": 3061,
"mem_typical_mb": 1557,
"mem_peak_mb": 3290,
"cpu_class": "heavy-in-bursts",
"cpu_note": "only while it reads new photos: thumbnails, face and search indexing (200 photos took about 6 minutes)",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30"
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 1356,
"now": 1557
},
{
"field": "peak",
"was": 3061,
"now": 3290
}
]
},
{
"slug": "jellyfin",
"display_name": "Jellyfin",
"mem_typical_mb": 191,
"mem_peak_mb": 373,
"mem_peak_mb": 448,
"cpu_class": "heavy-in-bursts",
"cpu_note": "only while it converts a film for a device that cannot play it (a 3-minute 1080p film took 41 seconds, CPU only)",
"source": "measured",
"measured_on": "demo-felhom (N100)",
"date": "2026-10-13"
"date": "2026-10-13",
"raised_by_hp": [
{
"field": "peak",
"was": 373,
"now": 448
}
]
},
{
"slug": "karakeep",
"display_name": "Karakeep",
"mem_typical_mb": 361,
"mem_typical_mb": 372,
"mem_peak_mb": 1050,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-10-01"
"date": "2026-10-01",
"raised_by_hp": [
{
"field": "typical",
"was": 361,
"now": 372
}
]
},
{
"slug": "kimai",
"display_name": "Kimai",
"mem_typical_mb": 163,
"mem_peak_mb": 240,
"mem_peak_mb": 250,
"cpu_class": "light",
"cpu_note": "",
"source": "telemetry",
"measured_on": "demo-hp",
"date": "2026-10-13"
"date": "2026-10-13",
"raised_by_hp": [
{
"field": "peak",
"was": 240,
"now": 250
}
]
},
{
"slug": "komga",
@@ -367,13 +459,20 @@
{
"slug": "lubelogger",
"display_name": "LubeLogger",
"mem_typical_mb": 53,
"mem_typical_mb": 56,
"mem_peak_mb": 113,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-10-10"
"date": "2026-10-10",
"raised_by_hp": [
{
"field": "typical",
"was": 53,
"now": 56
}
]
},
{
"slug": "mealie",
@@ -400,13 +499,25 @@
{
"slug": "n8n",
"display_name": "n8n",
"mem_typical_mb": 321,
"mem_peak_mb": 550,
"mem_typical_mb": 351,
"mem_peak_mb": 578,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30"
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 321,
"now": 351
},
{
"field": "peak",
"was": 550,
"now": 578
}
]
},
{
"slug": "navidrome",
@@ -477,13 +588,25 @@
{
"slug": "paperless-ngx",
"display_name": "Paperless-ngx",
"mem_typical_mb": 568,
"mem_peak_mb": 659,
"mem_typical_mb": 645,
"mem_peak_mb": 755,
"cpu_class": "medium",
"cpu_note": "only while it reads new scanned documents (text recognition, about 4 pages a minute)",
"source": "telemetry",
"measured_on": "demo-hp",
"date": "2026-10-13"
"date": "2026-10-13",
"raised_by_hp": [
{
"field": "typical",
"was": 568,
"now": 645
},
{
"field": "peak",
"was": 659,
"now": 755
}
]
},
{
"slug": "papra",
@@ -523,12 +646,19 @@
"slug": "privatebin",
"display_name": "PrivateBin",
"mem_typical_mb": 40,
"mem_peak_mb": 59,
"mem_peak_mb": 60,
"cpu_class": "light",
"cpu_note": "",
"source": "telemetry",
"measured_on": "demo-hp",
"date": "2026-10-13"
"date": "2026-10-13",
"raised_by_hp": [
{
"field": "peak",
"was": 59,
"now": 60
}
]
},
{
"slug": "qbittorrent",
@@ -632,13 +762,20 @@
{
"slug": "sparkyfitness",
"display_name": "SparkyFitness",
"mem_typical_mb": 305,
"mem_typical_mb": 316,
"mem_peak_mb": 664,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-10-01"
"date": "2026-10-01",
"raised_by_hp": [
{
"field": "typical",
"was": 305,
"now": 316
}
]
},
{
"slug": "tandoor",
@@ -676,13 +813,20 @@
{
"slug": "uptime-kuma",
"display_name": "Uptime Kuma",
"mem_typical_mb": 103,
"mem_typical_mb": 118,
"mem_peak_mb": 227,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-30"
"date": "2026-09-30",
"raised_by_hp": [
{
"field": "typical",
"was": 103,
"now": 118
}
]
},
{
"slug": "vaultwarden",
@@ -732,13 +876,20 @@
{
"slug": "wishlist",
"display_name": "Wishlist",
"mem_typical_mb": 115,
"mem_typical_mb": 118,
"mem_peak_mb": 184,
"cpu_class": "light",
"cpu_note": "",
"source": "onboarding",
"measured_on": null,
"date": "2026-09-23"
"date": "2026-09-23",
"raised_by_hp": [
{
"field": "typical",
"was": 115,
"now": 118
}
]
},
{
"slug": "zipline",