c885b5acf4
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.
642 lines
12 KiB
JSON
642 lines
12 KiB
JSON
[
|
|
{
|
|
"app": "actualbudget",
|
|
"customer": "demo-hp",
|
|
"reports": 2,
|
|
"days": 1,
|
|
"first": "2026-09-13",
|
|
"last": "2026-09-13",
|
|
"mem_avg": 47,
|
|
"mem_p95": 48,
|
|
"mem_max": 48,
|
|
"cpu_avg_dockerpct": 0.0,
|
|
"cpu_p95_15min": 0.0,
|
|
"cpu_max_15min": 0.0,
|
|
"est": "50M",
|
|
"limit": "256M"
|
|
},
|
|
{
|
|
"app": "actualbudget",
|
|
"customer": "tester-1",
|
|
"reports": 52,
|
|
"days": 2,
|
|
"first": "2026-09-29",
|
|
"last": "2026-09-30",
|
|
"mem_avg": 87,
|
|
"mem_p95": 167,
|
|
"mem_max": 167,
|
|
"cpu_avg_dockerpct": 0.72,
|
|
"cpu_p95_15min": 6.2,
|
|
"cpu_max_15min": 9.3,
|
|
"est": "50M",
|
|
"limit": "256M"
|
|
},
|
|
{
|
|
"app": "adventurelog",
|
|
"customer": "demo-hp",
|
|
"reports": 3024,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 361,
|
|
"mem_p95": 464,
|
|
"mem_max": 501,
|
|
"cpu_avg_dockerpct": 3.05,
|
|
"cpu_p95_15min": 6.9,
|
|
"cpu_max_15min": 125.4,
|
|
"est": "100M",
|
|
"limit": "896M"
|
|
},
|
|
{
|
|
"app": "adventurelog",
|
|
"customer": "tester-1",
|
|
"reports": 44,
|
|
"days": 4,
|
|
"first": "2026-09-14",
|
|
"last": "2026-09-17",
|
|
"mem_avg": 327,
|
|
"mem_p95": 491,
|
|
"mem_max": 529,
|
|
"cpu_avg_dockerpct": 13.1,
|
|
"cpu_p95_15min": 83.7,
|
|
"cpu_max_15min": 83.7,
|
|
"est": "100M",
|
|
"limit": "384M"
|
|
},
|
|
{
|
|
"app": "bentopdf",
|
|
"customer": "demo-hp",
|
|
"reports": 3138,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 5,
|
|
"mem_p95": 10,
|
|
"mem_max": 16,
|
|
"cpu_avg_dockerpct": 0.13,
|
|
"cpu_p95_15min": 1.2,
|
|
"cpu_max_15min": 3.0,
|
|
"est": "100M",
|
|
"limit": "384M"
|
|
},
|
|
{
|
|
"app": "bookstack",
|
|
"customer": "demo-hp",
|
|
"reports": 3138,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 159,
|
|
"mem_p95": 225,
|
|
"mem_max": 233,
|
|
"cpu_avg_dockerpct": 0.98,
|
|
"cpu_p95_15min": 3.2,
|
|
"cpu_max_15min": 43.2,
|
|
"est": "150M",
|
|
"limit": "768M"
|
|
},
|
|
{
|
|
"app": "bookstack",
|
|
"customer": "tester-1",
|
|
"reports": 966,
|
|
"days": 16,
|
|
"first": "2026-09-14",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 194,
|
|
"mem_p95": 286,
|
|
"mem_max": 299,
|
|
"cpu_avg_dockerpct": 1.53,
|
|
"cpu_p95_15min": 4.6,
|
|
"cpu_max_15min": 85.1,
|
|
"est": "150M",
|
|
"limit": "768M"
|
|
},
|
|
{
|
|
"app": "calibre-web",
|
|
"customer": "demo-hp",
|
|
"reports": 3134,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 191,
|
|
"mem_p95": 361,
|
|
"mem_max": 391,
|
|
"cpu_avg_dockerpct": 0.36,
|
|
"cpu_p95_15min": 2.3,
|
|
"cpu_max_15min": 74.1,
|
|
"est": "200M",
|
|
"limit": "768M"
|
|
},
|
|
{
|
|
"app": "docmost",
|
|
"customer": "demo-hp",
|
|
"reports": 3137,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 415,
|
|
"mem_p95": 495,
|
|
"mem_max": 545,
|
|
"cpu_avg_dockerpct": 2.16,
|
|
"cpu_p95_15min": 4.8,
|
|
"cpu_max_15min": 67.1,
|
|
"est": "200M",
|
|
"limit": "896M"
|
|
},
|
|
{
|
|
"app": "docmost",
|
|
"customer": "tester-1",
|
|
"reports": 25,
|
|
"days": 2,
|
|
"first": "2026-09-14",
|
|
"last": "2026-09-15",
|
|
"mem_avg": 353,
|
|
"mem_p95": 420,
|
|
"mem_max": 420,
|
|
"cpu_avg_dockerpct": 3.2,
|
|
"cpu_p95_15min": 13.0,
|
|
"cpu_max_15min": 17.7,
|
|
"est": "200M",
|
|
"limit": "768M"
|
|
},
|
|
{
|
|
"app": "felhom-controller",
|
|
"customer": "Tester-2",
|
|
"reports": 7,
|
|
"days": 1,
|
|
"first": "2026-10-04",
|
|
"last": "2026-10-04",
|
|
"mem_avg": 104,
|
|
"mem_p95": 137,
|
|
"mem_max": 137,
|
|
"cpu_avg_dockerpct": 17.5,
|
|
"cpu_p95_15min": 69.0,
|
|
"cpu_max_15min": 69.0,
|
|
"est": "",
|
|
"limit": ""
|
|
},
|
|
{
|
|
"app": "felhom-controller",
|
|
"customer": "demo-felhom",
|
|
"reports": 3033,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 43,
|
|
"mem_p95": 122,
|
|
"mem_max": 156,
|
|
"cpu_avg_dockerpct": 2.35,
|
|
"cpu_p95_15min": 7.3,
|
|
"cpu_max_15min": 62.3,
|
|
"est": "",
|
|
"limit": ""
|
|
},
|
|
{
|
|
"app": "felhom-controller",
|
|
"customer": "demo-hp",
|
|
"reports": 3116,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 79,
|
|
"mem_p95": 149,
|
|
"mem_max": 1340,
|
|
"cpu_avg_dockerpct": 6.25,
|
|
"cpu_p95_15min": 19.0,
|
|
"cpu_max_15min": 83.1,
|
|
"est": "",
|
|
"limit": ""
|
|
},
|
|
{
|
|
"app": "felhom-controller",
|
|
"customer": "tester-1",
|
|
"reports": 1021,
|
|
"days": 16,
|
|
"first": "2026-09-14",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 73,
|
|
"mem_p95": 152,
|
|
"mem_max": 345,
|
|
"cpu_avg_dockerpct": 5.13,
|
|
"cpu_p95_15min": 15.7,
|
|
"cpu_max_15min": 72.2,
|
|
"est": "",
|
|
"limit": ""
|
|
},
|
|
{
|
|
"app": "glance",
|
|
"customer": "demo-hp",
|
|
"reports": 3,
|
|
"days": 1,
|
|
"first": "2026-09-23",
|
|
"last": "2026-09-23",
|
|
"mem_avg": 6,
|
|
"mem_p95": 7,
|
|
"mem_max": 7,
|
|
"cpu_avg_dockerpct": 0.0,
|
|
"cpu_p95_15min": 0.0,
|
|
"cpu_max_15min": 0.0,
|
|
"est": "20M",
|
|
"limit": "128M"
|
|
},
|
|
{
|
|
"app": "gokapi",
|
|
"customer": "demo-hp",
|
|
"reports": 4,
|
|
"days": 1,
|
|
"first": "2026-09-13",
|
|
"last": "2026-09-13",
|
|
"mem_avg": 5,
|
|
"mem_p95": 7,
|
|
"mem_max": 7,
|
|
"cpu_avg_dockerpct": 0.26,
|
|
"cpu_p95_15min": 1.0,
|
|
"cpu_max_15min": 1.0,
|
|
"est": "30M",
|
|
"limit": "128M"
|
|
},
|
|
{
|
|
"app": "gokapi",
|
|
"customer": "tester-1",
|
|
"reports": 59,
|
|
"days": 4,
|
|
"first": "2026-09-14",
|
|
"last": "2026-09-17",
|
|
"mem_avg": 13,
|
|
"mem_p95": 77,
|
|
"mem_max": 77,
|
|
"cpu_avg_dockerpct": 8.63,
|
|
"cpu_p95_15min": 49.4,
|
|
"cpu_max_15min": 98.7,
|
|
"est": "30M",
|
|
"limit": "128M"
|
|
},
|
|
{
|
|
"app": "grimmory",
|
|
"customer": "demo-hp",
|
|
"reports": 3,
|
|
"days": 1,
|
|
"first": "2026-10-02",
|
|
"last": "2026-10-02",
|
|
"mem_avg": 459,
|
|
"mem_p95": 580,
|
|
"mem_max": 580,
|
|
"cpu_avg_dockerpct": 12.24,
|
|
"cpu_p95_15min": 22.9,
|
|
"cpu_max_15min": 22.9,
|
|
"est": "600M",
|
|
"limit": "1408M"
|
|
},
|
|
{
|
|
"app": "homebox",
|
|
"customer": "demo-hp",
|
|
"reports": 1,
|
|
"days": 1,
|
|
"first": "2026-09-17",
|
|
"last": "2026-09-17",
|
|
"mem_avg": 17,
|
|
"mem_p95": 19,
|
|
"mem_max": 19,
|
|
"cpu_avg_dockerpct": 0.25,
|
|
"cpu_p95_15min": 0.2,
|
|
"cpu_max_15min": 0.2,
|
|
"est": "50M",
|
|
"limit": "256M"
|
|
},
|
|
{
|
|
"app": "homebox",
|
|
"customer": "tester-1",
|
|
"reports": 38,
|
|
"days": 3,
|
|
"first": "2026-09-15",
|
|
"last": "2026-09-17",
|
|
"mem_avg": 42,
|
|
"mem_p95": 118,
|
|
"mem_max": 120,
|
|
"cpu_avg_dockerpct": 0.35,
|
|
"cpu_p95_15min": 1.3,
|
|
"cpu_max_15min": 2.6,
|
|
"est": "50M",
|
|
"limit": "256M"
|
|
},
|
|
{
|
|
"app": "immich",
|
|
"customer": "tester-1",
|
|
"reports": 38,
|
|
"days": 4,
|
|
"first": "2026-09-14",
|
|
"last": "2026-09-17",
|
|
"mem_avg": 1036,
|
|
"mem_p95": 2873,
|
|
"mem_max": 2879,
|
|
"cpu_avg_dockerpct": 36.84,
|
|
"cpu_p95_15min": 183.7,
|
|
"cpu_max_15min": 189.5,
|
|
"est": "2048M",
|
|
"limit": "4096M"
|
|
},
|
|
{
|
|
"app": "jellyfin",
|
|
"customer": "tester-1",
|
|
"reports": 42,
|
|
"days": 4,
|
|
"first": "2026-09-14",
|
|
"last": "2026-09-17",
|
|
"mem_avg": 166,
|
|
"mem_p95": 405,
|
|
"mem_max": 472,
|
|
"cpu_avg_dockerpct": 2.28,
|
|
"cpu_p95_15min": 12.2,
|
|
"cpu_max_15min": 22.1,
|
|
"est": "512M",
|
|
"limit": "2048M"
|
|
},
|
|
{
|
|
"app": "kimai",
|
|
"customer": "demo-hp",
|
|
"reports": 3138,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 163,
|
|
"mem_p95": 240,
|
|
"mem_max": 437,
|
|
"cpu_avg_dockerpct": 1.05,
|
|
"cpu_p95_15min": 3.5,
|
|
"cpu_max_15min": 69.9,
|
|
"est": "100M",
|
|
"limit": "640M"
|
|
},
|
|
{
|
|
"app": "mealie",
|
|
"customer": "tester-1",
|
|
"reports": 49,
|
|
"days": 4,
|
|
"first": "2026-09-14",
|
|
"last": "2026-09-17",
|
|
"mem_avg": 266,
|
|
"mem_p95": 431,
|
|
"mem_max": 431,
|
|
"cpu_avg_dockerpct": 7.05,
|
|
"cpu_p95_15min": 40.8,
|
|
"cpu_max_15min": 81.4,
|
|
"est": "200M",
|
|
"limit": "1000M"
|
|
},
|
|
{
|
|
"app": "metube",
|
|
"customer": "demo-hp",
|
|
"reports": 1,
|
|
"days": 1,
|
|
"first": "2026-10-02",
|
|
"last": "2026-10-02",
|
|
"mem_avg": 87,
|
|
"mem_p95": 87,
|
|
"mem_max": 87,
|
|
"cpu_avg_dockerpct": 0.02,
|
|
"cpu_p95_15min": 0.0,
|
|
"cpu_max_15min": 0.0,
|
|
"est": "128M",
|
|
"limit": "768M"
|
|
},
|
|
{
|
|
"app": "nextcloud",
|
|
"customer": "demo-hp",
|
|
"reports": 28,
|
|
"days": 2,
|
|
"first": "2026-09-13",
|
|
"last": "2026-09-28",
|
|
"mem_avg": 283,
|
|
"mem_p95": 321,
|
|
"mem_max": 337,
|
|
"cpu_avg_dockerpct": 7.3,
|
|
"cpu_p95_15min": 68.2,
|
|
"cpu_max_15min": 84.4,
|
|
"est": "256M",
|
|
"limit": "1024M"
|
|
},
|
|
{
|
|
"app": "nextcloud",
|
|
"customer": "tester-1",
|
|
"reports": 64,
|
|
"days": 4,
|
|
"first": "2026-09-14",
|
|
"last": "2026-09-17",
|
|
"mem_avg": 230,
|
|
"mem_p95": 525,
|
|
"mem_max": 525,
|
|
"cpu_avg_dockerpct": 14.04,
|
|
"cpu_p95_15min": 69.6,
|
|
"cpu_max_15min": 138.4,
|
|
"est": "256M",
|
|
"limit": "1024M"
|
|
},
|
|
{
|
|
"app": "opengist",
|
|
"customer": "demo-felhom",
|
|
"reports": 3037,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 24,
|
|
"mem_p95": 67,
|
|
"mem_max": 73,
|
|
"cpu_avg_dockerpct": 0.09,
|
|
"cpu_p95_15min": 0.8,
|
|
"cpu_max_15min": 3.2,
|
|
"est": "30M",
|
|
"limit": "128M"
|
|
},
|
|
{
|
|
"app": "opengist",
|
|
"customer": "demo-hp",
|
|
"reports": 3138,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 27,
|
|
"mem_p95": 68,
|
|
"mem_max": 73,
|
|
"cpu_avg_dockerpct": 0.13,
|
|
"cpu_p95_15min": 1.4,
|
|
"cpu_max_15min": 3.3,
|
|
"est": "30M",
|
|
"limit": "128M"
|
|
},
|
|
{
|
|
"app": "paperless-ngx",
|
|
"customer": "demo-hp",
|
|
"reports": 3136,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 568,
|
|
"mem_p95": 659,
|
|
"mem_max": 690,
|
|
"cpu_avg_dockerpct": 2.31,
|
|
"cpu_p95_15min": 4.3,
|
|
"cpu_max_15min": 62.4,
|
|
"est": "500M",
|
|
"limit": "1664M"
|
|
},
|
|
{
|
|
"app": "paperless-ngx",
|
|
"customer": "tester-1",
|
|
"reports": 902,
|
|
"days": 14,
|
|
"first": "2026-09-14",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 605,
|
|
"mem_p95": 743,
|
|
"mem_max": 809,
|
|
"cpu_avg_dockerpct": 4.93,
|
|
"cpu_p95_15min": 12.0,
|
|
"cpu_max_15min": 242.0,
|
|
"est": "500M",
|
|
"limit": "1664M"
|
|
},
|
|
{
|
|
"app": "privatebin",
|
|
"customer": "demo-hp",
|
|
"reports": 3138,
|
|
"days": 31,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 40,
|
|
"mem_p95": 59,
|
|
"mem_max": 64,
|
|
"cpu_avg_dockerpct": 0.19,
|
|
"cpu_p95_15min": 1.5,
|
|
"cpu_max_15min": 3.0,
|
|
"est": "30M",
|
|
"limit": "128M"
|
|
},
|
|
{
|
|
"app": "privatebin",
|
|
"customer": "tester-1",
|
|
"reports": 927,
|
|
"days": 14,
|
|
"first": "2026-09-14",
|
|
"last": "2026-10-13",
|
|
"mem_avg": 36,
|
|
"mem_p95": 68,
|
|
"mem_max": 73,
|
|
"cpu_avg_dockerpct": 0.19,
|
|
"cpu_p95_15min": 1.5,
|
|
"cpu_max_15min": 5.9,
|
|
"est": "30M",
|
|
"limit": "128M"
|
|
},
|
|
{
|
|
"app": "romm",
|
|
"customer": "demo-hp",
|
|
"reports": 2264,
|
|
"days": 22,
|
|
"first": "2026-09-13",
|
|
"last": "2026-10-04",
|
|
"mem_avg": 528,
|
|
"mem_p95": 769,
|
|
"mem_max": 855,
|
|
"cpu_avg_dockerpct": 7.5,
|
|
"cpu_p95_15min": 9.9,
|
|
"cpu_max_15min": 460.8,
|
|
"est": "300M",
|
|
"limit": "1280M"
|
|
},
|
|
{
|
|
"app": "uptime-kuma",
|
|
"customer": "demo-hp",
|
|
"reports": 4,
|
|
"days": 1,
|
|
"first": "2026-09-13",
|
|
"last": "2026-09-13",
|
|
"mem_avg": 103,
|
|
"mem_p95": 104,
|
|
"mem_max": 104,
|
|
"cpu_avg_dockerpct": 3.03,
|
|
"cpu_p95_15min": 4.2,
|
|
"cpu_max_15min": 4.2,
|
|
"est": "50M",
|
|
"limit": "256M"
|
|
},
|
|
{
|
|
"app": "uptime-kuma",
|
|
"customer": "tester-1",
|
|
"reports": 49,
|
|
"days": 4,
|
|
"first": "2026-09-14",
|
|
"last": "2026-09-17",
|
|
"mem_avg": 109,
|
|
"mem_p95": 227,
|
|
"mem_max": 240,
|
|
"cpu_avg_dockerpct": 1.83,
|
|
"cpu_p95_15min": 4.1,
|
|
"cpu_max_15min": 20.2,
|
|
"est": "50M",
|
|
"limit": "256M"
|
|
},
|
|
{
|
|
"app": "vaultwarden",
|
|
"customer": "demo-hp",
|
|
"reports": 1,
|
|
"days": 1,
|
|
"first": "2026-09-18",
|
|
"last": "2026-09-18",
|
|
"mem_avg": 0,
|
|
"mem_p95": 0,
|
|
"mem_max": 0,
|
|
"cpu_avg_dockerpct": 0.0,
|
|
"cpu_p95_15min": 0.0,
|
|
"cpu_max_15min": 0.0,
|
|
"est": "50M",
|
|
"limit": "256M"
|
|
},
|
|
{
|
|
"app": "vaultwarden",
|
|
"customer": "tester-1",
|
|
"reports": 64,
|
|
"days": 4,
|
|
"first": "2026-09-14",
|
|
"last": "2026-09-17",
|
|
"mem_avg": 45,
|
|
"mem_p95": 99,
|
|
"mem_max": 99,
|
|
"cpu_avg_dockerpct": 0.15,
|
|
"cpu_p95_15min": 0.9,
|
|
"cpu_max_15min": 1.7,
|
|
"est": "50M",
|
|
"limit": "256M"
|
|
},
|
|
{
|
|
"app": "vikunja",
|
|
"customer": "demo-hp",
|
|
"reports": 1,
|
|
"days": 1,
|
|
"first": "2026-09-23",
|
|
"last": "2026-09-23",
|
|
"mem_avg": 15,
|
|
"mem_p95": 15,
|
|
"mem_max": 15,
|
|
"cpu_avg_dockerpct": 0.0,
|
|
"cpu_p95_15min": 0.0,
|
|
"cpu_max_15min": 0.0,
|
|
"est": "50M",
|
|
"limit": "256M"
|
|
},
|
|
{
|
|
"app": "vikunja",
|
|
"customer": "tester-1",
|
|
"reports": 52,
|
|
"days": 2,
|
|
"first": "2026-09-29",
|
|
"last": "2026-09-30",
|
|
"mem_avg": 50,
|
|
"mem_p95": 104,
|
|
"mem_max": 104,
|
|
"cpu_avg_dockerpct": 0.0,
|
|
"cpu_p95_15min": 0.0,
|
|
"cpu_max_15min": 0.0,
|
|
"est": "50M",
|
|
"limit": "256M"
|
|
}
|
|
] |