Budget Homelab Architect

OptiPlex 990 / Enterprise Simulator
Fixture Purchase Cost
$465
Within $500 budget
Assumed Idle / Peak
32W / 148W
240W PSU (61% load)
Modeled Annual Electric
$68.67
@ $0.16/kWh blended
Fixture RAM Allocation
11.5 / 16 GB
4.5 GB buffer free
Assumed Noise
34 dB / Low
Unmeasured acoustic fixture
System Topology & Bus Interconnect Canvas Schematic; scroll sideways on small screens
CHASSIS: Dell OptiPlex 990 SFF | BUS: PCIe 2.0 x16 + SATA-II/III
Automated Hardware Constraint Engine 0 Critical Errors

Authored rule checks only. No hardware, drivers, electrical limits, clearances or network performance have been inspected.

Example Cost Assumptions: Desktop vs Rack
Repurposed SFF PC (OptiPlex 990)

Example acquisition and power assumptions only: the calculator uses $50 base cost, 28W base idle, and 32dB idle-noise fixture. Measure your exact system; no current listing or acoustic test supports these numbers.

Dual PowerEdge Rack Servers ($40)

The combined rack scenario uses $40 base cost and 235W idle. The model does not identify two serial-numbered servers, split per-server power, or verify noise and annual costs.

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.

Super generates helpful tools and automates fact-checking across the internet proactively. If you enjoyed this tool, build your own with Super and share it with a friend.