

Frigate NVR
Description
Frigate is used to record footage from three cameras in my home. Two are for fun, and one looks out the front door peephole for deliveries.
Hardware: Home Lab
History
I don’t really need a surveillance system, but a different idea started me on the path:
Peep Cam
It was 2020 and I suddenly found myself getting a lot more things delivered to my apartment. I was feeling lazy and wished for a way to see out the peep hole from my desk.
There didn’t seem to be any products yet that could replace a standard peephole with a camera, so i used what I had laying around: an old rPi0 and Pi camera
I learned i could flash motioneyeos to the SD Card and it should do what I needed spoiler: it did.
Now I wanted a way to store what the camera saw
Version 1
After doing some research, it seeemed like a software called Frigate would suit my needs.
Already having gotten my hands dirty in K8s and helm, it didn’t take long to get the app spun up to poke around.
Adding my existing cameras was faily easy, I have experience playing with these for a few years so I knew where to look for stream urls and such.
Reading through the docs i found that Frigate can do object identification, but requires something called a TPU
After more reading and an Amazon purchase, I was ready for a redesign.
Version 2
Because of the new USB device, I decided to make things more interesing by adding my rPi4 to my K8s cluster and running Frigate that way. This enabled me to run the Frigate container with “admin rights” and find the TPU without compromising other apps in the cluster.
That meant I needed to learn how to add a worker node to micr0k8s, and how to “force” resource assignment to nodes. I’d love to say this was easy, but it took some time to wrap my head around taints and tolerations.
Once I sorted that out, it was on to storage. The Media Server project needed persistent storage so i had code to copy and it was now just a matter of correctly mouting the drive to Ubuntu.
Version 3
The storage drive for the
← Back to projects