On a Raspberry Pi 4 8GB in 2026 you can comfortably run Pi-hole, Home Assistant, and Jellyfin together on one board, provided you boot from an SSD instead of an SD card and stick to media formats Jellyfin can direct-play. Per the official Pi 4 spec page, the 8GB variant has plenty of headroom for that stack; the failure modes come from storage choice and cooling, not RAM.
Why the Pi 4 8GB still makes sense in 2026
The Pi 5 exists. It is faster. It has PCIe. It is the correct answer for anyone starting from a blank slate with money to spend on the newest platform. Yet the Raspberry Pi 4 8GB remains the most-recommended single-board homelab platform in 2026 for a specific reason: it is proven, widely supported, and cheaper. Every self-hosting project you would want to run on a Pi in 2026 has a mature, actively-maintained ARM64 build that targets the Pi 4 first.
For a homelab workload that fits inside 8GB of RAM and one 1.5 GHz-class CPU across four cores, the Pi 4 8GB is the cost-optimal board. Pi-hole, Home Assistant, and Jellyfin — with a few smaller companions — fit inside that budget comfortably.
Key takeaways
- The Pi 4 8GB comfortably hosts Pi-hole, Home Assistant, and Jellyfin together for a single household.
- Boot from an SSD, not an SD card. SD wear kills homelab Pis; a Crucial BX500 SSD over the Unitek SATA-to-USB 3.0 adapter is the reference storage.
- Jellyfin on Pi 4 works for direct play, not for heavy transcoding. Keep media in client-compatible formats and the Pi keeps up.
- Active cooling matters for 24/7 duty. A heatsink case or a small fan avoids sustained thermal throttling.
- The Pi 5 is faster but not required for this workload class. Buy the Pi 4 8GB and put the price difference into storage.
- A quality PSU and short USB-C cable are non-negotiable. The Pi 4 undervolts at the slightest droop.
What you'll need
- Board. Raspberry Pi 4 Computer Model B 8GB.
- Boot storage. Crucial BX500 1TB SATA SSD — cheap, plenty fast for the Pi's USB 3.0 bus, and generous capacity for a media library plus config.
- Storage adapter. Unitek SATA/IDE-to-USB 3.0 adapter with its own 12V power brick. The powered adapter is what makes SSD boot reliable — bus-powered adapters brown out under load.
- Optional fast NVMe for a Pi 5-style setup later. A Samsung 970 EVO Plus in an NVMe-to-USB enclosure is another common choice if you plan to migrate the storage to a Pi 5 later.
- Case with cooling. A heatsink case or an active-cooler-equipped official case.
- Official Pi 4 PSU (3A USB-C) and a short, quality USB-C cable.
- Wired Ethernet. WiFi works; wired is the right call for a Jellyfin host.
Step 0: pick your services and size the load
Rough RAM footprint for the stack at rest, based on community reports and default installs. Actual values vary by extension load, integrations, and library size.
| Service | RAM at rest | RAM under mild load |
|---|---|---|
| Pi-hole | ~50 MB | ~80 MB |
| Home Assistant core | ~400–600 MB | ~1–2 GB with integrations |
| Jellyfin idle | ~300 MB | ~1 GB during direct play |
| OS + Docker overhead | ~500 MB | ~700 MB |
| Buffers, misc | ~200 MB | ~500 MB |
| Total | ~1.5–1.7 GB | ~3.5–4.5 GB |
That leaves the 8GB Pi with 3–5 GB of headroom — comfortable for one small transcode, a burst of Home Assistant automation activity, or a light add-on service. The 4GB Pi 4 gets tight; the 2GB is not enough. Buy the 8GB.
Storage that lasts: SSD boot over SD
SD cards wear out. That is not opinion — it is what small random writes over months do to their finite-endurance flash. Home Assistant's recorder database, Pi-hole's query log, Jellyfin's metadata scans, systemd journal — all of them write constantly. On an SD card that means silent corruption a year later. On an SSD it means barely-detectable wear.
The reference storage setup:
- Connect the Crucial BX500 1TB SATA SSD to the Unitek SATA/IDE-to-USB 3.0 adapter with the 12V brick plugged in.
- Flash Raspberry Pi OS 64-bit (or your preferred distribution) to the SSD from a modern PC.
- In the Pi's bootloader settings (via
raspi-configor the Imager tool), set USB boot as the primary boot device. - Boot the Pi with only the SSD attached — no SD card in the slot.
Two failure modes to avoid. First: unpowered adapters. The Pi's USB 3.0 ports can supply enough current for a 2.5-inch SATA SSD, but browning out under startup load is the top reported failure for USB-SATA setups. A powered adapter like the Unitek eliminates that. Second: cheap USB-SATA chipsets that drop the bus periodically. The Unitek unit uses a well-known controller and is a common pick for exactly this reason.
Pi-hole and Home Assistant together
Pi-hole owns port 53 (DNS) and a small admin UI on 80 or a custom port. Home Assistant owns 8123 by default. They coexist without conflict. Two common patterns:
- Bare install both. Pi-hole as a systemd service, Home Assistant OS or Home Assistant Container. Slightly simpler; slightly more fragile at OS upgrade time.
- Docker Compose. Both in containers behind a lightweight reverse proxy. Neater upgrades, easier snapshots, only marginally more setup.
Either works on the 8GB Pi. RAM usage sits under 2 GB combined with a moderate Home Assistant integration load — leaving headroom for Jellyfin and burst traffic.
Pi-hole's advantage is silent — no clients notice it. Home Assistant's advantage is measurable within a week of running it — one dashboard for lights, presence, weather, energy, and door sensors that was previously five apps.
Jellyfin on Pi 4: what actually plays
Per the Jellyfin docs and consistent community reports, Pi 4 Jellyfin performs like this:
- Direct play (client is compatible with the file's codec + container). Excellent. The Pi 4 is barely doing anything — it is just streaming bytes from the SSD to the LAN. One or two concurrent streams on a wired network are fine.
- Direct stream (container remuxed, codec unchanged). Fine. Still light.
- Software transcode (video re-encoded). Painful. The Pi 4's four cores are not enough to smoothly transcode a modern 1080p HEVC stream, let alone 4K.
- Hardware-assisted transcode. Community reports show limited GPU-assisted transcoding works for some formats, but do not count on it for 4K HEVC HDR content.
The practical fix: keep your library in codecs your clients play natively. Modern smart TVs, phones, and streaming boxes handle H.264 in MP4 or MKV and often HEVC in the same containers. If everything direct-plays, the Pi 4 8GB is a fine Jellyfin server for a small household.
Spec-delta table: Pi 4 8GB vs Pi 5 for this workload
| Property | Pi 4 8GB | Pi 5 8GB (16GB variant available) |
|---|---|---|
| CPU | 4× Cortex-A72 @ 1.5–1.8 GHz | 4× Cortex-A76 @ 2.4 GHz |
| RAM | 8 GB LPDDR4 | 8 GB LPDDR4X |
| PCIe | None | Single PCIe 2.0 lane (with HAT) |
| Storage | USB 3.0 / SD | USB 3.0 / NVMe via PCIe HAT |
| Idle power | ~3 W | ~4 W |
| Load power | ~7 W | ~10 W |
| Approximate 2026 price | Cheaper | More expensive |
| Homelab verdict | Fine for Pi-hole + HA + light Jellyfin | Comfortable margin for more services |
If your homelab list stays at "Pi-hole, Home Assistant, Jellyfin for a household," the Pi 4 8GB is the right buy in 2026. If you plan to keep piling on services — a Frigate NVR, a Nextcloud instance, a serious media transcoder — the Pi 5 is the platform to grow into.
Perf-per-watt for an always-on board
Idle power for a Pi 4 8GB sits around 3 W. Under moderate stack load with one Jellyfin direct-play stream running, it sits around 5–7 W. Continuous 24/7 operation at those numbers costs pennies per day at typical residential electricity rates. This is the single strongest argument for the Pi platform vs a repurposed old x86 desktop — a Pi's electricity budget for a year is less than a month of running an idle old tower.
Fanless heatsink cases keep the Pi 4 cool enough for light duty. Sustained loads — a long Jellyfin transcode, a Home Assistant CPU spike during config reload — will thermal-throttle in a passive case. A small active fan or the official active cooler eliminates it. For a homelab that runs continuously, spend the extra $5 on cooling; do not spend the next year investigating "why is it slow sometimes."
Worked example: what the stack actually looks like
A representative Pi 4 8GB homelab in mid-2026, running for a household of three, sits at these idle numbers:
- CPU load. 1–3% baseline. Home Assistant scheduled tasks spike briefly a few times per minute.
- RAM used. ~1.7 GB. Buffers/cached account for the rest of what free -h reports.
- Storage IO. Trivial. Home Assistant's recorder writes a few hundred KB/s in bursts.
- Network. A few KB/s of DNS lookups for the household plus mDNS chatter.
- Idle power at the wall. ~3.5 W.
Now start one Jellyfin direct-play stream of a 1080p H.264 MP4 to a smart TV:
- CPU load. Jumps to ~10% while the stream ramps, then drops to ~3–5% steady.
- RAM used. +200–400 MB for Jellyfin buffers.
- Storage IO. Sequential reads at whatever bitrate the file needs — a few MB/s.
- Network. Push out the file's bitrate to the TV — well under 100 Mbps.
- Load power at the wall. ~5–7 W.
That is a Pi that is barely working. Add another concurrent direct-play stream and it is still barely working. It is only when you try to transcode on the Pi 4 that the box notices.
The security angle: exposing services safely
Do not expose a Pi 4 homelab directly to the internet. Two reasons: the platform is not hardened for it, and you do not need to. Two options that cover almost everyone:
- VPN in. A WireGuard server on the Pi or the router, plus the client on your phone and laptop. You reach Home Assistant, Jellyfin, and Pi-hole from anywhere without opening ports.
- Tailscale. A managed mesh VPN with the same effect and much easier setup. The Pi 4 runs a Tailscale client comfortably; every device gets a mesh IP; no ports are opened at your edge.
Do not port-forward Jellyfin's HTTP port to the internet. Do not forward Home Assistant's port. Do not forward Pi-hole's admin UI. The exposure is not worth it for a home stack; the VPN path is not more work in 2026 and covers every service you would otherwise have to secure individually.
Backups: what to save and how often
If your Pi's SSD failed tomorrow, what would you lose?
- Home Assistant history and automations. Real personal-value data.
- Jellyfin metadata (watch progress, custom collections). Recoverable but tedious.
- Pi-hole allow/deny customizations. Small but worth saving.
- The OS itself. Reinstall in a couple of hours.
A weekly snapshot of /etc, /var/lib/homeassistant, /var/lib/jellyfin, and any Docker volumes covers most of what matters. Push snapshots to a NAS, to Backblaze B2, or to a second Crucial BX500 SSD plugged into another USB port. rsync and a cron job cover the mechanics; restic covers them nicer.
Extending the stack: what fits, what does not
The Pi 4 8GB with the reference storage handles these additions comfortably:
- AdGuard Home instead of Pi-hole. Similar footprint.
- Uptime Kuma for a service dashboard. Under 100 MB RAM.
- Vaultwarden (self-hosted password manager). ~100 MB RAM, negligible CPU.
- A small MQTT broker (Mosquitto). Trivial footprint.
- Portainer for container management UI.
These push the RAM at rest well below 3 GB. Room to spare.
The Pi 4 8GB starts to strain when you add:
- Frigate NVR with real-time object detection. Even with a Coral USB accelerator, keeping up with more than one or two cameras is tight.
- Nextcloud with heavy office indexing. The database plus indexing hits the CPU hard.
- Serious media transcoding. Just do not.
For those workloads, step to a Pi 5 or a small x86 mini-PC.
Common pitfalls
- Booting from SD card by default. Change the boot order before you commit any real workload.
- Cheap USB-C cable. The Pi 4's power delivery is voltage-sensitive; a lossy cable will undervolt the board. Buy a short quality cable and the official Pi 4 PSU.
- WiFi for Jellyfin. Streaming 1080p over WiFi to a laptop is fine most of the time; the same over congested 2.4 GHz to a TV is not. Wire the Pi.
- Docker without volume mounts. New homelabbers containerize services and forget to mount their config out of the container — an upgrade blows everything away. Mount volumes.
- No backups. The Pi is cheap; recovering your Home Assistant history and your Jellyfin metadata is not free. Automate snapshots to another disk or cloud.
When NOT to use a Pi 4
- You want to run a real NVR with hardware AI acceleration. The Pi 4 is not the right board. Look at a Coral USB accelerator plus a Pi 5, or a small x86 mini-PC.
- You need to transcode multiple concurrent 4K streams. Not this board.
- You want to self-host a local LLM. Not this board either — see our Local LLM PC Build 2026 instead.
Bottom line
The Raspberry Pi 4 8GB is still the pragmatic 2026 single-board homelab pick for a Pi-hole, Home Assistant, Jellyfin stack. Pair it with a Crucial BX500 1TB SATA SSD mounted through a Unitek SATA-to-USB 3.0 adapter with the 12V brick, an official PSU, and a case with active cooling. Keep media in codecs your clients direct-play. Do not put anything real on an SD card. The whole build lands well under $200 and runs at a few watts of continuous power.
Related guides
- Best Raspberry Pi Alternative for Klipper in 2026
- RetroPie Handheld Shells in 2026
- Raspberry Pi Pico W Becomes a Driverless USB WiFi Adapter
Citations and sources
- Raspberry Pi 4 Model B — official product page
- Jellyfin — official documentation
- Home Assistant — Raspberry Pi installation guide
This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.
