Why I Ditched Ring
I used Ring cameras for 2 years. Four cameras: doorbell, garage, backyard, front yard.
What I paid:
- Cameras: $600 total (4× $150 each)
- Ring Protect subscription: $200/year (required for video history)
- 2-year total: $600 + $400 = $1,000
What I got:
- Constant privacy concerns (Amazon owns Ring, uploads everything to AWS)
- 60-day video history max (can’t go back further)
- Slow notifications (5-10 second delay)
- Frequent false alerts (trees blowing = “person detected”)
- Cloud dependency (internet down = no recordings)
I wanted:
- Local storage (no cloud uploads)
- Person detection (ignore trees, cars, animals)
- Unlimited history (30+ days of 24/7 recording)
- No subscription fees (one-time cost only)
Enter: Frigate NVR (Network Video Recorder).
Ring uploads everything to Amazon’s cloud. Frigate keeps everything local on your NAS.
What Is Frigate NVR?
Frigate is open-source security camera software.
Key features:
- AI object detection: Detects people, cars, pets (ignores trees, shadows)
- Local processing: Everything runs on your hardware
- RTSP support: Works with any IP camera (not locked to one brand)
- 24/7 recording: Limited only by your storage space
- No subscription: Free forever (donate if you like it)
Frigate runs on:
- Raspberry Pi (budget option)
- Old laptop/desktop (easy)
- Docker on NAS (what I use)
- Dedicated server (overkill for home)
I run Frigate on my TrueNAS server (built in a previous project). Total cost: $0 (already owned hardware).
Hardware: Cameras + PoE Switch
Cameras: Reolink RLC-810A (4× $45 = $180)
Reolink RLC-810A is a PoE (Power over Ethernet) camera.
Specs:
- Resolution: 4K (3840×2160)
- Night vision: IR LEDs, 100ft range
- Power: PoE (powered by Ethernet cable, no separate power adapter)
- Protocols: RTSP, ONVIF (works with any NVR)
- Storage: Supports microSD + NVR
- Price: $45 each (4-pack = $180)
Why PoE cameras?
| Power Method | Pros | Cons |
|---|---|---|
| Battery | Wireless, easy install | Recharge every 2-3 months, video delay |
| Wi-Fi + plug | No Ethernet needed | Unreliable, bandwidth issues, requires outlet |
| PoE | One cable (power + data), reliable, fast | Requires PoE switch, cable running |
PoE is the only serious option for 24/7 recording. Wi-Fi cameras drop frames. Battery cameras sleep (miss events).
Reolink vs competitors:
| Camera | Resolution | Price | PoE | AI Detection |
|---|---|---|---|---|
| Reolink RLC-810A | 4K | $45 | ✅ | Server-side (Frigate) |
| Amcrest IP8M | 4K | $90 | ✅ | Basic motion only |
| Hikvision DS-2CD2143G2 | 4K | $120 | ✅ | On-camera AI |
| Wyze Cam v3 | 1080p | $35 | ❌ | Cloud-based |
Reolink wins on price and compatibility. Hikvision has better AI but costs 3× more (and Frigate’s AI is better anyway).
PoE Switch: TP-Link TL-SG1008P ($80)
TP-Link 8-port PoE switch powers cameras and connects them to network.
Specs:
- 8 ports: 4× PoE ports + 4× regular Ethernet
- PoE budget: 65W total (cameras use ~10W each)
- Gigabit: 1 Gbps per port
- Fanless: Silent operation
Why this switch?
- 4 PoE ports: Perfect for 4 cameras
- 65W budget: 4 cameras × 10W = 40W (25W headroom)
- Fanless: Silent (important for home office)
- Cheap: $80 (managed PoE switches cost $200+)
Wiring:
- Ethernet from router to switch (uplink)
- Ethernet from switch to each camera (PoE delivers power + data)
One cable per camera. No power adapters needed.
PoE switch setup: Router → Switch → 4 cameras (one cable each)
Storage: WD Purple 2TB ($60)
WD Purple 2TB drive is designed for surveillance (24/7 writes).
Why surveillance drives?
| Drive Type | Use Case | Warranty | Price |
|---|---|---|---|
| WD Blue (desktop) | General use | 2 years | $50 |
| WD Red (NAS) | 24/7 NAS | 3 years | $70 |
| WD Purple (surveillance) | 24/7 video recording | 3 years | $60 |
Surveillance drives handle constant writes better. Desktop drives fail within months under 24/7 recording.
Capacity calculation:
4 cameras × 4K resolution × 15 fps × 24 hours = ~200 GB/day
2 TB = 10 days of 24/7 recording (before overwriting oldest footage)
I keep 30 days of “events” (motion detected) and 10 days of continuous recording.
AI Accelerator: Google Coral USB ($60 optional)
Frigate uses AI to detect people/cars/pets. This requires processing power.
Options:
- CPU only: Works, but slow (5-10 fps). Maxes out CPU.
- GPU (NVIDIA): Fast (30+ fps), but requires beefy GPU ($300+).
- Google Coral USB: Purpose-built AI chip. 100+ fps. Costs $60.
I bought the Google Coral USB Accelerator ($60). Plug-and-play, runs cool, uses 2W.
Result: CPU usage dropped from 80% (software AI) to 15% (Coral offload).
Installation: Running Ethernet Cables
This was the hardest part. Running 4× Ethernet cables from my office (where NAS + switch live) to camera locations.
Option 1: Attic/Crawlspace (What I Did)
Process:
- Drill hole from attic into wall cavity
- Fish cable down wall cavity to camera location
- Drill hole through exterior wall
- Mount camera, plug in Ethernet
Tools needed:
- Drill + 1” spade bit
- Fish tape (for pulling cables through walls)
- Ethernet crimping tool (for custom cable lengths)
- Ladder
Time: 6 hours for 4 cameras (1.5 hours per camera)
Difficulty: Hard if you’ve never fished cables. Watch YouTube tutorials first.
Option 2: External Conduit (Easier but Ugly)
Run cables outside the house in weatherproof conduit.
Pros: No attic/wall access needed Cons: Visible cables on exterior (ugly)
Option 3: Hire an Electrician ($300-500)
If you’re not comfortable with attic work, hire a low-voltage electrician.
Cost: $75-125 per cable drop × 4 cameras = $300-500
I saved $500 by DIY, but it took 6 hours.
Fishing Ethernet cable from attic down to exterior camera location
Frigate Setup: Docker on TrueNAS
I run Frigate in a Docker container on my TrueNAS server.
Step 1: Install Docker
TrueNAS SCALE has built-in Docker support (called “Apps”).
Apps → Available Applications → Search “Frigate” → Install
Step 2: Configure Cameras
Frigate uses a YAML config file to define cameras.
Example config (/config/config.yml):
mqtt:
enabled: False
detectors:
coral:
type: edgetpu
device: usb
cameras:
front_door:
ffmpeg:
inputs:
- path: rtsp://admin:password@192.168.1.101:554/stream
roles:
- detect
- record
detect:
width: 1280
height: 720
fps: 5
objects:
track:
- person
- car
record:
enabled: True
retain:
days: 10
snapshots:
enabled: True
retain:
default: 30
Repeat for all 4 cameras (front_door, backyard, garage, driveway).
Step 3: Mount Storage
Frigate stores recordings in /media/frigate/recordings.
I created a dataset on my NAS: /tank/frigate (500 GB quota).
Docker volume mount: /tank/frigate:/media/frigate
Step 4: Plug in Google Coral
USB Coral plugs into NAS. Docker container accesses it via USB passthrough.
Config: device: usb (Frigate auto-detects Coral)
Step 5: Start Frigate
Apps → Frigate → Start
Frigate boots in 30 seconds. Web UI: http://nas-ip:5000
Frigate web interface: 4 live camera feeds + event timeline
AI Detection: Filtering Out False Positives
Ring sent me 30+ notifications/day. 90% were false positives (trees, shadows, cars driving by).
Frigate’s AI filters this:
Detection config:
objects:
track:
- person
- car
filters:
person:
min_area: 5000 # Ignore tiny detections (distant people)
threshold: 0.75 # 75% confidence required
car:
min_area: 20000
threshold: 0.70
Result:
- Ring: 30 alerts/day (3 relevant, 27 false)
- Frigate: 4 alerts/day (4 relevant, 0 false)
What Frigate ignores:
- Trees swaying in wind
- Shadows moving across driveway
- Cars driving past (on street, not driveway)
- Small animals (squirrels, birds)
What Frigate detects:
- Person walking up to front door
- Car pulling into driveway
- Package delivery
Notifications are now useful instead of annoying.
Performance: CPU and Storage Usage
CPU Usage
Before Google Coral: 80% CPU (TensorFlow running on CPU) After Google Coral: 15% CPU (AI offloaded to Coral)
The Coral is mandatory if you want smooth performance.
Storage Usage
4 cameras × 4K × 15 fps × H.264 = ~200 GB/day
Retention policy:
- 24/7 recording: 10 days (200 GB × 10 = 2 TB)
- Event clips: 30 days (5 GB)
Total: 2 TB drive is perfectly sized.
Frigate auto-deletes oldest footage when disk is full. No manual cleanup needed.
Network Bandwidth
4 cameras × 4K × 15 fps = ~80 Mbps sustained
My gigabit network handles this easily. PoE ensures reliable connection (no Wi-Fi dropouts).
Mobile Access: Frigate App + VPN
Frigate has iOS/Android apps. But I don’t expose Frigate to the internet (security risk).
Instead, I use WireGuard VPN:
- Connect to VPN when away from home
- Access Frigate web UI:
http://nas-ip:5000 - View live cameras + recorded events
Alternative: Reverse proxy with SSL (more complex, not worth it for home use).
Cost Breakdown: $380 Total (No Monthly Fees)
| Component | Price |
|---|---|
| 4× Reolink RLC-810A cameras | $180 |
| TP-Link 8-port PoE switch | $80 |
| WD Purple 2TB drive | $60 |
| Google Coral USB Accelerator | $60 |
| Ethernet cable (1000ft) | $40 |
| Mounting hardware | $20 |
| Total | $440 |
Compare to Ring:
- Year 1: $600 (cameras) + $200 (subscription) = $800
- Year 2: $200 (subscription)
- Year 3: $200 (subscription)
- 3-year total: $1,200
My system:
- Year 1: $440 (one-time)
- Year 2: $0
- Year 3: $0
- 3-year total: $440
Savings: $760 over 3 years
And I get:
- Better AI detection (fewer false positives)
- Unlimited local storage (not 60-day cloud limit)
- No privacy concerns (nothing uploaded to cloud)
- Faster notifications (local processing = instant alerts)
Real-World Testing: Detection Accuracy
I tracked detection accuracy for 30 days.
Person Detection
Total person events: 47 Correctly detected: 46 (97.9%) False positives: 3 (tree branch shadow looked like person) False negatives: 1 (missed one delivery driver, was 100+ feet away)
Verdict: Excellent. Better than Ring (which flagged cars as “person”).
Car Detection
Total car events: 23 Correctly detected: 23 (100%) False positives: 0 False negatives: 0
Verdict: Perfect. Only triggers when car enters driveway (ignores street traffic).
Pet Detection (Optional)
I enabled pet detection for backyard camera.
Total pet events: 18 (neighbors cat + local squirrels) Correctly detected: 16 (88.9%) False positives: 2 (shadow on fence = “dog”)
Verdict: Good enough. I don’t care about every squirrel.
Power Consumption: 35W Total
Measured with Kill-A-Watt:
| Component | Power Draw |
|---|---|
| 4× Reolink cameras | 40W (10W each) |
| TP-Link PoE switch | 12W (idle) |
| WD Purple drive | 5W (active) |
| Google Coral | 2W |
| Total | 59W |
Wait, that’s 59W, not 35W?
The NAS was already running 24/7 (18W). Frigate adds negligible CPU load thanks to Coral. I’m only counting the new components.
Cost per year: 59W × 24h × 365d ÷ 1000 × $0.12/kWh = $62/year
Compare to Ring:
- Ring cameras: 8W total (battery charging)
- Cost: $8.40/year
- But: $200/year subscription
My system: $62/year electricity, $0 subscription.
Still $138/year cheaper than Ring.
Issues and Limitations
1. Complex Setup (Not For Everyone)
Ring is plug-and-play. Frigate requires:
- Running Ethernet cables (6 hours DIY or $300-500 hire electrician)
- Setting up Docker container
- Configuring YAML files
- Understanding networking (RTSP, VLANs, VPN)
Not beginner-friendly.
If you want simplicity, stick with Ring/Wyze.
2. No Cloud Backup (By Design)
All footage is local. If someone steals my NAS, I lose all recordings.
Mitigation:
- NAS is hidden in locked closet
- Frigate uploads “events” (person detected) to cloud storage (optional)
For me, privacy > cloud backup. But this is a trade-off.
3. Google Coral Is Hard to Find
Google Coral USB was frequently out of stock (supply chain issues). I waited 2 weeks for restock.
Alternative: Use a cheap NVIDIA GPU (GTX 1050 Ti = $100 used). Requires more power but works great.
Should You Build or Buy Ring?
✅ Build Frigate if:
- You value privacy (no cloud uploads)
- You’re comfortable with Linux/Docker/networking
- You want unlimited local storage
- You hate subscription fees
- You already own a NAS or old PC
❌ Buy Ring/Wyze if:
- You want plug-and-play simplicity
- You don’t care about cloud storage
- You don’t mind $200/year subscription
- You rent (can’t run Ethernet cables)
Verdict: Best Security Investment I’ve Made
Frigate NVR transformed my home security.
Before (Ring): Cloud dependency, constant false alerts, $200/year fees, privacy concerns. After (Frigate): Local control, accurate AI detection, $0 ongoing costs, total privacy.
$440 upfront, $0/year ongoing. Saves $200/year vs Ring.
Payback period: 2.2 years. After that, pure savings.
Rating: 5/5
Recommended? If you’re tech-savvy and value privacy, absolutely build this.
Next Steps: Expanding the System
Now that my security cameras are dialed in, I’m exploring:
- License plate recognition (Frigate supports this)
- Home Assistant integration (automate lights when person detected)
- Facial recognition (recognize family vs strangers)
- Offsite backup (upload events to Backblaze for redundancy)
The self-hosted rabbit hole continues.
Setup time: 8 hours (6 hours cable running, 2 hours software setup) Last updated: September 19, 2025