Ich habe Frigate auf meinem Debian Trixie System eingerichtet, um meine Kameras lokal auszuwerten und intelligente Bewegungserkennung zu nutzen – ganz ohne Cloud. In diesem Artikel zeige ich Schritt für Schritt, wie ich dabei vorgegangen bin.
Was ist Frigate überhaupt?
Frigate ist ein Network Video Recorder (NVR) mit Fokus auf KI-basierter Objekterkennung.
Das bedeutet:
- Es erkennt nicht nur Bewegung, sondern unterscheidet z. B. zwischen:
- Personen
- Autos
- Tieren
- Es läuft komplett lokal → keine Cloud notwendig
- Es nutzt FFmpeg für Videoverarbeitung
- Optional kann es mit Hardware (z. B. Coral TPU oder iGPU) beschleunigt werden
Für mich war besonders wichtig:
- Datenschutz (keine externen Server), Löschfristen einfach anzugeben
- Effizienz (nur relevante Events speichern)
- Erweiterbarkeit (z. B. Home Assistant Integration)
. Docker installieren
Da Frigate als Container läuft, habe ich zuerst Docker installiert:
apt update
apt install ca-certificates curl gnupg
Docker Repository hinzufügen:
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" \
> /etc/apt/sources.list.d/docker.list
apt update
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
🔍 Warum Docker?
Ich nutze hier Docker, weil:
- Frigate dadurch sauber vom System getrennt läuft (dennoch läuft es in einer eigenen VM)
- Updates extrem einfach sind
- Abhängigkeiten keine Probleme machen
Die wichtigsten Komponenten:
- docker-ce → eigentliche Engine
- containerd → führt Container aus
- docker compose → startet komplette Setups (wie Frigate)
Verzeichnisstruktur anlegen
mkdir -p /opt/frigate/config
mkdir -p /opt/frigate/storage
cd /opt/frigate
Ich trenne bewusst:
- config → Einstellungen
- storage → Videos & Bilder
Vorteil: Backups und Migration sind einfacher.
Docker Compose erstellen
nano docker-compose.yml
services:
frigate:
container_name: frigate
restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:stable
privileged: true
shm_size: "1gb"
network_mode: host volumes:
- ./config:/config
- ./storage:/media/frigate
- /etc/localtime:/etc/localtime:ro environment:
FRIGATE_RTSP_PASSWORD: "GeheimesPasswort!"
Erklärung der wichtigsten Optionen
image
→ Das eigentliche Frigate-System
network_mode: host
→ Ich nutze den Host-Modus, damit Frigate direkt auf meine Kameras zugreifen kann
(keine Portprobleme mit RTSP)
privileged: true
→ Notwendig, wenn ich Hardwarebeschleunigung nutzen möchte
shm_size: 1gb
→ Sehr wichtig!
Frigate verarbeitet Videostreams im RAM – zu wenig Speicher führt zu Fehlern oder schlechter Performance
volumes
/etc/localtime → korrekte Zeit
/config → meine config.yml
/media/frigate → alle Aufnahmen
Erste Konfiguration
nano /opt/frigate/config/config.yml
mqtt:
enabled: false
cameras:
tapo:
ffmpeg:
inputs:
- path: rtsp://homeassistant:Mqr72d.mqr72d!@192.168.52.34:554/stream1
roles:
- detect
detect:
width: 640
height: 360
fps: 5
🔍 Erklärung der Konfiguration
mqtt
mqtt:
enabled: false
Ich deaktiviere MQTT, da ich derzeit noch keine externe Integration (z. B. Home Assistant) nutze.
Danach wird die Kamera angelegt, sie trägt hier den Namen Tapo und ist die einzige Kamera des Systems.
Damit ist Frigate grundlegend in Betrieb, weitere Anpassungen (Mehr Kameras, Bewegung) folgen in einem seperaten Artikel, der noch auf weitere Grundlagen eingeht, später