Self-Hosting
Pick a mini-PC home server by workload
Choose an Intel N-series mini-PC by what it'll actually run — N100/N150 (4-core, ~6W) for Pi-hole/Home Assistant + light transcoding, N305/N355 (8-core) for heavier multi-stream — plus the single-channel-16GB ceiling and the QuickSync AV1 decode-not-encode catch.
Problem summary
Picking a mini-PC home server is a workload-fit decision, not a benchmark race. The Intel N-series (Alder Lake-N) dominates the low-power tier: ~6W, a QuickSync iGPU that makes media transcoding nearly free. The real forks are core count (4 vs 8), the single-channel memory ceiling (Intel validates 16GB; >16GB is board-dependent), NIC count/speed (single 1GbE vs dual 2.5GbE — a board choice, not a CPU spec), and whether QuickSync covers your codecs. N100/N150 (4-core) handle Pi-hole, Home Assistant, a handful of containers, and 1–2 Plex/Jellyfin transcodes; N305/N355 (8-core) suit heavier multi-container/multi-stream. QuickSync on this generation decodes AV1 but does not encode it (encode is H.264/HEVC).
List the services you'll actually run and their concurrency.
ls -l /dev/dri
A concrete list (e.g. Pi-hole + HA + 6 containers + 2 transcodes).
Don't assume >16GB as a spec guarantee.
Layer path
Step-by-step runbook
Start here. Do each check in order, compare it to the expected result, and stop when the evidence explains the failure or the safe stop point applies.
Write the workload list
Check: Enumerate services and peak concurrency, including transcodes.
Expected result: A concrete demand profile.
If not: Don't shop before this exists.
Pick the core tier
Check: Map the list to 4-core (N100/N150) or 8-core (N305/N355).
Expected result: A right-sized CPU tier.
If not: Many transcodes/heavy containers → 8-core.
Check codecs against QuickSync
Check: Confirm decode/encode needs vs the iGPU's support.
Expected result: Your transcodes are hardware-supported.
If not: AV1 encode needs Arc/later Xe, not Alder Lake-N.
Size RAM and NICs
Check: Confirm 16GB (or a verified 32GB board) and the NIC count/speed.
Expected result: Memory and networking match the workload.
If not: Treat >16GB as board-dependent; verify per unit.
Validate the iGPU passthrough
Check: After build, confirm /dev/dri and intel_gpu_top show transcoding.
Expected result: Hardware transcoding is actually engaged.
If not: If software fallback, fix the device passthrough or codec choice.
Re-test under peak
Check: Drive the real peak (max streams + containers) and watch CPU/GPU/RAM.
Expected result: Headroom remains at peak.
If not: If saturated, step up a tier rather than overclocking a 6W part.
Decision tree
If: Pi-hole + Home Assistant + a few containers + 1–2 transcodes
Then: Squarely a 4-core N100/N150 workload.
Action: Pick N100/N150; QuickSync handles the transcodes nearly free.
If: Heavy multi-container or many simultaneous transcodes
Then: You need the 8-core tier's non-iGPU headroom.
Action: Pick N305/N350/N355; the media engine class is the same.
If: You need lots of RAM
Then: Single-channel 16GB validated is the ceiling.
Action: Verify a specific board takes 32GB before relying on it; otherwise size down the stack.
Safe stop: Don't assume >16GB as a spec guarantee.
If: You want the box to also route/VLAN
Then: NIC count/speed matters.
Action: Choose a board with dual 2.5GbE; confirm on the board spec.
If: You expect AV1 hardware encode
Then: Alder Lake-N decodes AV1 but doesn't encode it.
Action: Plan H.264/HEVC encode, or step to Arc/later Xe if AV1 encode is required.
Safe stop: Don't buy an N-series box expecting AV1 encode.
Evidence table
| Symptom | Evidence to collect | Likely layer | Next action |
|---|---|---|---|
| Transcodes stutter under load on a 4-core box | Simultaneous transcode count + non-iGPU CPU usage | 4-core ceiling for many concurrent streams | Step up to the 8-core N305/N355 tier. |
| Out-of-memory / heavy swapping | RAM installed vs the service set | Single-channel 16GB validated ceiling | Trim services or verify a 32GB-capable board. |
| AV1 'transcode' falls back to CPU | Whether the job is AV1 encode | No AV1 hardware encode on this iGPU | Encode to H.264/HEVC, or use Arc/later Xe for AV1 encode. |
| Can't run a second network segment | NIC count on the board | Single-NIC board | Choose a dual-2.5GbE board. |
| N150 transcodes slower than expected | The box's sustained power limit (PL1) | Power-capped enclosure | Pick a box with a higher sustained power limit. |
Commands and settings paths
Confirm the iGPU render node exists for QuickSync
ls -l /dev/dri
Where: On the running host (Linux)
Expected: A renderD128 node is present for hardware transcoding.
Failure means: Missing /dev/dri means the iGPU isn't exposed (BIOS/driver).
Safe next step: Enable the iGPU and pass /dev/dri into the Plex/Jellyfin container.
Check memory channels/size actually in use
sudo dmidecode -t memory | grep -E 'Size|Configured Memory Speed|Locator'
Where: On the running host
Expected: Reported size matches what you installed; single channel as expected.
Failure means: Wrong size means a stick isn't seated/recognized.
Safe next step: Reseat/replace; remember Intel validates 16GB on one channel.
Verify hardware transcoding is in use
intel_gpu_top # watch the Video/Render engines during a transcode
Where: On the running host while transcoding (install intel-gpu-tools)
Expected: The Video engine shows activity = QuickSync is doing the work.
Failure means: Flat Video engine + high CPU means it fell back to software.
Safe next step: Confirm the codec is hardware-supported (AV1 decode yes, encode no).
Hardware and platform boundary
Change only when
- Step from the 4-core to the 8-core tier when simultaneous transcodes or container count saturate the CPU.
- Move to Arc/later Xe only if you genuinely need AV1 hardware encode.
Evidence that matters
- Core count matched to peak concurrency, and QuickSync codec coverage for your transcodes.
- 16GB single-channel (verified 32GB only if the board supports it) and the right NIC count/speed.
- A box whose sustained power limit lets the part perform.
Evidence that does not matter
- Raw benchmark scores — the iGPU media engine, not CPU GHz, drives transcoding.
- ECC/AV1-encode features this tier doesn't offer.
Avoid
- Buying an N-series box expecting AV1 hardware encode.
- Assuming >16GB RAM as a guaranteed spec.
- Naming a single 'best' box — match the tier to the workload instead.
Related tool
Use the linked tool to turn this runbook into a guided check for your exact setup.
NAS setup plannerRelated problems
Last reviewed
2026-06-03 · Reviewed by HomeTechOps. Built from 2026-06 research verified against Intel ARK (N100), the Intel N-series comparison chart, and Intel's Media Capabilities documentation. The operator differentiators are choosing by workload tier rather than benchmarks, the single-channel-16GB ceiling, and the QuickSync 'AV1 decode yes, encode no' catch — all spec-verifiable, with no product picks or prices.
Sources/assumptions
- Spec figures (cores/threads, ~6W TDP, 16GB validated max, single memory channel) are from Intel ARK / the Intel N-series comparison chart for N100, N150, N200/N250, and the 8-core i3-N305/N350/N355.
- The QuickSync 'AV1 decode yes, AV1 encode no' split for Alder Lake-N is well-supported but should be verified against Intel's Media Capabilities table for the exact SKU; AV1 hardware encode arrived with Arc/later Xe, not this iGPU.
- RAM beyond 16GB and NIC count/speed are board/vendor decisions, not CPU specs — stated as decision criteria to verify per unit, never as fake product picks or prices.
Source-backed checks
HomeTechOps turns official docs and conservative safety rules into a shorter runbook. These links are the source trail for the page direction.