Skip to main content

Frigate NVR mit zwei Reolink-Kameras und Synology NAS

Frigate NVR mit zwei Reolink-Kameras und Synology NAS

Geltungsbereich

Dieses Runbook beschreibt ein kleines Frigate-System mit zwei Reolink-Kameras, lokalem Frigate-Config-/Datenbank-Speicher und Aufzeichnungen auf einem Synology-NAS.

Getestetes Feldprofil: Frigate in Docker innerhalb eines unprivilegierten Proxmox-LXC, NFS auf dem Proxmox-Host gemountet und in den LXC durchgereicht. Auf dem getesteten CPU-System ohne iGPU liefen Videodekodierung und OpenVINO-Detektion auf der CPU.

Herstellerempfehlung: Frigate empfiehlt Docker auf Bare-Metal-Debian, weil GPU- und Accelerator-Zugriff dort einfacher und mit weniger Overhead möglich ist. Proxmox funktioniert in der Praxis, ist aber nicht die bevorzugte Standardplattform. Die folgenden LXC-Schritte sind deploymentspezifisch.

Architektur

  • /config lokal auf SSD: Konfiguration und SQLite-Datenbank
  • /media/frigate auf Synology-NFS: Aufzeichnungen, Snapshots und Exporte
  • /tmp/cache als tmpfs: temporäre Aufzeichnungssegmente
  • Reolink-Substream für Erkennung, Mainstream für Aufzeichnung
  • Hardwaredekodierung nur konfigurieren, wenn im Frigate-Container ein unterstütztes Gerät tatsächlich verfügbar ist

Nie /config auf NFS legen. Frigate hält dort die SQLite-Datenbank und Begleitdateien. Nur /media/frigate gehört auf den Netzspeicher.

1. Synology-NFS vorbereiten

In DSM 7:

  1. Systemsteuerung → Dateidienste → NFS: NFS aktivieren.
  2. Dedizierten freigegebenen Ordner erstellen, beispielsweise frigate.
  3. Freigegebenen Ordner bearbeiten → NFS-Berechtigungen → Erstellen:
    • Hostname/IP: nur die IP beziehungsweise das Subnetz des Proxmox-Hosts
    • Privileg: Lesen/Schreiben
    • Sicherheit: sys
    • Squash und UID/GID passend zum eigenen LXC-Rechtemodell wählen
  4. Den von DSM angezeigten Mount-Pfad notieren, beispielsweise /volume1/frigate.

Für unprivilegierte LXC kann «alle Benutzer auf admin abbilden» als pragmatischer Workaround funktionieren, erweitert aber die Rechte auf dem Share. Besser sind ein dediziertes Share und eine bewusst getestete UID/GID-Abbildung.

2. NFS auf dem Proxmox-Host mounten

apt update
apt install -y nfs-common
mkdir -p /mnt/frigate-recordings

Eintrag in /etc/fstab; Server und Exportpfad anpassen:

nas.example.invalid:/volume1/frigate /mnt/frigate-recordings nfs4 rw,hard,_netdev,noatime,x-systemd.automount,x-systemd.device-timeout=30s 0 0

Mount und Schreibzugriff prüfen:

systemctl daemon-reload
mount /mnt/frigate-recordings
mountpoint /mnt/frigate-recordings
df -h /mnt/frigate-recordings
touch /mnt/frigate-recordings/.frigate-write-test
rm /mnt/frigate-recordings/.frigate-write-test

Ausfallschutz: Frigate nicht starten, wenn mountpoint fehlschlägt. Sonst beschreibt Frigate den leeren lokalen Mount-Pfad und kann das Root-Dateisystem füllen. Das Verhalten bei nicht erreichbarem NAS gehört zwingend in den Abnahmetest.

3. Mount in den LXC durchreichen

In /etc/pve/lxc/<CTID>.conf:

mp0: /mnt/frigate-recordings,mp=/media/frigate

Falls der Proxmox-Host eine unterstützte GPU hat, das Gerät vorzugsweise über CT → Ressourcen → Gerät durchreichen hinzufügen. Bei Intel ist im LXC mindestens der passende Render-Node unter /dev/dri/ zu erwarten.

Nach dem Neustart des LXC:

mountpoint /media/frigate
ls -la /dev/dri 2>/dev/null || true

Fehlt /dev/dri, darf kein Intel-VAAPI/QSV-Preset erzwungen werden. Frigate dokumentiert für konfigurierte Hardwarebeschleunigung keinen CPU-Fallback bei Fehlern.

4. Frigate mit Docker Compose betreiben

Docker Engine und das Compose-Plugin gemäss der offiziellen Docker-Dokumentation für die verwendete Distribution installieren. Beispiel für die relevanten Volumes:

services:
  frigate:
    container_name: frigate
    image: ghcr.io/blakeblackshear/frigate:stable
    restart: unless-stopped
    shm_size: "256mb"
    volumes:
      - /opt/frigate/config:/config
      - /media/frigate:/media/frigate
      - type: tmpfs
        target: /tmp/cache
        tmpfs:
          size: 1000000000
    ports:
      - "8971:8971"

Frigate nennt für zwei Detektionsstreams mit 720p rund 210 MB Shared Memory; 256mb ist ein pragmatischer Startwert. Die tatsächliche Grösse über den Frigate-SHM-Rechner auf Basis der Detektionsauflösung dimensionieren.

Start und Diagnose:

cd /opt/frigate
mountpoint /media/frigate

docker compose config
docker compose pull
docker compose up -d
docker compose logs --tail=200 frigate

Port 8971 ist die authentisierte Weboberfläche und API. Port 5000 ist intern und nicht authentisiert und darf nicht öffentlich exponiert werden.

5. Detektor und Videodekodierung

System ohne GPU

  • Kein hwaccel_args erzwingen.
  • Auf Intel-CPU ist OpenVINO im CPU-Modus dem generischen CPU-Detector vorzuziehen.
  • Detektions-FPS und Substream-Auflösung niedrig beginnen und Last messen.

System mit Intel-iGPU

  • Passendes Preset wählen, zum Beispiel preset-vaapi oder preset-intel-qsv-* nach CPU-Generation.
  • Frigate-Logs auf automatische Erkennung beziehungsweise Fehler prüfen. Niedrige CPU-Last allein beweist funktionierende Hardwaredekodierung nicht.

Frigate 0.18 empfiehlt den Add Camera Wizard unter Settings → Global configuration → Camera management. Vorher HTTP in den erweiterten Netzwerkeinstellungen der Kamera aktivieren.

Empfohlene Kameraoptionen, sofern vom Modell angeboten:

  • Fluency first / CBR aktivieren
  • Interframe Space 1x (I-Frame-Intervall gleich Framerate)
  • Substream für Erkennung, Mainstream für Aufzeichnung

Der Streamtyp hängt vom Modell ab:

Nicht pauschal jede Kamera auf H.264 oder HTTP-FLV zwingen. Der Wizard erkennt Auflösung und Streamtyp automatisch. H.265-Streams sind für Aufzeichnungen in Chrome 108+, Edge und Safari abspielbar; ältere Browser brauchen H.264.

7. Abnahme

  • mountpoint /media/frigate ist im LXC erfolgreich.
  • Recordings landen auf dem NAS und altern gemäss Retention.
  • Config-Validierung ohne Fehler; Logs zeigen keine FFmpeg-Fehler.
  • Live-View beider Kameras stabil; Detection-Boxen sichtbar.
  • Detektionsauflösung entspricht dem realen Substream.
  • Falls GPU verwendet: Hardwaredekodierung ist in Logs/Frigate-Metriken bestätigt.
  • Neustart von Host und LXC stellt NFS, Docker und Frigate wieder her.
  • Ausfalltest: NAS nicht erreichbar ⇒ Frigate startet nicht oder schreibt nicht lokal auf Root-Disk.

Quellen


Quelle: Obsidian Knowledge Base/Troubleshooting/Frigate NVR - Reolink 2x + Synology NAS/README.md · Stand: 2026-10-12 · Automatisiert publiziert durch Hermes.