Setting up Frigate
Frigate needs an actual camera stream to point at before anything else here matters, an RTSP-capable IP camera, or even an old phone running an IP-camera app works.
- 1
Get an RTSP URL from each camera
A dedicated IP camera has this in its own settings. An old Android phone works too: an app like IP Webcam turns it into an RTSP source, a genuinely usable way to repurpose retired hardware into a camera rather than buying one.
- 2
Run the container
Frigate needs a larger-than-default shared memory size for video buffering, and a config volume plus somewhere to actually store recordings.
services: frigate: image: ghcr.io/blakeblackshear/frigate:stable container_name: frigate restart: unless-stopped shm_size: "256mb" ports: - "5000:5000" - "8554:8554" volumes: - ./config:/config - ./storage:/media/frigate - /etc/localtime:/etc/localtime:ro - 3
Write config.yml
Each camera gets an entry with its RTSP URL, and detection needs either a Coral USB accelerator (fast, low CPU) or the CPU detector (works everywhere, slower). MQTT (its own guide in this Library) is optional but is what lets Home Assistant react to detections.
mqtt: host: mosquitto cameras: front_door: ffmpeg: inputs: - path: rtsp://user:pass@camera-ip:554/stream roles: - detect detect: width: 1280 height: 720 - 4
Open the web UI
Reachable at port 5000, it shows live feeds and starts logging detected events almost immediately once a camera is correctly configured.
- 5
Put it behind HTTPS
Frigate's own port serves plain HTTP; rather than exposing that directly, route it through a reverse proxy like nginx (its own guide covers the basics) so the only entry point is encrypted.
Further reading
- Frigate documentation
Full config reference, hardware acceleration options, and detector comparisons.
- Frigate on GitHub
Source, release notes, and the issue tracker for camera-specific quirks.