The one piece missing from this blog’s Pi 5 home server stack
Between Pi-hole, Home Assistant, Ollama, Vaultwarden with Tailscale, and now Immich, this blog has built out most of a proper 2026 Raspberry Pi 5 home server. The piece still missing is video: turning cheap RTSP security cameras into a real, self-hosted NVR with object detection – without the CPU load that normally makes that impossible on a Pi. Running Frigate NVR on a Raspberry Pi 5 with a Coral Edge TPU is exactly how to fill that gap.
Why a Coral TPU, not just the Pi’s own CPU
Running object detection on every frame of every camera stream would pin a Pi 5’s CPU instantly. The Coral Edge TPU offloads that inference to dedicated silicon, so Frigate can run continuous, multi-camera object detection – people, vehicles, animals – at a fraction of the CPU cost of software-only detection.
- USB Coral Accelerator – simplest setup, no extra drivers beyond
libedgetpu1-std, plugs into a Pi 5’s USB 3.0 port - PCIe Coral (via M.2/HAT) – marginally better throughput, worth it only if you’re already running an NVMe HAT with a spare M.2 slot
- Either option is enough for several 1080p RTSP streams with detection latency low enough to be genuinely useful for alerts
The basic setup
Frigate ships as a Docker image, which is the officially recommended way to run it – there’s no case for compiling it from source on a Pi.
- Install Docker on Raspberry Pi OS (64-bit is required) if it isn’t already part of your Pi 5 stack
- Install
libedgetpu1-stdon the host and pass the Coral device through to the container - Point Frigate’s config at each camera’s RTSP stream and set the detector to use the Coral TPU rather than CPU
- Store recordings on an NVMe SSD rather than the SD card – continuous recording will wear out an SD card fast
A minimal detector config in config.yml looks like this:
detectors: coral: {type: edgetpu, device: usb}
Fitting it into the rest of the stack
Frigate’s real value on a home-server Pi comes from what it connects to, not from running in isolation:
- Home Assistant integration – Frigate’s HACS integration surfaces per-camera person/vehicle detection as sensors you can build automations around
- Immich – keep Frigate’s job strictly to live monitoring and alerts, and let Immich remain your actual photo/video library, rather than duplicating storage between the two
- Tailscale – expose Frigate’s web UI over your existing Tailscale network instead of opening another port to the internet
Common gotchas worth knowing before you start
- Frigate needs a 64-bit OS – if you’re still running a 32-bit Raspberry Pi OS image from an older Pi 4 setup, you’ll need to reflash before any of this works
- The USB Coral Accelerator can run warm under sustained load – a small heatsink or a case with airflow is worth adding if it’s running continuously rather than just for testing
- RTSP camera firmware varies wildly in stream quality reporting – test with a short sub-stream resolution first rather than assuming your cameras’ main stream is what you actually want Frigate detecting against
What to expect realistically
A single Pi 5 with a Coral TPU handles a handful of cameras comfortably – this isn’t a replacement for a dedicated NVR box watching twenty cameras across a commercial site. For a home setup of two to six cameras, though, it’s a genuinely capable, low-power, fully self-hosted alternative to a cloud camera subscription, and it slots into a Pi 5 home-lab stack you may well already be running for everything else.

Leave a Reply
You must be logged in to post a comment.