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",
+5 -5
View File
@@ -107,9 +107,9 @@ class SizingWeb(unittest.TestCase):
W, T, N = "well", "tight", "no"
cases = {
"household": (HOUSEHOLD, [N, T, W, W, W, W, W], 16, 12),
"household without immich": ([s for s in HOUSEHOLD if s != "immich"], [W, W, W, W, W, W, W], 8, None),
"household without immich": ([s for s in HOUSEHOLD if s != "immich"], [T, W, W, W, W, W, W], 12, 8), # 2026-10-14 HP raise: 2,731 x 1.5 = 4,096.5 > 4,096
"immich alone": (["immich"], [T, W, W, W, W, W, W], 12, 8),
"all 62": (self.all, [N, N, N, N, T, W, W], 48, 32), # 24 GB: guest 19,868 < peak 21,783
"all 62": (self.all, [N, N, N, N, T, W, W], 48, 32), # 24 GB: guest 19,868 < peak 22,333
"nothing": ([], [W] * 7, 8, None),
}
for name, (sel, want, rec, tight) in cases.items():
@@ -138,9 +138,9 @@ class SizingWeb(unittest.TestCase):
self.assertAlmostEqual(sum(mb for _, mb in segs), well * 1024, delta=1, msg=name)
self.assertGreaterEqual(dict(segs)["base"], 0, name + ": base system negative")
self.assertGreaterEqual(dict(segs)["spare"], 0, name + ": spare negative")
# the household preset, by hand: peak 5,515 MiB; the bar holds 5,515 * 1.5 = 8,272.5 in the guest
# the household preset, by hand: peak 6,021 MiB; the bar holds 6,021 * 1.5 = 9,031.5 in the guest
well, segs = segments(self.d, HOUSEHOLD)
self.assertAlmostEqual(dict(segs)["spare"], 5515 * 0.5, delta=1)
self.assertAlmostEqual(dict(segs)["spare"], 6021 * 0.5, delta=1)
self.assertAlmostEqual(dict(segs)["base"], 4708, delta=1) # 4,096 for Proxmox + 612 MemTotal shortfall
def test_bar_never_below_the_smallest_named_box(self):
@@ -160,7 +160,7 @@ class SizingWeb(unittest.TestCase):
def test_sentence_base_is_the_drawn_box_base(self):
# the explaining sentence's „kb. {base} GB a gép alaprendszeréé” is the base part of the box the BAR draws,
# from the same rule: 4.0 GB when the bar is an 8 GB box, 4.6 GB for the household preset (a 12.7 GB bar)
# from the same rule: 4.0 GB when the bar is an 8 GB box, 4.6 GB for the household preset (a 13.4 GB bar)
for name, sel, want in (("files and passwords", ["nextcloud", "vaultwarden"], "4.0"),
("household", HOUSEHOLD, "4.6")):
_, segs = segments(self.d, sel)
+9 -1
View File
@@ -1,4 +1,12 @@
## 2026-10-14 — FAQ: the power-cut answer says who sets the BIOS; a new answer on turning the machine off (R-1003, R-1000)
## 2026-10-14 — „Milyen gép kell?": the figures raised with the HP check (R-1009, operator ruling A)
- `assets/sizing-data.json` rebuilt from `sizing.json`, now with the second machine's figures (HP t740, 14 October): 23
figures raised, none lowered (Immich peak 3,061 → 3,290 MB; Jellyfin, Home Assistant, Paperless-ngx, Grimmory and 18 small
ones). One answer is stricter: the household set without Immich on 8 GB now reads „fits, but tight" (0.5 MB over the
fits-well line). The presets keep their verdicts. Data `?v=4`.
- The lede, the meta description and the method note name both machines (N100 and HP t740, 13–14 October 2026).
## 2026-10-14 — FAQ: the power-cut answer says who sets the BIOS; a new answer on turning the machine off (R-1003, R-1000)
- „Mi történik, ha elmegy az áram?” / „What happens if the power goes off?”: the operator's text of 2026-10-14 — I set the
BIOS when I install the machine, and help a household that installs Felhom itself; tested with real power cuts (8 of 8
+24 -24
View File
@@ -5,7 +5,7 @@
"source": {
"path": "documentation/audits/sizing-2026-10-13/sizing.json",
"commit": "c885b5ac",
"sha256": "bb9aba3e89be436cf665b956eee43e6b49f646e7f9fe40dd5875829ebed15375"
"sha256": "56e12018217fe3e05c096569321b106a73fc0a9f762480745b32340ecdbb458e"
},
"platform_mb": 470,
"headroom": 1.5,
@@ -146,8 +146,8 @@
"tagline_hu": "PDF eszköztár (adatvédelem)",
"tagline_en": "PDF toolkit (privacy first)",
"category": "fajlkezeles",
"typical_mb": 5,
"peak_mb": 10,
"typical_mb": 10,
"peak_mb": 15,
"cpu_class": "light",
"cpu_note_hu": "",
"cpu_note_en": "",
@@ -174,8 +174,8 @@
"tagline_hu": "Google Photos alternatíva",
"tagline_en": "A Google Photos alternative",
"category": "media",
"typical_mb": 1356,
"peak_mb": 3061,
"typical_mb": 1557,
"peak_mb": 3290,
"cpu_class": "heavy-in-bursts",
"cpu_note_hu": "csak amíg új fotókat dolgoz fel (bélyegképek, arcok, keresés): 200 fotó kb. 6 perc",
"cpu_note_en": "only while it processes new photos (thumbnails, faces, search): 200 photos took about 6 minutes",
@@ -189,7 +189,7 @@
"tagline_en": "Media server (Netflix)",
"category": "media",
"typical_mb": 191,
"peak_mb": 373,
"peak_mb": 448,
"cpu_class": "heavy-in-bursts",
"cpu_note_hu": "csak amíg egy filmet átalakít egy olyan eszköznek, amely azt nem tudja lejátszani",
"cpu_note_en": "only while it converts a film for a device that cannot play it",
@@ -356,7 +356,7 @@
"tagline_hu": "E-könyvtár böngészőben",
"tagline_en": "E-book library in the browser",
"category": "media",
"typical_mb": 346,
"typical_mb": 451,
"peak_mb": 1095,
"cpu_class": "medium",
"cpu_note_hu": "csak az első indításkor",
@@ -426,7 +426,7 @@
"tagline_hu": "Minecraft szerver kezelő",
"tagline_en": "Minecraft server manager",
"category": "media",
"typical_mb": 78,
"typical_mb": 79,
"peak_mb": 84,
"cpu_class": "light",
"cpu_note_hu": "",
@@ -440,8 +440,8 @@
"tagline_hu": "Okos otthon központ",
"tagline_en": "Smart home hub",
"category": "otthon",
"typical_mb": 318,
"peak_mb": 328,
"typical_mb": 352,
"peak_mb": 434,
"cpu_class": "light",
"cpu_note_hu": "",
"cpu_note_en": "",
@@ -454,8 +454,8 @@
"tagline_hu": "Workflow automatizálás",
"tagline_en": "Workflow automation",
"category": "otthon",
"typical_mb": 321,
"peak_mb": 550,
"typical_mb": 351,
"peak_mb": 578,
"cpu_class": "light",
"cpu_note_hu": "",
"cpu_note_en": "",
@@ -510,7 +510,7 @@
"tagline_hu": "Családi kívánságlista",
"tagline_en": "Family wish list",
"category": "otthon",
"typical_mb": 115,
"typical_mb": 118,
"peak_mb": 184,
"cpu_class": "light",
"cpu_note_hu": "",
@@ -552,7 +552,7 @@
"tagline_hu": "Táplálkozási napló",
"tagline_en": "Food diary",
"category": "otthon",
"typical_mb": 305,
"typical_mb": 316,
"peak_mb": 664,
"cpu_class": "light",
"cpu_note_hu": "",
@@ -636,7 +636,7 @@
"tagline_hu": "Autónyilvántartás",
"tagline_en": "Vehicle records",
"category": "otthon",
"typical_mb": 53,
"typical_mb": 56,
"peak_mb": 113,
"cpu_class": "light",
"cpu_note_hu": "",
@@ -650,7 +650,7 @@
"tagline_hu": "Háztartásvezetés",
"tagline_en": "Household management",
"category": "otthon",
"typical_mb": 30,
"typical_mb": 33,
"peak_mb": 114,
"cpu_class": "light",
"cpu_note_hu": "",
@@ -693,7 +693,7 @@
"tagline_en": "Time tracking",
"category": "produktivitas",
"typical_mb": 163,
"peak_mb": 240,
"peak_mb": 250,
"cpu_class": "light",
"cpu_note_hu": "",
"cpu_note_en": "",
@@ -748,8 +748,8 @@
"tagline_hu": "Digitális irattár",
"tagline_en": "A digital filing cabinet",
"category": "produktivitas",
"typical_mb": 568,
"peak_mb": 659,
"typical_mb": 645,
"peak_mb": 755,
"cpu_class": "medium",
"cpu_note_hu": "csak amíg új beszkennelt dokumentumokat olvas be (szövegfelismerés, kb. 4 oldal percenként)",
"cpu_note_en": "only while it reads new scanned documents (text recognition, about 4 pages a minute)",
@@ -804,7 +804,7 @@
"tagline_hu": "Kereshető saját archívum",
"tagline_en": "Your own searchable archive",
"category": "produktivitas",
"typical_mb": 361,
"typical_mb": 372,
"peak_mb": 1050,
"cpu_class": "light",
"cpu_note_hu": "",
@@ -819,7 +819,7 @@
"tagline_en": "Encrypted note sharing",
"category": "produktivitas",
"typical_mb": 40,
"peak_mb": 59,
"peak_mb": 60,
"cpu_class": "light",
"cpu_note_hu": "",
"cpu_note_en": "",
@@ -874,7 +874,7 @@
"tagline_hu": "Szolgáltatás monitoring",
"tagline_en": "Service monitoring",
"category": "rendszer",
"typical_mb": 103,
"typical_mb": 118,
"peak_mb": 227,
"cpu_class": "light",
"cpu_note_hu": "",
@@ -888,7 +888,7 @@
"tagline_hu": "Adatvizualizáció",
"tagline_en": "Data visualisation",
"category": "rendszer",
"typical_mb": 220,
"typical_mb": 269,
"peak_mb": 435,
"cpu_class": "light",
"cpu_note_hu": "",
@@ -916,7 +916,7 @@
"tagline_hu": "Git szerver (GitHub)",
"tagline_en": "Git server (GitHub)",
"category": "rendszer",
"typical_mb": 74,
"typical_mb": 76,
"peak_mb": 136,
"cpu_class": "light",
"cpu_note_hu": "",
+4 -4
View File
@@ -5,7 +5,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Which machine do I need? — an estimate for the apps you pick | Felhom.eu</title>
<meta name="description" content="Tick the apps you would run and see whether they fit an 8, 16 or 32 GB machine. An estimate from measurements on an N100 mini PC.">
<meta name="description" content="Tick the apps you would run and see whether they fit an 8, 16 or 32 GB machine. An estimate from measurements on two machines: an N100 mini PC and an HP t740.">
<link rel="canonical" href="https://felhom.eu/en/sizing">
<link rel="alternate" hreflang="hu" href="https://felhom.eu/gepigeny">
<link rel="alternate" hreflang="en" href="https://felhom.eu/en/sizing">
@@ -70,10 +70,10 @@
<div class="page-header">
<h1>Which machine do I <span>need?</span></h1>
</div>
<p class="page-lede">Tick what you would run on the box, and the page shows how much machine memory it needs. This is an estimate from my own measurements on an N100 mini PC (13 October 2026), not a promise.</p>
<p class="page-lede">Tick what you would run on the box, and the page shows how much machine memory it needs. This is an estimate from my own measurements on two machines, an N100 mini PC and an HP t740 (13–14 October 2026), not a promise.</p>
<noscript><p class="sizer-noscript">This page needs JavaScript. Turn it on and reload the page.</p></noscript>
<section class="shell-section sizer" id="sizer" data-src="/assets/sizing-data.json?v=3" hidden>
<section class="shell-section sizer" id="sizer" data-src="/assets/sizing-data.json?v=4" hidden>
<div class="sizer-presets" role="group" aria-label="Quick picks">
<button type="button" class="btn btn-outline btn-sm" data-preset="immich,jellyfin,nextcloud,home-assistant,vaultwarden,paperless-ngx">Family starter set</button>
<button type="button" class="btn btn-outline btn-sm" data-preset="nextcloud,vaultwarden">Just files and passwords</button>
@@ -106,7 +106,7 @@
<p id="sizer-typical"></p>
<p>The box's own services use about 470 MB of memory (Dashboard, tunnel, file manager, Docker). The page adds the measured figures of the apps you tick: once their typical use, once their peak, as if every app were busy at the same moment. That is a deliberately cautious count.</p>
<p>On a machine, the Felhom system gets the memory the installer gives it; the rest is for the base system. Fits well: one and a half times the peak still fits — the bar's length shows this, and the recommended size comes from it. Fits, but tight: the peak fits, one and a half times it does not — the thin mark shows this. The recommendation is the smallest of 8, 12, 16, 24, 32, 48 and 64 GB where it fits well.</p>
<p>The figures were measured on an N100 mini PC (13 October 2026): every app installed and at rest, the heavier ones also during one real task (a photo import, a film conversion, text recognition). A larger photo library or more users can need more.</p>
<p>The figures were measured on an N100 mini PC (13 October 2026): every app installed and at rest, the heavier ones also during one real task (a photo import, a film conversion, text recognition). On an HP t740 (14 October 2026) several apps also ran together; where one needed more memory there, the higher figure is used. A larger photo library or more users can need more.</p>
</details>
</section>
<script type="application/json" id="sizer-strings">{"selected": "{n} selected", "recommend": "Recommended: {a} {gb} GB machine.", "tight_on": "It fits on {gb} GB, but tight.", "only_tight": "None of the sizes fits well; from {gb} GB it fits, but tight.", "none_fits": "It does not fit any size, not even {gb} GB.", "over_max": "more than {gb} GB", "meter_text": "Machine memory needed: {x}", "tight_why": "Tight: it works, but a large photo import or a backup at the same time can slow it down.", "cpu_head": "These make the processor work hard for a short time", "heavy_pair": "{names}: they slow each other down only while both are working.", "and": " and ", "unmeasured": "Not yet measured", "builtin": "built in, part of every box", "load_error": "The estimate's data did not load. Reload the page.", "seg_base": "The machine's base system", "seg_platform": "Felhom's own services", "seg_spare": "Spare room", "seg_more": "{n} more apps", "seg_tight": "Fits, but tight, from", "why": "At peak your apps and Felhom's own services use {b}{peak} GB{/b}. The machine needs more than that: about {b}{base} GB{/b} stays with its base system, and we leave {spare} % spare room on top. That is why we recommend {b}{rec} GB{/b}.", "why_over": "At peak your apps and Felhom's own services use {b}{peak} GB{/b}. The machine needs more than that: about {b}{base} GB{/b} stays with its base system, and we leave {spare} % spare room on top. That is why it needs more than {b}{rec} GB{/b}.", "why_empty": "The machine's base system and Felhom's own services use about {b}{base_platform} GB{/b}.", "typical_line": "With Felhom's own services, the selected apps use {typical} on average and {peak} at peak.", "a": "a", "an": "an", "an_before": ["8", "11", "18", "80"]}</script>
+4 -4
View File
@@ -5,7 +5,7 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Milyen gép kell? — becslés a kiválasztott alkalmazásokhoz | Felhom.eu</title>
<meta name="description" content="Jelöld be, milyen alkalmazásokat futtatnál, és megmutatja, hogy egy 8, 16 vagy 32 GB-os gépbe belefér-e. Becslés egy N100-as mini PC-n végzett mérésből.">
<meta name="description" content="Jelöld be, milyen alkalmazásokat futtatnál, és megmutatja, hogy egy 8, 16 vagy 32 GB-os gépbe belefér-e. Becslés két gépen végzett mérésből: egy N100-as mini PC és egy HP t740.">
<link rel="canonical" href="https://felhom.eu/gepigeny">
<link rel="alternate" hreflang="hu" href="https://felhom.eu/gepigeny">
<link rel="alternate" hreflang="en" href="https://felhom.eu/en/sizing">
@@ -70,10 +70,10 @@
<div class="page-header">
<h1>Milyen gép <span>kell?</span></h1>
</div>
<p class="page-lede">Jelöld be, mit futtatnál a dobozon, és az oldal megmutatja, mekkora memóriájú gép kell hozzá. Ez becslés a saját mérésemből egy N100-as mini PC-n (2026. október 13.), nem ígéret.</p>
<p class="page-lede">Jelöld be, mit futtatnál a dobozon, és az oldal megmutatja, mekkora memóriájú gép kell hozzá. Ez becslés a saját mérésemből két gépen: egy N100-as mini PC-n és egy HP t740-en (2026. október 13–14.), nem ígéret.</p>
<noscript><p class="sizer-noscript">Ehhez az oldalhoz JavaScript kell. Kapcsold be, és töltsd újra az oldalt.</p></noscript>
<section class="shell-section sizer" id="sizer" data-src="/assets/sizing-data.json?v=3" hidden>
<section class="shell-section sizer" id="sizer" data-src="/assets/sizing-data.json?v=4" hidden>
<div class="sizer-presets" role="group" aria-label="Gyors választás">
<button type="button" class="btn btn-outline btn-sm" data-preset="immich,jellyfin,nextcloud,home-assistant,vaultwarden,paperless-ngx">Családi alapcsomag</button>
<button type="button" class="btn btn-outline btn-sm" data-preset="nextcloud,vaultwarden">Csak fájlok és jelszavak</button>
@@ -106,7 +106,7 @@
<p id="sizer-typical"></p>
<p>A doboz saját szolgáltatásai kb. 470 MB memóriát használnak (vezérlőpult, alagút, fájlkezelő, Docker). Ehhez adja hozzá a bejelölt alkalmazások mért értékeit: egyszer az átlagos használatot, egyszer a csúcsot, mintha minden alkalmazás egyszerre dolgozna. Ez szándékosan óvatos számítás.</p>
<p>Egy gépen a Felhom-rendszer annyi memóriát kap, amennyit a telepítő ad neki; a többi az alaprendszeré. „Bőven elfér”: a csúcs másfélszerese is belefér — ezt mutatja a sáv hossza, és ebből jön az ajánlott gépméret. „Elfér, de szűkösen”: a csúcs belefér, a másfélszerese nem — ezt mutatja a vékony jel. Az ajánlás a 8, 12, 16, 24, 32, 48 és 64 GB-os méretek közül a legkisebb, amelybe bőven elfér.</p>
<p>A számok egy N100-as mini PC-n mért értékek (2026. október 13.): minden alkalmazás telepítve, nyugalomban, a nehezebbek egy valódi feladat közben is (fotóimport, filmátalakítás, szövegfelismerés). Egy nagyobb fotótár vagy több felhasználó többet kérhet.</p>
<p>A számok egy N100-as mini PC-n mért értékek (2026. október 13.): minden alkalmazás telepítve, nyugalomban, a nehezebbek egy valódi feladat közben is (fotóimport, filmátalakítás, szövegfelismerés). Egy HP t740-en (2026. október 14.) több alkalmazás együtt is futott; ahol ott több memória kellett, a nagyobb szám szerepel. Egy nagyobb fotótár vagy több felhasználó többet kérhet.</p>
</details>
</section>
<script type="application/json" id="sizer-strings">{"selected": "{n} kiválasztva", "recommend": "Ajánlott: {gb} GB-os gép.", "tight_on": "{gb} GB-on szűkösen elfér.", "only_tight": "Bőven egyik méretbe sem fér; {gb} GB-tól szűkösen elfér.", "none_fits": "Egyik méretbe sem fér bele, {gb} GB-ba sem.", "over_max": "több mint {gb} GB", "meter_text": "Szükséges gépmemória: {x}", "tight_why": "Szűkösen: működik, de egy nagy fotóimport vagy egy közben futó mentés lelassíthatja.", "cpu_head": "Rövid ideig erősen dolgoztatják a processzort", "heavy_pair": "{names}: csak akkor lassítják egymást, amikor éppen egyszerre dolgoznak.", "and": " és ", "unmeasured": "Még nem mértük", "builtin": "beépítve, minden dobozban benne van", "load_error": "A becslés adatai nem töltődtek be. Töltsd újra az oldalt.", "seg_base": "A gép alaprendszere", "seg_platform": "Felhom saját szolgáltatásai", "seg_spare": "Tartalék", "seg_more": "további {n} alkalmazás", "seg_tight": "Szűkösen elfér innen:", "why": "Az alkalmazásaid a Felhom saját szolgáltatásaival együtt csúcson {b}{peak} GB{/b}-ot használnak. A gép ennél többet igényel: kb. {b}{base} GB{/b} a gép alaprendszeréé, és {spare} % tartalékot hagyunk mellé. Ezért ajánlott a {b}{rec} GB{/b}.", "why_over": "Az alkalmazásaid a Felhom saját szolgáltatásaival együtt csúcson {b}{peak} GB{/b}-ot használnak. A gép ennél többet igényel: kb. {b}{base} GB{/b} a gép alaprendszeréé, és {spare} % tartalékot hagyunk mellé. Ezért {b}{rec} GB{/b}-nál is több kell.", "why_empty": "A gép alaprendszere és a Felhom saját szolgáltatásai kb. {b}{base_platform} GB{/b}-ot használnak.", "typical_line": "A kiválasztott alkalmazások a Felhom saját szolgáltatásaival együtt átlagosan {typical}-ot, csúcson {peak}-ot használnak.", "a": "", "an": "", "an_before": []}</script>