Plan a homelab from measured needs
Which parts of this build are assumptions, and which need a manual or a workload test? Use the schematic to organize a plan, then verify the exact hardware, software and energy use.
All prices, idle/peak watts, noise, slot budgets and service RAM values are authored fixtures. There are no current seller quotes, wall-power readings, driver checks or certified compatibility results. A clear diagnostic badge means only that the selected fixtures pass this page’s rules.
Try the default energy calculation
The SFF example costs $50 + $179 + $75 + $55 = $359. Its 28W chassis idle plus an 8W GPU allowance gives 36W; 65W CPU + 70W GPU + 15W peripherals gives 150W peak. Assuming 85% idle and 15% peak yields 53.1W average. At 8,760 hours/year and $0.16/kWh, that is 465.156kWh and $74.42/year. Enabled services change the RAM tally, not these power assumptions. Measure whole-system wall power over your actual workload before comparing electricity costs.
Check the exact device, not just its processor name
Intel lists N100 with 6W TDP, 16GB maximum memory and Quick Sync support. The processor TDP is not an entire mini-PC’s wall-power measurement; chassis ports, cooling and adapter ratings depend on the device. This planner’s shared 4–128GB RAM input does not validate platform memory support.
Intel: N100 specifications
For expansion cards, verify the exact card dimensions, bracket, connector needs and board manual. Nominal PSU subtraction does not test transient loads or rail limits. The schematic preserves readable node spacing with horizontal scrolling on narrow screens; it is not a scale drawing or automatic hardware discovery.
Separate video codecs from machine learning
NVIDIA’s matrix distinguishes encoding from decoding: the RTX 3050 supports AV1 decoding, not AV1 encoding. The retained legacy av1 flag in the JSON is not proof of encoder support. Selecting a card does not activate a driver or container.
NVIDIA: video encode/decode matrix
Immich describes ML backends such as CUDA and OpenVINO separately from video transcoding. Its setup requires the appropriate image/backend and device configuration. This planner’s NVIDIA boolean and generic device reservation do not verify accelerated facial recognition, codec support or stream capacity.
Immich: machine-learning acceleration
Understand the draft downloads
The JSON records fixture profiles, selected services and modeled diagnostics. The Compose output is incomplete: Immich references redis and database without defining them and relies on an external .env; its ML image lacks a selected acceleration backend. Follow Immich’s official release Compose and environment-file instructions instead of treating this draft as deployable.
Immich: required installation files
The retained Pi-hole snippet has a placeholder password and legacy WEBPASSWORD setting; current Pi-hole documentation uses FTLCONF_webserver_api_password. Review image versions and host paths. Jellyfin selection now adds a basic official-image snippet, but does not configure acceleration. Nothing is started or installed by these downloads.
Pi-hole: current container configuration · Jellyfin: official container and mounts
What changes, and what remains fixed?
The RAM tally starts with 1GB for Linux, then adds fixed service allocations; it does not measure actual memory, VRAM or swap. RAM above 16GB adds $2/GB to cost. Network selection changes acquisition cost and a rule message, not throughput. The rack and N100 presets keep current service choices; the SFF preset and Reset restore its four default services. Reset keeps the electricity rate; reload restores $0.16/kWh. Blank or zero RAM/rate fields internally fall back to 16GB/$0.16, and values outside the HTML limits are not platform-validated. There is no import or persistent saved build.