Files
felhom.eu/documentation/audits/sizing-2026-10-13/evidence/b5/summary.json
T
admin c885b5acf4 Audit: what a Felhom box needs — floor, 64 apps' memory and CPU, power (N100 bench); R-993..R-995; R-231 due check read green
Measured on demo-felhom (N100, 16 GB): 61 apps deployed and removed through the
product, sampled every 5 s; heavy apps with one real action (Immich 200 photos,
Jellyfin transcode, Paperless OCR, Nextcloud 500 MB, ...). sizing.json for the
estimator (tools/build_sizing.py), SIZING.md with the proposed minimum machine,
METHOD.md. Power is RAPL CPU-package only (no meter). R-993 asks the operator to
approve the minimum machine; R-994 lists catalog limits/requests that are too low;
R-995 records leftover unnamed volumes after removal. R-231's dated check measured:
dooplex-backup.service success, journal green.
2026-10-13 13:23:51 +02:00

296 lines
6.3 KiB
JSON

{
"apps": {
"felhom-controller": {
"samples": 243,
"rest_samples": 179,
"mem_rest_avg_mb": 39,
"mem_rest_p95_mb": 41,
"mem_peak_used_mb": 67,
"mem_peak_anon_mb": 59,
"mem_rest_anon_avg_mb": 32,
"kernel_memory_peak_mb": 153,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.27,
"cpu_peak_1m_pct": 1.1,
"cpu_peak_5s_pct": 7.9,
"work_seconds": 1219,
"containers": {
"felhom-controller": {
"peak_used_mb": 67,
"peak_anon_mb": 59,
"limit_mb": null
}
}
},
"cloudflared": {
"samples": 243,
"rest_samples": 179,
"mem_rest_avg_mb": 40,
"mem_rest_p95_mb": 40,
"mem_peak_used_mb": 40,
"mem_peak_anon_mb": 16,
"mem_rest_anon_avg_mb": 16,
"kernel_memory_peak_mb": 68,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.11,
"cpu_peak_1m_pct": 0.1,
"cpu_peak_5s_pct": 0.4,
"work_seconds": 1219,
"containers": {
"cloudflared": {
"peak_used_mb": 40,
"peak_anon_mb": 16,
"limit_mb": null
}
}
},
"filebrowser": {
"samples": 243,
"rest_samples": 179,
"mem_rest_avg_mb": 21,
"mem_rest_p95_mb": 21,
"mem_peak_used_mb": 21,
"mem_peak_anon_mb": 18,
"mem_rest_anon_avg_mb": 18,
"kernel_memory_peak_mb": 101,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.03,
"cpu_peak_1m_pct": 0.0,
"cpu_peak_5s_pct": 0.2,
"work_seconds": 1219,
"containers": {
"filebrowser": {
"peak_used_mb": 21,
"peak_anon_mb": 18,
"limit_mb": 256
}
}
},
"traefik": {
"samples": 243,
"rest_samples": 179,
"mem_rest_avg_mb": 86,
"mem_rest_p95_mb": 90,
"mem_peak_used_mb": 91,
"mem_peak_anon_mb": 23,
"mem_rest_anon_avg_mb": 19,
"kernel_memory_peak_mb": 125,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.01,
"cpu_peak_1m_pct": 0.3,
"cpu_peak_5s_pct": 1.2,
"work_seconds": 1219,
"containers": {
"traefik": {
"peak_used_mb": 91,
"peak_anon_mb": 23,
"limit_mb": null
}
}
},
"opengist": {
"samples": 243,
"rest_samples": 179,
"mem_rest_avg_mb": 24,
"mem_rest_p95_mb": 24,
"mem_peak_used_mb": 24,
"mem_peak_anon_mb": 23,
"mem_rest_anon_avg_mb": 22,
"kernel_memory_peak_mb": 29,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.03,
"cpu_peak_1m_pct": 0.0,
"cpu_peak_5s_pct": 0.2,
"work_seconds": 1219,
"containers": {
"opengist": {
"peak_used_mb": 24,
"peak_anon_mb": 23,
"limit_mb": 128
}
}
},
"dawarich": {
"samples": 231,
"rest_samples": 179,
"mem_rest_avg_mb": 599,
"mem_rest_p95_mb": 605,
"mem_peak_used_mb": 628,
"mem_peak_anon_mb": 537,
"mem_rest_anon_avg_mb": 494,
"kernel_memory_peak_mb": 1302,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.48,
"cpu_peak_1m_pct": 14.4,
"cpu_peak_5s_pct": 43.7,
"work_seconds": 1159,
"containers": {
"dawarich-db": {
"peak_used_mb": 66,
"peak_anon_mb": 14,
"limit_mb": 512
},
"dawarich": {
"peak_used_mb": 290,
"peak_anon_mb": 271,
"limit_mb": 1024
},
"dawarich-redis": {
"peak_used_mb": 13,
"peak_anon_mb": 11,
"limit_mb": 128
},
"dawarich-sidekiq": {
"peak_used_mb": 290,
"peak_anon_mb": 275,
"limit_mb": 1024
}
}
},
"outline": {
"samples": 213,
"rest_samples": 179,
"mem_rest_avg_mb": 282,
"mem_rest_p95_mb": 287,
"mem_peak_used_mb": 351,
"mem_peak_anon_mb": 301,
"mem_rest_anon_avg_mb": 232,
"kernel_memory_peak_mb": 440,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.39,
"cpu_peak_1m_pct": 1.4,
"cpu_peak_5s_pct": 10.2,
"work_seconds": 1069,
"containers": {
"outline-postgres": {
"peak_used_mb": 41,
"peak_anon_mb": 11,
"limit_mb": 256
},
"outline-redis": {
"peak_used_mb": 7,
"peak_anon_mb": 6,
"limit_mb": 128
},
"outline": {
"peak_used_mb": 307,
"peak_anon_mb": 287,
"limit_mb": 768
}
}
},
"rallly": {
"samples": 207,
"rest_samples": 179,
"mem_rest_avg_mb": 360,
"mem_rest_p95_mb": 364,
"mem_peak_used_mb": 372,
"mem_peak_anon_mb": 331,
"mem_rest_anon_avg_mb": 317,
"kernel_memory_peak_mb": 461,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.19,
"cpu_peak_1m_pct": 2.9,
"cpu_peak_5s_pct": 24.6,
"work_seconds": 1039,
"containers": {
"rallly-postgres": {
"peak_used_mb": 37,
"peak_anon_mb": 7,
"limit_mb": 256
},
"rallly": {
"peak_used_mb": 337,
"peak_anon_mb": 324,
"limit_mb": 768
}
}
},
"sparkyfitness": {
"samples": 195,
"rest_samples": 179,
"mem_rest_avg_mb": 305,
"mem_rest_p95_mb": 306,
"mem_peak_used_mb": 406,
"mem_peak_anon_mb": 353,
"mem_rest_anon_avg_mb": 253,
"kernel_memory_peak_mb": 499,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.23,
"cpu_peak_1m_pct": 0.4,
"cpu_peak_5s_pct": 1.6,
"work_seconds": 978,
"containers": {
"sparkyfitness-server": {
"peak_used_mb": 357,
"peak_anon_mb": 336,
"limit_mb": 1024
},
"sparkyfitness": {
"peak_used_mb": 5,
"peak_anon_mb": 3,
"limit_mb": 256
},
"sparkyfitness-db": {
"peak_used_mb": 46,
"peak_anon_mb": 14,
"limit_mb": 512
}
}
},
"grocy": {
"samples": 189,
"rest_samples": 179,
"mem_rest_avg_mb": 30,
"mem_rest_p95_mb": 30,
"mem_peak_used_mb": 30,
"mem_peak_anon_mb": 16,
"mem_rest_anon_avg_mb": 16,
"kernel_memory_peak_mb": 104,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.04,
"cpu_peak_1m_pct": 0.3,
"cpu_peak_5s_pct": 3.4,
"work_seconds": 948,
"containers": {
"grocy": {
"peak_used_mb": 30,
"peak_anon_mb": 16,
"limit_mb": 384
}
}
},
"metube": {
"samples": 177,
"rest_samples": 177,
"mem_rest_avg_mb": 62,
"mem_rest_p95_mb": 62,
"mem_peak_used_mb": 62,
"mem_peak_anon_mb": 59,
"mem_rest_anon_avg_mb": 59,
"kernel_memory_peak_mb": 69,
"oom_kills": 0,
"cpu_rest_avg_pct": 0.03,
"cpu_peak_1m_pct": 0.1,
"cpu_peak_5s_pct": 0.2,
"work_seconds": 887,
"containers": {
"metube": {
"peak_used_mb": 62,
"peak_anon_mb": 59,
"limit_mb": 768
}
}
}
},
"host": {
"host_mem_used_rest_avg_mb": 3926,
"host_mem_used_peak_mb": 4127,
"guest_mem_current_rest_avg_mb": 11777,
"guest_anon_rest_avg_mb": 1658,
"rapl_pkg_w_rest_avg": 4.44,
"rapl_pkg_w_peak_5s": 12.8,
"rapl_pkg_w_peak_1m": 10.84,
"pkg_temp_c_max": 61.0
}
}