Rack & power 9 items
Shared infrastructure — the frame and everything that feeds or connects the machines in it. Per-machine parts live under their own server below.
| Item | Qty | Price |
|---|---|---|
| VEVOR 20U Open Frame Server Rack23″–40″ adjustable depth, 4-post, casters · B0C64YY7G7 Set post-to-post depth to 24″ before mounting anything. | 1 | 125.99 |
| CyberPower CP1500PFCRM2U Planned1500 VA / 1000 W pure sine, AVR, 8 outlets, 2U rackmount, 10.5″ deep · B0B354X985 Pure sine is the right call for the PSU's active PFC. The target unit, not a day-one buy — the APC below carries the load meanwhile, so this price sits outside the build total. Takes the media and cloud servers — about 475 W, under half its rating, roughly ten minutes. The game server goes on the BR1000MS instead. A 2000 VA version is $449.95 if the NAS is a certainty — see UPS headroom. | 1 | 359.95 |
| Second CyberPower CP1500PFCRM2U Later1500 VA / 1000 W pure sine, 2U · $359.95 · conditional, outside every total Buy it to replace the BR1000MS, not to sit beside it. Two matched 2U units want 4U against the current 2U-plus-a-tower-on-a-shelf, so it gives a rack unit back. One battery SKU, one NUT config, and either unit can take any server. Not worth it yet — media server runtime is already ~10 min, which is a shutdown window rather than a reserve. Two triggers change that: the NAS landing (pushes the first unit to ~60% and runtime back to 6–7 min), or the BR1000MS battery failing, when you are spending money regardless. It buys blast radius, not redundancy. Every server here is single-PSU, so a second unit splits load and cannot fail over — real A+B needs dual-PSU servers or a transfer switch per box, which costs more than the UPS. | 1 | — |
| APC Back-UPS Pro BR1000MS Have1000 VA / 600 W pure sine, AVR, tower 14.5″×3.9″×10.2″ · B0779KYKLB Carries the media server and the office eero today. Once the CyberPower lands this takes the game server plus the office eero and three switches — about 190 W, a third of its rating, roughly 20 minutes. Not interim; it has a permanent job. One of only two pure-sine units in the house, so it and the CyberPower are the only ones that may ever carry a server. See the power topology. Tower, not rackmount: it needs a shelf, and lying on its side it eats about 3U against the CyberPower's 2U. | 1 | — |
| Vented rack shelf Add1U or 2U, depth to suit a 14.5″ tower Nothing on the list holds the APC. Not costed yet — no model chosen, so it isn't in the still-needed figure. Stays for good — the APC keeps the network gear after the CyberPower arrives, so this is not a temporary fixture. | 1 | — |
| NETGEAR ProSafe GS116 Have16-port gigabit, unmanaged, 11.22″ desktop form factor Serves the whole rack, not one machine. Internet and management only. Needs printed rack ears — no official kit exists. | 1 | — |
| NETGEAR GS108 Have8-port gigabit, unmanaged, metal, fanless · B00MPVR50A Sits between the eero and the rack: one port to the gaming tower, one down to the GS116. The spare that was going to be a cold spare. | 1 | — |
| 2.5 Gb switch, 5-port HaveCarries the isolated storage island — see the network design Never uplinked to the GS116. Needs a printed tray; desktop form factor like the GS116. | 1 | — |
| Monoprice SlimRun Cat6A, 10-pack Add5 ft, snagless RJ45, 550 MHz, 10G rated, UTP, pure bare copper, 30 AWG, ten colours · B07958D19L Patching for the whole rack. Pure bare copper rather than copper-clad aluminium is the thing worth paying for — CCA is what fails intermittently under PoE and tight bends. 30 AWG SlimRun is roughly half the diameter of standard 24 AWG patch cable: less bulk behind the posts and better airflow, at the cost of being easier to damage. Fine at 5 ft, wrong choice for long runs. Ten colours suits the cable discipline in the build order — power down one side, data down the other, and a colour per role. | 1 | 26.33 |
| Day-one spend · both planned units excluded | $152.32 | |
Media server 20 items · 6 owned
A transplant, not a new build. The first six rows are already on hand and set the constraints everything below works around; the rest mounts, cools, powers or connects them.
| Item | Qty | Price |
|---|---|---|
| AMD Ryzen 5 3600 Have6-core, 65 W TDP, no integrated graphics 65 W settles the cooling question. No iGPU means the GPU is also display output. | 1 | — |
| ASUS Prime B450M-A II HavemATX, AM4, 6× SATA, 1× M.2, one PCIe 3.0 x16 + x1 slots The binding constraint. Only one x16 slot, and the M.2 socket disables SATA 5/6 when populated. | 1 | — |
| 16 GB DDR4 HaveBoard takes up to 128 GB across four slots Fine for Jellyfin plus containers. Thin if you add VMs — cheap upgrade later. | 1 | — |
| ZOTAC RTX 3050 Twin Edge OC 8 GB Have~130 W, dual-slot, axial fans NVENC handles Jellyfin transcodes. Axial cooler recirculates heat, so front intake matters. | 1 | — |
| SK Hynix NVMe M.2 2280 Have Confirm capacityBoot drive — OS and containers · 128 GB or 256 GB, unconfirmed Sits in the board's M.2 socket, so it costs no SATA port and no bay. It does disable SATA 5/6, which is the trade the storage math below is built on. Trickplay deliberately lives on its own SATA SSD, not here — so this drive only carries the OS and containers. Worth confirming the size anyway with lsblk -d -o NAME,SIZE,MODEL: at 128 GB, Jellyfin plus Immich plus Docker images gets tight faster than you would expect. | 1 | — |
| Hard drives HaveQuantity on hand Bay count, not port count, is the limit — six bays left once the trickplay SSD takes one. See storage math below. | — | — |
| GPERHUAN 4U Server Chassis7× 3.5″ bays, ATX/mATX/ITX, front panel lock · B0D4764WSF One 120 mm front position, two 80 mm rear. | 1 | 89.99 |
| MSI MAG A750GL PCIE5750 W, 80+ Gold, fully modular, ATX 3.1 · B0CC3QBGDL Good price. Modular matters in a 4U — every uninstalled cable is airflow. | 1 | 89.99 |
| Thermalright Peerless Assassin 120 Mini135 mm tall, dual tower, 6 heat pipes, AM4 · B0CQQYJC5M ~15 mm clearance in a 4U. Mount blowing front-to-back. | 1 | 33.90 |
| ARCTIC P12 Pro120 mm PWM, 600–3000 RPM, static-pressure optimised · B0DJDC74BP Front intake. Put this in hub slot 1 so its RPM is the one reported. | 1 | 6.39 |
| ARCTIC P8 Max80 mm PWM, 500–5000 RPM, 0 dB mode · B09VDNGW8K Rear exhaust. Cap the curve — 5000 RPM on 80 mm is unpleasant. | 2 | 17.98 |
| ARCTIC Case Fan Hub Add10× 4-pin PWM out, SATA power, magnetic · B0887VG14J Dumb splitter, so Debian keeps control via the motherboard header. | 1 | 12.00 |
| ARCTIC MX-7 thermal paste4 g with MX-Cleaner | 1 | 9.59 |
| SinLoon PCIe x1 90° riser, 10 cm Test earlyRoutes x1 cards around the dual-slot GPUCheap risers cause intermittent link failures. Verify both cards before closing the lid. | 2 | 29.98 |
| ELECNEXUS 4-Port SATA CardPCIe 3.0 x1 to 4× 6 Gbps SATA Runs at PCIe 2.0 x1 (~500 MB/s shared) in your board. HDDs on this card, SSD on a board port. | 1 | 21.99 |
| XikeStor 2.5 Gb PCIe NIC Good pickIntel I226-V, low-profile bracket included Intel over Realtek — better Linux driver support. This is the media server's port on the storage island, static 10.10.10.10, no gateway. | 1 | 18.99 |
| Thermalright M.2 2280 heatsink Good pickFor the SK Hynix boot drive — confirmed 2280, so the heatsink fits Worth having: the M.2 socket sits under the GPU's downdraft in a 4U, and NVMe throttles hot. | 1 | 5.79 |
| ADCAUDX SATA III cables, 6-packSlim, 1 m, locking latch | 1 | 12.68 |
| TEAMGROUP AX2 256 GB SATA SSD Price2.5″, SATA III, 3D NAND TLC, 520 MB/s read · B08CJX8M4D Trickplay images only — deliberately off the boot drive, so the OS can be rebuilt without regenerating thumbnails. Goes on a board SATA port; the HDDs get the expansion card. Sized well past need — trickplay for a large library lands near 20 GB — but 256 GB is the smallest AX2 and the headroom costs $77 less than the 1 TB it replaces. Still roughly double market for the capacity: a Crucial BX500 or Kingston A400 at this size runs $20–30. Trickplay is small random reads, so any SATA SSD performs the same here. | 1 | 52.99 |
| 2.5″ to 3.5″ drive adapter AddSeven 3.5″ bays and no stated 2.5″ mount The game server needs its own — counted separately in that section. | 1 | 8.00 |
| Media server, parts to buy | $410.26 | |
Mounting hardware 2 items · both missing
Nothing on the wishlist carries the weight of anything. This is the single biggest gap in the build.
| Item | Qty | Price |
|---|---|---|
| Tecmojo 1U Universal Rack Rails, 2-pack Add20.9″–32″ adjustable, 14-gauge steel, 110 lb · B0DXTVRY6G One set each for the 4U, both 2U boxes, and the UPS. Front ears alone will bend on a 40 lb chassis. | 2 | 110.00 |
| M6 cage nuts + screws, 50-pack AddThe rack includes ten. Four rail sets plus chassis ears exhausts that immediately. | 1 | 12.00 |
| Still needed · every Add row in the day-one build, game server excluded | $168.33 | |
Monitoring 3 items
These three work together: Bluetooth thermometer in the rack, USB adapter so the headless box can read it, smart plug for real draw numbers. Feed both into your Mattermost alerting.
| Item | Qty | Price |
|---|---|---|
| Govee H5075 thermometer / hygrometerBluetooth, alerts, data export — rack ambient temperature | 1 | 12.99 |
| ASUS USB-BT500Bluetooth 5.0 — lets the headless server read the H5075 over BlueZ | 1 | 19.74 |
| Govee Smart Plug, energy monitoring15 A — measures actual rack draw so you can size the UPS on data, not estimates | 1 | 15.29 |
Game server separate budget
Second box, built on an AM3+ Gigabyte platform that is already on hand and running today — it goes in on the first pass alongside the media server. Its spend is tracked on its own line rather than in the totals at the top, since the platform costs nothing and only the case, PSU and drive are still to buy. The chassis takes a standard ATX PSU, so this runs the same PSU model as the media server rather than a second form factor to stock.
| Item | Qty | Price |
|---|---|---|
| Rosewill RSV-Z2600U Stock4× 3.5″ bays + 1× 5.25″, mATX, 4 PCI slots, 2× USB 3.0, front panel lock · B096WG8H6X 15.0″ deep, aluminium, rear-mount PSU. Ships with 3× 80 mm PWM fans and rack mounting hardware. Amazon's Choice, 4.2 across 57 reviews — a real brand, unlike the alternatives at this size. Only 1 left in stock, and this is also the suggested cloud-server chassis. Two are needed if both boxes use it. | 1 | 99.99 |
| UTLGAMENG 2U Micro-ATX Chassis Alternate3× 3.5″ or 2× 3.5″ + 1× 2.5″, mATX/ITX to 9.6″×9.6″, 4 PCIe slots · B0FY5R88NZ 16.89″ deep, standard ATX PSU, GPU to 11.4″, published 65 mm cooler ceiling. $30 cheaper and in stock, with a proper 2.5″ mount the Rosewill lacks. Against it: one fewer drive bay, no fans included, and six reviews on an unknown brand. The fallback if the Rosewill sells out. | alt | 69.99 |
| Gigabyte GA-78LMT-USB3 R2 HaveAM3+, AMD 760G, mATX 9.6″×7.6″, 4× DDR3 slots, 1× PCIe x16 + 1× x1 + 2× PCI Form factor confirmed — clears both 2U cases with room to spare. Sockets AM3+, so the CPU is an FX or Phenom II. | 1 | — |
| AMD FX-6300 HaveSix-core Piledriver, 3.5 GHz base / 4.1 GHz turbo, 95 W TDP, AM3+ Cores are plentiful; single-thread throughput is not, and most game servers are bound by exactly that. Fine for a handful of players, thin for a busy Minecraft world. Meter it before committing a permanent U — Piledriver idles far higher than the Ryzen. No integrated graphics on the chip, but the board's 760G provides onboard video, so no GPU is needed and chassis card clearance doesn't apply. | 1 | — |
| 20 GB DDR3-1333 HaveUnbuffered, non-ECC · A0 4 GB · A1 4 GB · A2 4 GB · A3 8 GB All four slots are full. More memory means replacing sticks, not adding them. The board's DMI table claims a 16 GB ceiling and a 4 GB module limit, but it is running 20 GB with an 8 GB stick — the table is just conservative. | 4 | — |
| Low-profile CPU cooler Tight fitMust dissipate 95 W inside roughly 70 mm · UTLGAMENG publishes 65 mm; Rosewill publishes nothing The narrowest constraint in this build. The stock FX-6300 cooler is around 65 mm, so it may just clear — measure it before assuming. The media server's Peerless Assassin is 135 mm and is not an option. If the stock cooler doesn't fit, note that 95 W AM3+ in a sub-70 mm envelope is a thin market — check AM3+ mounting explicitly, since most current low-profile coolers ship AM4 brackets only. | 1 | — |
| MSI MAG A750GL PCIE5 Second unit750 W, 80+ Gold, fully modular, ATX 3.1 · B0CC3QBGDL Same model as the media server, not the same physical unit — one PSU can't feed two chassis. Now that the parts are known this box draws roughly 160 W loaded (95 W CPU, board, four DIMMs, one SSD), so 750 W runs it at about 21% — below the efficiency sweet spot and around $30 more than a 450 W would cost. The argument for it is one spare model that drops into either server. | 1 | 89.99 |
| TEAMGROUP AX2 256 GB SATA SSD2.5″, SATA III, 3D NAND TLC · B08CJX8M4D Boot drive — OS only. Same split as the media server: the box can be rebuilt without touching game data. Same model as the media server's trickplay drive, so one spare covers both machines. | 1 | 52.99 |
| TEAMGROUP AX2 1 TB SATA SSD Price2.5″, SATA III, 3D NAND TLC · B08CKFDPJ3 Server files — worlds, JARs, mods, backups. Kept off the boot drive so an OS rebuild never risks game data. Generous for the job: several instances plus backups rarely pass 100 GB. Fine if you would rather not think about capacity again. Confirmed SB7x0 at SATA II — about 275 MB/s, against this drive's 540 MB/s rating. At $129.99, roughly double market, half of what you'd pay for is unreachable on this board. A $50–70 Crucial, Samsung or WD 1 TB performs identically here. Buy on warranty and endurance, not on the speed number. The controller is also in IDE mode, not AHCI. That costs NCQ and reliable TRIM, which matters far more to an SSD than the SATA generation does. Switch it in BIOS before this drive goes in. | 1 | 129.99 |
| 2.5″ to 3.5″ drive adapter AddOne per SSD — the Rosewill has no 2.5″ mount Two drives now, so two adapters, and they take 2 of the Rosewill's 4 bays. No bulk storage lives here, so the remaining two are spare. The UTLGAMENG alternate has one 2.5″ mount built in, which would drop this to a single adapter. The media server buys its own separately. | 2 | 16.00 |
| Priced so far, Rosewill chassis · one case only, not both · cooler still open | $388.96 | |
Cloud server & NAS other list
| Item | Qty | Price |
|---|---|---|
| Rosewill RSV-Z2600U Same case as game4× 3.5″ bays + 1× 5.25″, mATX, 3× 80 mm PWM, 15″ deep · B096WG8H6X Cloud server. Four bays beats three, and it's a real brand with review volume. Reserved rather than planned — no board, CPU or drives are specced for this box yet, so the chassis is the only line it has. This is the same chassis the game server now takes, and stock is down to one. Either buy two while they're available, or put the UTLGAMENG in one of the two boxes. | 1 | — |
2.5 Gb low-profile NIC AddCloud server's port on the storage island · 10.10.10.20The only hardware the network design still needs. Roughly $19 — not costed here since no model is chosen. Low-profile bracket required; match the Intel i226 family for the same Linux driver story as the media server's card. | 1 | — |
| 8-bay 2U NAS LaterIntel N100 board, LSI HBA in IT mode, OMV + mergerfs + SnapRAID Holds the bulk library. Dual-homed like the others: one port to the GS116 for management, one to the storage island at 10.10.10.30.Both NICs must be onboard — make it a board-selection requirement. These boards usually ship a single PCIe slot, and the LSI HBA takes it. A single-NIC board would leave nowhere to add a 2.5 Gb card, so look for dual onboard i226 rather than planning to expand later. | 1 | — |
Print these 5 models
PETG or ASA, never PLA. A 4U server, a GPU and a UPS in one frame will creep PLA at 50–60 °C, and a sagging bracket puts cables under tension. 0.20 mm layers, 4 walls, 20–30% infill, 40% around screw holes.
| Model | Qty | Notes |
|---|---|---|
| GS116 rack earsChriswak · Printables 73173 | 1 | M3 nuts + M3×16 mm screws, 8–12. Print this first — it unblocks the rack layout. |
| Side cable bracketsk8md · Printables 772936 | 6–8 | Mounts with the same rack screws as the device beside it, so it costs no U. Rear posts: power down one side, data down the other. |
| Blank panels, 1U / 2U / 4Ubtadeus · Printables 381380 | 3–4 | EIA-310 compliant. Two side pieces and one center, center flipped in the slicer. |
| Storage switch tray Find a modelNo model picked yet | 1 | The 2.5 Gb switch is desktop form factor, same problem as the GS116. Size the tray once the switch is in hand — a generic 1U shelf works if nothing fits. |
| Sub-1U cable guideoXiVanisher · Printables 532072 | 1 | Under half a U, holes sized for larger RJ45 boots. Mount directly below the switch. |
The math
Storage ports and bays
The board has six SATA, but the M.2 socket disables SATA 5/6 when populated — and it is populated, since the SK Hynix NVMe is the boot drive. That trade is already made, not hypothetical. The GPU takes the only x16 slot, so an LSI HBA is off the table and the x1 SATA card is the workaround.
| Board SATA, M.2 fitted | 4 |
| ELECNEXUS x1 card | +4 |
| Ports available | 8 |
| Chassis 3.5″ bays | 7 |
| Trickplay SSD, on its adapter | −1 |
| Bays left for HDDs | 6 |
Bays are the binding constraint, not ports. Six HDDs plus the trickplay SSD uses seven of the eight ports and every one of the seven bays. The eighth port has nowhere to put a drive.
Boot costs nothing in this budget — the NVMe sits on the board, using no port and no bay. Growing past six HDDs means the NAS, not this chassis.
Power draw
| Ryzen 5 3600 (PPT) | 88 W |
| RTX 3050 | 130 W |
| Board + RAM | 40 W |
| Drives, idle | 50 W |
| Fans | 15 W |
| Typical | ~325 W |
| Cold boot, all drives spinning up | ~450 W |
750 W puts you near 43% load, right by the Gold efficiency peak. A 550 W would have saved $50 but leaves no room for a future GPU.
UPS headroom
| Media server, typical | ~325 W |
| Game server, loaded | ~160 W |
| Cloud server, estimated | ~150 W |
| Three switches | ~15 W |
| Three servers, typical | ~650 W |
| All cold-booting together | ~850 W |
The CyberPower is 1000 W and could carry all three at about 65%, with even a simultaneous cold boot inside the envelope. Note the 1500 VA figure is not the constraint — active-PFC supplies run a power factor near 1.0, so the 1000 W rating is what binds.
It should not have to. Moving the game server to the BR1000MS drops this to ~475 W and takes runtime from roughly five minutes to ten — see the office split below. The figures above are the all-on-one case, kept as the ceiling to design against.
Runtime, not capacity, is the limit either way. Ten minutes is a graceful-shutdown window, not a ride-through — worth wiring up NUT or apcupsd before you rely on it.
Adding the NAS later pushes typical toward 770 W, around 77%, which is where headroom starts to matter. The 2000 VA version of the same unit is $449.95, so about $90 buys that margin if the NAS is a certainty.
The interim APC is only 600 W. It carries the media server alone comfortably and two servers at idle with little to spare, but a simultaneous cold boot overruns it — exactly what happens when utility power returns after an outage. Until the CyberPower lands, stagger the boots in BIOS or run the game server straight off the wall. It is the one box whose sudden loss costs nothing.
What you have vs what you're buying
| APC BR1000MS — have | CyberPower CP1500PFCRM2U — planned | |
|---|---|---|
| Capacity | 1000 VA / 600 W | 1500 VA / 1000 W |
| Form factor | Tower, 14.5″ deep | 2U rackmount, 10.5″ deep |
| Rack cost | ~3U, and a shelf you don't own | 2U, rails included |
| Media server alone · ~325 W | 54% | 33% |
| Three servers · ~650 W | over capacity | 65% |
| All cold-booting · ~850 W | over capacity | 85% |
| Adding the NAS later · ~770 W | over capacity | 77% |
| Runtime at ~325 W | ~10 min | ~20 min |
| Runtime at ~650 W | n/a | ~5 min |
| Cost | owned | $359.95 |
These are not alternatives — both stay in service, so read the red as "cannot carry the servers", not "inadequate". The APC is a different class of thing, and its job after the upgrade is the low-draw network gear, where 600 W is enormous.
Settled: the APC lives beside the rack, not in it. It is a 14.5″ tower and would have cost roughly 3U on a shelf. The 2U it would have taken is instead reserved for the second CyberPower, shown dotted at the bottom of both views — so the eventual swap is a slide-in, not a re-hang.
Runtimes are approximate — battery age and load shape both move them, and neither figure is long enough to be a ride-through. Both are shutdown windows.
Power topology — four units, whole path protected
| Unit | Capacity | Waveform | Carries |
|---|---|---|---|
| APC BX1500M · bedroom | 1500 VA / 900 W | Stepped | Wifi modem + main eero |
| APC BE850M2 · kitchen | 850 VA / 450 W | Stepped | Kitchen eero + BrosTrend switch + Eufy HomeBase 3 |
| APC BR1000MS · office | 1000 VA / 600 W | Pure sine | Game server + office eero + 3 switches |
| CyberPower CP1500PFCRM2U · rack | 1500 VA / 1000 W | Pure sine | Media + cloud servers |
Every hop from the modem to the rack is on battery. That is unusual and it removes the failure this build would otherwise have: the rack outliving its own network and becoming unreachable mid-outage. Nothing more is needed upstream.
The waveform column is the one to respect. The two Back-UPS units output a stepped approximation of a sine wave. Modems and eeros are small switching supplies and do not care. An active-PFC server supply very much does — it can run hot, buzz, or drop out entirely on stepped output. Never move a server onto the BX1500M or the BE850M2, however tempting their spare capacity looks.
That leaves exactly two units that may carry anything with an active-PFC supply: the BR1000MS and the CyberPower. Both are pure sine, which is why the sheet has always specified it.
The kitchen is complete rather than partial: the BrosTrend switch sits on the BE850M2 alongside the eero and the HomeBase 3, so the Eufy stays reachable during an outage and not merely powered. Worth noting because a camera hub that runs but cannot upload is the least useful failure available.
Splitting the office load
Never plug one UPS into another. The downstream unit's charger looks like a nonlinear load with real inrush to the upstream one, most manufacturers forbid it, and the runtimes do not usefully add. Both office units hang off the wall independently.
Leaving the BR1000MS on 30 W of network gear wastes it. It is pure sine, so it is one of only two units in the house allowed to carry a server — and hours of network runtime buy little once the servers are already down. Put the game server on it.
| BR1000MS · game server + eero + 3 switches | ~190 W · 32% · ~20 min |
| CyberPower · media + cloud servers | ~475 W · 48% · ~10 min |
The media server's runtime roughly doubles, from about five minutes to ten, which is the real prize. Both units land near half load, which is where their batteries last longest and run coolest.
The game server is the right one to move: it holds nothing that a sudden loss would damage, so pairing it with the older battery costs the least. Media and cloud — the two that hold data — stay on the newer, larger unit.
This does mean two shutdown paths. Each UPS needs its own USB run to something that can act on it: BR1000MS to the game server, CyberPower to the media server, with the cloud server running a NUT client pointed at the media server. One UPS with one cable is simpler; that simplicity is what you are trading for the extra five minutes.
WAN headroom
1 Gb symmetric is the enabler. Most residential plans give a fraction of that upstream, which is what usually makes self-hosting painful. Remote Jellyfin is the only real consumer:
| 4K HDR direct play | 40–80 Mbps |
| 1080p remux direct play | 20–40 Mbps |
| Transcoded 1080p | 8–12 Mbps |
| Concurrent 4K at ~900 Mbps | 12–20 |
The RTX 3050 runs out before the uplink does. NVENC handles roughly 8–12 simultaneous 1080p transcodes, so the GPU caps you well below the line. More bandwidth would not buy one extra stream.
Everything else is noise: game servers are 10–50 kbps per player, Immich sync is inbound and bursty, restic is incremental after the first seed and runs overnight.
The constraint worth watching is the mesh backhaul, not the plan — see the network design. Two wireless hops could hold the rack to 200–400 Mbps no matter what you pay for.
Airflow
One 120 mm in (~70 CFM), two 80 mm out (~80 CFM) plus PSU exhaust. Slightly negative pressure.
Not a thermal problem — intake pulls through the drive cage, cooling the HDDs on the way past. It is a dust problem: unfiltered air enters through every seam. Blow the chassis out every few months.
If the P12 Pro has to run loud to hold GPU temps, drop to one rear P8 Max. Less exhaust, closer to neutral, quieter.
PCIe slots
One x16 (GPU) plus x1 slots. Two x1 cards want those slots: the SATA card and the NIC.
Verify the exact x1 slot count on your board before ordering both. If there's only one usable slot after the dual-slot GPU, something has to give — most likely the SATA card, with bulk storage moving to the NAS instead.
10 GbE is not possible here. It needs x4 or x8. 2.5 G over x1 is the ceiling.
Fan control on Debian
The hub is a dumb splitter, so lm-sensors and fancontrol drive it through the motherboard header. The real obstacle is the Super I/O driver.
Nuvoton chips need acpi_enforce_resources=lax at boot. ITE chips need the out-of-tree it87 module via DKMS — the frankcrawford fork is the maintained one.
Run sensors-detect after the build. If pwmconfig finds no PWM outputs, that's the ACPI lock, not the hardware. Fallback: set a conservative fixed curve in BIOS and move on.
Wiring the fans
| PA120 Mini | CPU_FAN |
| P12 Pro front | Hub, slot 1 |
| 2× P8 Max rear | Hub |
| Hub input | CHA_FAN1 |
| CHA_FAN2 | free |
Cooler stays off the hub so it tracks CPU temp independently. The hub reports RPM from slot 1 only — put the intake there, since it's the fan whose failure matters most.
Network design decided · $0 in switches
Internet service is 1 Gb up and down, so nothing that touches the WAN gains anything from 2.5 Gb. The only traffic that can saturate a 2.5 Gb link is server to server — Jellyfin reading the library, Immich originals, restic snapshots. So 2.5 Gb goes where it can actually be used, on an isolated storage network, and everything else stays on gigabit. Both switches are already owned.
Rule 1 — never uplink the storage switch
No cable between it and the GS116, ever. If the two networks touch, every server has two paths to every other one and traffic takes whichever it likes.
The result is asymmetric routing, ARP confusion, and storage traffic quietly leaking onto the gigabit side — which looks like a performance mystery, not a wiring mistake.
Rule 2 — storage NICs get no default route
Netmask only on the island interfaces. No gateway, no DNS. That is what stops the OS deciding to send general traffic down the storage link.
Reference island hosts by IP or /etc/hosts, never by DNS name. This is the single most common way an isolated network stops being isolated.
Edge — GS108, 8 ports
| 1 | Uplink to eero |
| 2 | Gaming tower |
| 3 | Down to the GS116 |
| 4–8 | Spare — five free |
The spare Netgear, put to work. It keeps the tower's desk run off the rack switch and leaves the GS116 entirely for rack machines. Five ports stay free, so anything else that lands near the office plugs in without touching the rack.
Main LAN — GS116, 16 ports
| 1 | Uplink to GS108 |
| 2 | Media server, onboard |
| 3 | Game server, onboard |
| 4 | Cloud server, onboard |
| 5 | NAS, onboard secondary |
| 6–7 | Reserved — future 2U servers |
| 8–16 | Spare |
Storage island — 2.5 Gb, 5 ports
| 1 | Media server · XikeStor I226-V · 10.10.10.10 |
| 2 | Cloud server · NIC still to buy · 10.10.10.20 |
| 3 | NAS · onboard i226 · 10.10.10.30 |
| 4–5 | Reserved — future 2U · .40, .50 |
Static 10.10.10.0/24. The game server is deliberately absent — its board is gigabit-only and it has no storage traffic worth the slot.
Every server is dual-homed
Onboard gigabit to the GS116 for internet, SSH, web UIs and management. A second 2.5 Gb card to the island, where applicable, for NFS, Immich originals and restic.
Main LAN addressing is DHCP from the eero — reserve a fixed lease by MAC for every server so hostnames stay stable.
The rack sits four hops out
Modem to Bedroom to Kitchen to the BrosTrend switch, which fans out to the Eufy HomeBase 3 and to the Office eero. The Office unit then feeds the whole rack.
That makes the BrosTrend a single point of failure for everything in the rack. It is a $38 unmanaged switch carrying the entire WAN path — if it dies, the rack loses internet even though every eero is still up. Worth keeping a spare in a drawer; it is the cheapest insurance in the build.
It is at least on battery, sharing the BE850M2 with the kitchen eero and the Eufy, so a power cut does not take it out. Note this is the second reason that unit matters more than its size suggests.
Worth confirming the backhaul is wired. These are dual-band, so there is no dedicated backhaul radio — on a wireless mesh each hop shares airtime with clients, and this far out the rack could see well under half the 1 Gb service. Wired, it is a non-issue.
Note there are two 2.5 Gb switches in play. The Kitchen BrosTrend is ordinary LAN and carries the rack's uplink. The rack one is the isolated island and must never be confused for it.
Cable colours
Blue for main LAN, server onboard NICs to the GS116. Green for the storage island. White or red for the eero uplink.
Uniform correct lengths matter more than cable spec. Avoid Cat 7 and Cat 8 — marketing labels at these speeds — plus flat cable, braided jackets, and anything not stating bare copper.
What this gives up
The gaming tower and every Wi-Fi client reach the NAS at 1 Gb, since they arrive through the GS108 and GS116 rather than the island. Fine for occasional access, noticeable if you regularly pull large media off the NAS.
The fix is a 2.5 Gb card in the tower and a run to a reserved island port, or an 8-port island switch (~$60) to cover that and the future servers. Nothing here blocks either.
Assembled view drag to orbit
The same twenty U as a solid, with the cable runs the network design implies. Drag it to swing around the rack — the wiring lives at the back, so the rear view is the one that matters when you are deciding what goes where. The flat elevation in the sidebar stays the reference for what sits at which U.
Drag to rotate · arrow keys when focused · hover a device to trace its runs
Three bundles, one side each
Power runs down one rear post, data down the other, exactly as the build order calls for. Drawing them as one bundle per service is the point — a cable you can trace by colour and side is one you can unplug at 2am without tracing it at all.
Hovering a device dims everything else, which is the quickest way to see what a given box actually depends on.
Service loops are not drawn
Every run here is the straight-line path. Real ones need the 6–8″ of slack the build order specifies, so a chassis can slide out on its rails without unplugging.
That slack is why the 5 ft patch cables are more forgiving than the 1–2 ft the network design asked for, and also why they will coil behind the posts.
The network shelf
2U carrying the GS108, the 2.5 Gb island switch and the office eero. None of the three earns a U of its own, and the eero is taller than 1.75″, so a single U would not have cleared it. The GS116 nearly fills 19″ by itself and keeps its own.
Dropping the PDU paid for the second U. One 2U bay remains genuinely spare, and the bottom 2U is reserved for the second CyberPower rather than sitting empty. Everything still adds to twenty.
Verify before ordering
- x1 slot count on the B450M-A II, with the dual-slot GPU physically installed. Two x1 cards are on the list.
- Rear fan cutout size on the 4U chassis. If they're 120 mm rather than 80 mm, buy P12 Pros instead of P8 Maxes.
- Cooler clearance from motherboard tray to the nearest obstruction. 135 mm should clear, but the chassis publishes no maximum.
- GPU length against the front drive cage. The chassis doesn't publish a maximum card length either.
- SATA power connector count on the PSU. Eight drives means eight connectors, correctly spaced for the cage.
- Rack load rating on the VEVOR listing. VEVOR's own pages contradict each other — some say 200 lb, others 500 lb. The full build lands near 235 lb, and the second CyberPower would add roughly another 48 lb. If the true rating is 200 lb you are already over it, so this wants pinning down before the rack is loaded rather than after.
- SSD price. $129.99 for 1 TB SATA is about double the going rate — and on the game server's SATA II controller, half the speed you're paying for is unreachable.
- Measure the FX-6300's stock cooler. It has to fit under roughly 70 mm. This is the one game-server dimension with no slack, and AM3+ low-profile replacements are scarce.
- Switch the game server's SATA controller to AHCI in BIOS. It currently runs in IDE mode, which costs NCQ and TRIM. Do it before the SSD is installed, and confirm the initramfs carries the
ahcimodule andfstabuses UUIDs — otherwise the box won't boot afterwards.
Build order
- Set rack depth to 24″ post-to-post and level it before anything goes in. Changing this later means re-hanging everything.
- Mount the rear cable brackets while the frame is empty. Reaching behind a loaded open frame with a driver is miserable and you'll skip half of them.
- Ground the rack with the included wire. Open frame plus metal chassis, two minutes, worth it.
- UPS in the bottom 2U. Heaviest mass lowest. Load it in place — the rack holds its rating stationary, not while rolling.
- Rails before servers, working bottom to top.
- Test the riser cards on the bench before the chassis goes in the rack. A flaky NIC you blame on drivers for an hour is usually the riser.
- Set the fan curve in BIOS before racking. First GPU load spike on an uncapped 80 mm at 5000 RPM is memorable for the wrong reason.
- Leave 6–8″ service loops per device so a chassis can slide out on its rails without unplugging. Route slack through the brackets, not around them.
- Put the two UPSes on separate wall circuits if the office has them. Two 1000 W units on one 15 A circuit is 1800 W of headroom against two that are hungriest at the same moment — running full load while recharging after an outage. Trivial to arrange now, annoying once the cords are dressed and the service loops are set.
- Run both UPS data cables. BR1000MS by USB to the game server, CyberPower by USB to the media server. Two units means two independent paths — neither one watches the other, and a UPS nothing is listening to is just a surge strip with a battery in it.
- Install NUT on all three servers, with the media server as the NUT server. The cloud server has no UPS of its own to talk to, so it subscribes over the network. Configure it to shut down on loss of contact as well as on low battery — its link runs through switches on the other UPS, so a dead BR1000MS would otherwise leave it running blind while the CyberPower drains.
- Pull the plug on each UPS separately and watch what happens. An untested shutdown path is worse than none, because you will plan around it. Confirm all three boxes go down cleanly, then confirm they come back — a server that shuts down but never returns has only moved the outage.
What the flags mean
Colour carries the urgency: green is settled, red needs an action before you order, brass is a judgement call with no deadline.
| Have | Already owned. No spend, but it still constrains the build around it. |
| Add | Not on the wishlist yet and the build doesn't work without it. These make up the "still needed" figure. |
| Price | Listed well above the going rate. Worth substituting before you buy. |
| Stock | Low or single-unit availability. Decide sooner than the rest of the list. |
| Tight fit | Physically marginal. Measure the real part before ordering around it. |
| Test early | Known to fail intermittently. Bench it before the chassis is closed and racked. |
| Find a model | A printed part is needed but no design has been chosen yet. |
| Confirm capacity | Owned, but the size isn't verified and another decision depends on it. |
| Same case as game | Two machines are specced on one chassis. Buy two, or move one to the alternate. |
| Alternate | A second option for the same slot. Only one gets bought — it isn't in the subtotal. |
| Second unit | Same model as one already listed elsewhere, bought again rather than shared. |
| Good pick | Checked and worth keeping. No action needed. |
| Planned | Priced and decided, but deliberately not a day-one buy. Sits outside the build total and gets its own tile at the top. |
| Later | Wanted eventually, not decided. Sits outside every total — some hold a rack position, some carry a price, none are committed. |