Proxmox + Frigate + LXC

Phoenix85

Member
Jan 14, 2025
32
1
8
Germany
Hallo,

ich versuche mich in das Thema Frigate einzulesen.

Ein Coral TPU USB ist vorhanden und wird vom Proxmox Host auch erkannt

Screenshot 2025-01-29 at 16.31.59.png

Ich habe das tteck Frigate LXC Script genutzt um einen LXC auszurollen

https://community-scripts.github.io/ProxmoxVE/scripts?id=frigate

Screenshot 2025-01-29 at 16.32.40.png

Was ich noch nicht rausgefunden habe ist was der Username und Password ist um mich an der Shell vom Frigate LXC anzumelden.

Danach wäre interessant zu wissen wie ich den Coral TPU durchgeschliffen bekomme zum LXC und wie man eine Kamera in Frigate aufsetzt?

Ich habe 4 Dahuha Cameras mit ONVIF Protokoll am Haus die ich dann im Frigate nutzen möchte damit ich das Frigate mal gegen ein AgentDVR vergleichen kann.

Hat jemand das von euch erfolgreich schon umgesetzt?

Gruß
 
Also ich habe es wunderbar hinbekommen nachdem ich ein Backup gemacht habe und dann das Backup als unpriviliegiert wieder eingespielt hatte. Weiter wegen USernamen und Benutzernamen, wenn du LXC benutzt dann setzt du doch bei der konfiguration ein Benutzer und Passwort. Mein Proxmox Frigate funktioniert einwandfrei mit Coral TPU. CPU Last ist bei 2 Prozent.
 

1. Hardware-Passthrough überprüfen

Die Coral EdgeTPU muss korrekt an den LXC-Container weitergereicht werden. Vergewissere dich, dass der USB-Passthrough richtig eingerichtet ist.

  1. LXC-Konfiguration bearbeiten:
    • Öffne die Konfigurationsdatei des Containers:
      bash

      nano /etc/pve/lxc/CONTAINER_ID.conf
    • Füge die folgende Zeile hinzu, um die Coral TPU an den Container weiterzureichen:
      swift


      lxc.cgroup2.devices.allow: c 189:* rwm
      lxc.mount.entry: /dev/bus/usb/001/002 dev/bus/usb/001/002 none bind,optional,create=file


      Container neustarten:

  2. bash
    pct stop <CONTAINER_ID>
    pct start <CONTAINER_ID>


    Überprüfen, ob das Gerät im Container sichtbar ist:
    • Nach dem Start des Containers kannst du mit lsusb überprüfen, ob die Coral TPU korrekt erkannt wird.

2. Treiber und Bibliotheken sicherstellen

Die notwendigen Treiber und Bibliotheken für die Coral TPU müssen im Container installiert sein.

  1. libedgetpu installieren:
  2. LD_LIBRARY_PATH setzen:
    • Stelle sicher, dass der Pfad zu libedgetpu.so.1.0 verfügbar ist. Füge dies in die Umgebungsvariablen des Containers ein:
      bash
      export LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf:/usr/lib/x86_64-linux-gnu
 
Ok schaue ich mir morgen mal an. Wie setzt man die Kameras in Frigate auf?

Ist das auch per Bash?

Komme nun in den Usernamen und Passwort
 
Wenn du Frigate installiert hast dann gibt es eine configuration.yml welche du entweder über einen Linux Editor oder ober Weboberfläche einstellen kannst, je nach Typs der Kameras, es können auch alle verschieden sein. Hier ist die originale Anleitung von Frigate: https://docs.frigate.video/configuration/
Ich habe die ein wenig anders angepasst. Dazu habe ich auch noch zusätzlich ein LXC mit Homeassistant installiert und dieses mit meinem Frigate verbunden. Damit ich meine Snapshots als Meldung jeweils über meinen Exchange und zusätzlich als Telegram bekomme, zusatz ist auch noch das ich da eine Automation für Feiertage (da ich Meldungen nur haben möchte ausserhalb der Arbeitszeit, es wird aber trotzdem aufgenommen) habe und ein extra Dashboard bauen kann damit ich auch von aussen mit genügend Sicherheit zugreifen kann und zusätzlich ein Dashboard freigeben kann an jemand anderes, aber der dann nichts machen kann ausser die Kameras sehen.
 
Hi,

1. Hardware-Passthrough überprüfen

Die Coral EdgeTPU muss korrekt an den LXC-Container weitergereicht werden. Vergewissere dich, dass der USB-Passthrough richtig eingerichtet ist.

meinst du damit das?

Screenshot 2025-02-03 at 13.02.44.png

Screenshot 2025-02-03 at 13.02.57.png

So richtig ab swift?

Screenshot 2025-02-03 at 13.04.22.png


  1. Überprüfen, ob das Gerät im Container sichtbar ist:
    • Nach dem Start des Containers kannst du mit lsusb überprüfen, ob die Coral TPU korrekt erkannt wird.
der Proxmox1 Knoten zeigt mit lsusb
Screenshot 2025-02-03 at 13.06.59.png

2. Treiber und Bibliotheken sicherstellen

Die notwendigen Treiber und Bibliotheken für die Coral TPU müssen im Container installiert sein.

  1. libedgetpu installieren:

Ergebnis:

Screenshot 2025-02-03 at 13.08.22.png

Screenshot 2025-02-03 at 13.09.12.png

Screenshot 2025-02-03 at 13.08.51.png
 
Das sehe ich aktuell in meinem Frigate

Wo finde ich da die configuration.yml?

Screenshot 2025-02-03 at 13.10.13.png


Ich nehme an das das hier gemeint ist?
Screenshot 2025-02-03 at 13.11.13.png

Vielen Dank für die Hilfe
 
JO das ist richtig, wenn du da bei den Einstellungen bist siehst du dann auch ob deine TPU arbeitet.
 

Attachments

  • Bild_2025-02-03_135840467.png
    Bild_2025-02-03_135840467.png
    50.3 KB · Views: 14
  • Bild_2025-02-03_135906027.png
    Bild_2025-02-03_135906027.png
    64.7 KB · Views: 16
Was mir gerade aufgefallen ist, das du bei detectors deine TPU reinschreiben solltest anstatt cpu. Bei mir sieht es so aus.
 

Attachments

  • Bild_2025-02-03_143850405.png
    Bild_2025-02-03_143850405.png
    13.6 KB · Views: 11
  • Bild_2025-02-03_143934641.png
    Bild_2025-02-03_143934641.png
    32 KB · Views: 12
Screenshot 2025-02-03 at 15.53.55.png

Coral TPU nun aktiviert?

Zumindest steht da was von Tensor und
Screenshot 2025-02-03 at 15.55.45.png

Screenshot 2025-02-03 at 16.00.27.png

Screenshot 2025-02-03 at 16.08.02.png
Auf dem Node steht nun Google Inc.

Frage:

cameras:
back:
enabled: True
ffmpeg:
inputs:
- path: rtsp://viewer:{FRIGATE_RTSP_PASSWORD}@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
roles:
- detect
- path: rtsp://viewer:{FRIGATE_RTSP_PASSWORD}@10.0.10.10:554/live
roles:
- record

FRIGATE_RTSP_PASSWORD ist dass das Passwort für die Kamera?

Ich habe hier 4 x Dahua IPC-T5442T-ZEB

AgentDVR zeigt mir folgendes für Service_URL an.

Screenshot 2025-02-03 at 15.59.32.png
 
Last edited:
Wie vorhin schonmal geschrieben, schaue unter Einstellungen; systemmetrics nach, da siehst du Detector CPU Usage, und klein darunter Coral. Dann weisst das es funktioniert, habe dir den Screen nochmal angehangen. Ansonsten gibt es noch unter Einstellungen System Logs, wenn du, wie ich gesehen habe bei detectors nun den Coral eingetragen hast und Frigate neugestartet hast, sollte wenn der Coral nicht geht, eine Fehlermeldung in den Systemlogs sein. Wenn der Coral aber funktioniert siehst du auch unter den Logs den Coral (siehe Bild2)
 

Attachments

  • Bild_2025-02-03_180013971.png
    Bild_2025-02-03_180013971.png
    64.7 KB · Views: 6
  • Bild_2025-02-03_180623540.png
    Bild_2025-02-03_180623540.png
    23.4 KB · Views: 6
Last edited:
Würde ich gerne da wird mir aber aktuell nur alles schwarz ohne Werte angezeigt.

Scheint aber zu funktionieren

Node1 zeigt sehr niedrige CPU Auslastung für den Frigate LXC und System Metrics zeigt nun Coral klein an.
 
Last edited:
Gut, muss ich nur noch meine 4 Onvif Kameras von Dahua integriert bekommen.

Update:

Erste Kamera ist drin und läuft. Muss nur noch verstehen wie man weitere added und wie man recorded
 
Last edited:
Das ganz easy es gibt einmal ne globale Einstellungen und Einstellungen extra für jede Kamera. Wichtig sind immer die Leerzeichen (abstände) am Anfang und dazwischen . Also unter cameras siehst du meine, einmal Wareneingang und die zweite einkauf, (kannst benennen wie du magst), da siehst bei mir auch den record etc. ; dann ich habe für den detect den channel der Kamera so eingestellt das dieser mit schlechter auflösung ist, da man bei detect keine hohe Auflösung braucht, dann für die Aufnahmen halt die hohe Qualität. Zusätzlich sind meine Zonen halt definiert, das kannst du unter Einstellungen im Browser in Frigate machen.

mqtt:
enabled: true
host: 192.168.0.73 # IP-Adresse von Home Assistant
user: mqtt-user # Benutzer für MQTT im Home Assistant
password: joerzeugtespasswd
topic_prefix: frigate

detectors:
coral:
type: edgetpu
device: usb

objects:
track:
- person
- car
filters:
person:
min_area: 5000
max_area: 100000

record:
enabled: true
events:
pre_capture: 5
post_capture: 5
objects:
- person
- car
retain:
days: 7
mode: all

cameras:
wareneingang:
ffmpeg:
inputs:
- path: rtsp://user:password@192.168.0.57:554/Streaming/Channels/102
roles:
- detect
- path: rtsp://user:password@192.168.0.57:554/Streaming/Channels/101
roles:
- record
detect:
enabled: true
width: 1920
height: 1080

zones:
Parkplatz:
coordinates:
0.002,0.742,-0.001,0.997,-0.001,0.997,0.617,1,0.649,0.211,0.551,0.216,0.555,0.283
loitering_time: 1
inertia: 3

objects:
filters:
person: {}
car: {}
mask: 0,0.73,0.617,0.216,0.727,0.211,0.732,0.004,0,0
motion:
mask: -0.001,0.73,0.55,0.274,0.549,0.213,0.713,0.2,0.673,1,1,1,1,0,0,0
threshold: 50
contour_area: 10
improve_contrast: 'true'
record:
enabled: true
#
snapshots:
enabled: true
bounding_box: true
retain:
default: 10

review:
alerts:
required_zones:
- Parkplatz

einkauf:
ffmpeg:
inputs:
- path: rtsp://user:password@192.168.0.232:554/Streaming/Channels/102
roles:
- detect
- path: rtsp://user:password@192.168.0.232:554/Streaming/Channels/103
roles:
- record
detect:
enabled: true
width: 1920
height: 1080

zones:
Eingang:
coordinates:
0.006,0.711,0.153,0.717,0.286,0.54,0.38,0.532,0.585,0.618,0.685,0.65,0.717,0.992,0.008,0.996
loitering_time: 1

objects:
track:
- person
filters:
person:
mask: 0,0.323,0,0,1,0,1,0.706 # Gleiche Koordinaten wie motion mask
car:
mask: 0,0.323,0,0,1,0,1,0.706 # Gleiche Koordinaten wie motion mask

motion:
mask: 0,0.323,0,0,1,0,1,0.706

record:
enabled: true

snapshots:
enabled: true
bounding_box: true
retain:
default: 10
review:
alerts:
required_zones:
- Eingang

version: 0.14
 

Attachments

  • Bild_2025-02-04_184331705.png
    Bild_2025-02-04_184331705.png
    35.2 KB · Views: 9
  • Bild_2025-02-04_184424183.png
    Bild_2025-02-04_184424183.png
    34.7 KB · Views: 6
Last edited: