Hi everyone,
I originally wanted something fairly simple: make my house react to real events — for example, detect what is happening at the gate and announce it inside the house.
That escalated a little. ![]()
Today most of my smart-home infrastructure runs on a small CHUWI HeroBox with an Intel N100 and only 8 GB of RAM, using Proxmox VE 9.2.
This isn’t meant to be a “perfect architecture” guide. It’s a real system running 24/7, including the mistakes and compromises that came with it.
The main stack
- Intel N100 mini PC
- 8 GB RAM
- Proxmox VE 9.2
- Home Assistant
- Frigate
- Asterisk
- Hikvision NVR + 8 cameras
- OpenVINO detection
- Telegram notifications
- Yandex Station for voice announcements
- Samsung TV for camera/dashboard display
The important part is that I don’t make Frigate do everything.
The Hikvision NVR still records all cameras continuously. Frigate receives direct RTSP streams only from the cameras where I actually need analytics.
How it is divided
Hikvision NVR → continuous recording
Selected cameras → RTSP → Frigate → Home Assistant → automations
Home Assistant then handles things like:
- Telegram notifications
- voice announcements
- camera display on the TV
- short event video clips
- other automations
Some real automations
Person at the gate
Camera → Frigate → Home Assistant → short video clip + notification.
Known face at the gate
Frigate recognizes the person and Home Assistant announces the name through the speaker inside the house.
Vehicle detection
A driveway camera detects a car, saves a snapshot and creates a short event clip.
Gate opening
A separate camera records approximately one minute around the event.
The continuous NVR archive stays completely separate from these event clips.
That separation turned out to be very useful.
The interesting part: only 8 GB RAM
CPU performance on the N100 has been surprisingly usable for this kind of system.
The bigger limitation in my particular mini PC is memory.
Frigate is one of the heavier services, so instead of analyzing all 8 cameras I only use analytics where it actually provides a benefit.
I also added swap as an emergency buffer, but I don’t consider swap a replacement for RAM.
A cheap mini PC can do quite a lot when the workload is divided sensibly:
- NVR → recording
- Frigate → selected video analytics
- Home Assistant → logic and orchestration
- Asterisk → SIP/intercom
- Proxmox → isolation between services
Things that did NOT work perfectly
This part has probably taught me more than the successful setup.
I’ve dealt with:
- false vehicle detections
- detection zone tuning
- duplicate/stale snapshots
- event archive problems
- memory pressure
- SIP/intercom conflicts caused by automation logic
- deciding which jobs belong in the NVR and which belong in Frigate
- hardware acceleration configuration and validation
I’m still tuning the Intel GPU / VAAPI side rather than pretending the system is “finished”.
One of my main design rules
I don’t want everything in the house to depend on Home Assistant.
If Frigate stops, the Hikvision NVR still records.
If an automation fails, the cameras still work.
If Home Assistant restarts, basic security and recording don’t disappear with it.
For me, Home Assistant is the orchestration layer rather than the only thing keeping the house alive.
What’s next
I’m continuing work on:
- better vehicle detection
- license plate recognition
- Intel GPU / VAAPI tuning
- a TV floorplan/dashboard
- smarter camera pop-ups
- Zigbee improvements
- event storage and diagnostics
I’m curious how other N100 users approach this.
Would you keep Frigate on the same N100 as the rest of the smart-home stack, or at some point move video analytics to a second machine?
I documented the longer version with screenshots and the actual hardware here:
The site is currently in Russian, but browser translation works reasonably well.