IP-Kamera mit Frigate lokal aufzeichnen¶
Veröffentlicht am 9. August 2026 · Geschätzte Lesezeit: 4 Minuten
Frigate zeichnet den RTSP-Videostream einer IP-Kamera auf und erkennt Bewegungen und Objekte direkt auf dem eigenen Server. Die Aufnahmen bleiben im Heimnetz und lassen sich über eine geschützte Weboberfläche durchsuchen. Für eine erste Kamera mit CPU-Erkennung brauchst du ungefähr 25 Minuten.
Voraussetzungen
- Ein Linux-Server mit Docker und Docker Compose
- Eine IP-Kamera mit aktiviertem RTSP-Stream
- Genügend freier Speicherplatz für Videoaufnahmen
- Port 8971/TCP ist im Heimnetz frei
1. Kameradaten vorbereiten¶
Aktiviere in der Kamera den RTSP-Stream und lege dafür möglichst einen eigenen Benutzer mit einem langen Passwort an. Notiere die private Kamera-IP und den RTSP-Pfad aus der Herstellerdokumentation.
Ein vollständiger RTSP-Pfad sieht häufig ähnlich aus, darf aber nicht ungeprüft übernommen werden:
Ersetze alle vier Platzhalter durch die Werte deiner Kamera. Verwende nach Möglichkeit einen niedrig aufgelösten Nebenstream für die Erkennung und den Hauptstream erst später für hochwertige Aufnahmen.
2. Arbeitsordner anlegen¶
Führe die Befehle auf dem Docker-Server aus. Sie erstellen getrennte Ordner für Konfiguration und Aufnahmen und wechseln direkt in den Arbeitsordner:
sudo mkdir -p /opt/frigate/config /opt/frigate/storage
sudo chown -R "$USER":"$USER" /opt/frigate
cd /opt/frigate
3. Kamerazugang in einer Umgebungsdatei speichern¶
Erstelle in /opt/frigate eine Datei namens .env. Ersetze beide Platzhalter
durch das RTSP-Konto der Kamera:
Schütze die Datei auf dem Server vor anderen Benutzern:
Kamerazugang nicht veröffentlichen
Die .env-Datei enthält echte Zugangsdaten. Lade sie nicht auf eine Webseite
oder in eine öffentliche Git-Ablage und zeige sie nicht in Screenshots.
4. Frigate-Konfiguration erstellen¶
Erstelle /opt/frigate/config/config.yml. Ersetze <kamera-ip> und <rtsp-pfad>
durch die Werte deiner Kamera. Die Namen in geschweiften Klammern bleiben genau so
stehen; Frigate liest sie später aus der .env-Datei.
mqtt:
enabled: false
record:
enabled: true
retain:
days: 3
mode: motion
cameras:
eingang:
ffmpeg:
inputs:
- path: rtsp://{FRIGATE_RTSP_USER}:{FRIGATE_RTSP_PASSWORD}@<kamera-ip>:554/<rtsp-pfad>
roles:
- detect
- record
detect:
enabled: true
width: 1280
height: 720
fps: 5
eingang ist der interne Kameraname und darf ohne Leerzeichen geändert werden.
Die Aufbewahrung von drei Tagen begrenzt den Speicherverbrauch für den Einstieg.
Breite und Höhe müssen zur Auflösung des verwendeten RTSP-Streams passen.
CPU-Erkennung ist nur ein Einstieg
Eine Kamera mit 720p und 5 Bildern pro Sekunde eignet sich zum Testen. Für mehrere Kameras oder dauerhaften Betrieb empfiehlt Frigate einen unterstützten Beschleuniger und Hardware-Decoding. Falsche Werte können den Server stark auslasten.
5. Compose-Datei erstellen¶
Erstelle /opt/frigate/compose.yaml. Ersetze <server-ip> durch die private IP
des Docker-Servers, zum Beispiel 192.168.1.20.
services:
frigate:
image: ghcr.io/blakeblackshear/frigate:stable
container_name: frigate
restart: unless-stopped
stop_grace_period: 30s
shm_size: "128mb"
env_file:
- .env
ports:
- "<server-ip>:8971:8971"
volumes:
- /etc/localtime:/etc/localtime:ro
- ./config:/config
- ./storage:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: 1000000000
Port 8971 führt zur angemeldeten Oberfläche. Der interne, nicht angemeldete Port
5000 wird absichtlich nicht veröffentlicht. shm_size reicht laut Frigate für
einen kleinen Einstieg und muss bei weiteren Kameras neu berechnet werden.
6. Starten und Administratorkonto sichern¶
Prüfe zuerst die Compose-Datei:
Starte Frigate:
Beim ersten Start erzeugt Frigate das Konto admin und ein zufälliges Passwort.
Zeige die letzten Protokollzeilen an und notiere das Passwort:
Öffne https://<server-ip>:8971. Die Zertifikatswarnung entsteht beim ersten
lokalen Zugriff durch das selbst signierte Zertifikat. Melde dich an und ändere
das Administratorkennwort sofort unter Einstellungen → Benutzer.
7. Kamera und Aufnahme prüfen¶
Öffne die Live-Ansicht und kontrolliere, ob eingang ein flüssiges Bild zeigt.
Gehe vor der Kamera vorbei und warte kurz, bis in der Review-Ansicht ein Eintrag
erscheint. Beobachte gleichzeitig die Serverlast:
Beende die laufende Anzeige mit Strg+C. Bleibt die CPU dauerhaft sehr hoch,
verwende einen kleineren Nebenstream oder deaktiviere die Erkennung, bis passende
Beschleuniger-Einstellungen eingerichtet sind.
8. Backup und Rückweg¶
Videoaufnahmen können sehr groß werden. Sichere regelmäßig mindestens die
Konfiguration, Datenbank und .env-Datei; wichtige exportierte Clips kopierst du
zusätzlich auf ein anderes Gerät. Stoppe Frigate für ein konsistentes Backup:
Lege den Backup-Ordner an und sichere die Konfiguration ohne das große Aufnahmeverzeichnis:
sudo mkdir -p /var/backups
sudo tar -czf "/var/backups/frigate-config-$(date +%F).tar.gz" -C /opt/frigate compose.yaml .env config
Starte Frigate wieder:
Das Archiv enthält den Kamerazugang und muss geschützt aufbewahrt werden. Für den
Rückweg stoppst du den Stack und stellst compose.yaml, .env und config aus
dem Archiv wieder unter /opt/frigate her.
9. Aktualisieren und Fehler finden¶
Lege vor einem Update ein Backup an. Aktualisiere anschließend den Container:
- Kein Kamerabild: Kamera-IP, RTSP-Pfad und Zugangsdaten prüfen und den Stream zuerst mit einem lokalen Videoplayer testen.
401 Unauthorized: RTSP-Benutzer und Passwort in.envstimmen nicht oder der Benutzer darf den Stream nicht öffnen.Bus error:shm_sizeist zu klein und muss nach der offiziellen Formel passend zu Anzahl und Auflösung der Kameras erhöht werden.- Festplatte läuft voll: Aufbewahrungszeit senken und den Ordner
/opt/frigate/storagekontrollieren.
10. Quellen und Video¶
- Offizielle Frigate-Installation
- Offizielle Kamera-Konfiguration
- Offizielle Hinweise zu Aufnahme und Aufbewahrung
- Video: Lokale Kameraaufzeichnung mit Frigate
Fertig¶
Frigate zeichnet die Kamera nun lokal auf und schützt die Oberfläche mit einer Anmeldung. Zur Funktionsprüfung gehst du einmal durchs Kamerabild und prüfst, ob kurz danach ein abspielbarer Eintrag in der Review-Ansicht erscheint.