SpongederpSquarefapB
Sure thing
Also I thought that frigate is only usable through home assistant, but that only means android app I guess.
Nope, Home Assistant is just a nice integration with it
The web UI is fast and responsive - even on mobile in Chrome
You can easily view object detections and recordings by day and hour through the web UI too
It’s extremely well done
Anyway, I am actually in process of picking few cameras, likely going with tplink vigi, like C340 and see if it will play nicely.
Frigate have docs on recommended cameras
https://docs.frigate.video/frigate/hardware
Regardless of what cameras you choose, please ensure you VLAN and firewall them off - these cameras effectively run a Linux distro and should not be trusted or accessible
For example, my Reolink cameras can access NTP and DNS just so their clocks are correct
They can’t access anything else on the network
The CCTV VM sits on the same network as the cameras and has host firewall rules to deny access from the cameras
Frigate just connects to each camera’s stream and does its magic from there
version: "3.9"
services:
frigate:
container_name: frigate
privileged: true # this may not be necessary for all setups
restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:stable
shm_size: "512mb" # update for your cameras based on calculation above
volumes:
- /etc/localtime:/etc/localtime:ro
- /opt/dockervolumes/frigate/config/config.yml:/config/config.yml
- /mnt/cctv/frigate:/media/frigate
- type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "8554:8554" # RTSP feeds
- "8555:8555/tcp" # WebRTC over tcp
- "8555:8555/udp" # WebRTC over udp
environment:
FRIGATE_C1_PASS: ${FRIGATE_C1_PASS}
FRIGATE_C2_PASS: ${FRIGATE_C2_PASS}
FRIGATE_C3_PASS: ${FRIGATE_C3_PASS}
FRIGATE_C4_PASS: ${FRIGATE_C4_PASS}
labels:
- traefik.enable=true
- traefik.http.routers.cctv.rule=Host(`cctv.${DOMAIN}`)
- traefik.http.routers.cctv.entrypoints=websecure
- traefik.http.routers.cctv.tls.certresolver=cloudflare
- traefik.http.services.cctv.loadbalancer.server.port=5000
networks:
- proxy
networks:
proxy:
external: true
For just yourself? Get a domain that you can actually remember and use and then set up a WireGuard server (I recommend the Linuxserver.io WireGuard image)
Use that to access your stuff
Do you have 1 thing you desparately need to be publicly accessible? VLAN the VM off so it’s on its own and put a reverse proxy in front of it with HTTPS (and ideally MFA if you need auth)
How do people store the streams from the camera that Frigate subscribes to? I was considering storing this in my in-network NAS. I have few zfs volumes on one of my machines which I use as my NAS, but not sure if there is a different recommended NAS storage that works better with Frigate?
Local storage on my host (4TB SSD in my case, but a 4TB drive would work fine)
I have Home Assistant running on my Raspberry Pi in the network. To what level does Frigate integrate with NAS?
Aside from compute and storage from running the container on there? Not much
How are all of you interacting with Frigate? Browser, mobile app, TV, etc. ?
The web server it provides works great for playback of footage, clips and exporting video
It’s also excellent for editing the config
What kinds of notification mechanisms Frigate supports - email, push notifications, etc. ? I guess Home Assistant can be used for this part?
Anything that works with MQTT should work
Am I doing something against the grain here? Anything simpler I should be considering?
Everything seems sane so far, just read the Frigate docs and you’ll be fine
Yep OP is right, but OP didn’t mention the fucking disasterous WireGuard implementation they tried to pull off
God that was a mess
This is yet another reminder to tick off “switch to OPNsense” on my to do list
Dpending on where you live, CCTV
Shinobi CCTV works great - it’s just a fancy wrapper around FFmpeg
Immich is another great recommendation for when you’ve used up all of your Google Photos storage