Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Proxmox
    5. Proxmox LXC mit Frigate

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Proxmox LXC mit Frigate

    This topic has been deleted. Only users with topic management privileges can see it.
    • uweklatt
      uweklatt @da_Woody last edited by

      @da_woody sagte in Proxmox LXC mit Frigate:

      @wal Running Frigate in a VM on top of Proxmox, ESXi, Virtualbox, etc. is not recommended.

      Damit ist eine VM, und nicht Docker unter Proxmox in einer LXC gemeint.

      Ich bin auch von Frigate begeistert.
      Ich nutze eine Full-HD und eine 5k-Kamera, wobei das Bild der 5k-Kamera mit go2rtc in 2 virtuelle (getrennte Bildbereiche) aufgesplittet wird.
      In Frigate stehen somit 3 Kamerastreams zur Verfügung.

      Für die Bilderkennung nutze ich den Coral USB Stick, der zusammen mit der hardwarebeschleunigten Grafik (i5 Prozessor) in den LXC Container und letztendlich nach Docker durchgereicht werden.
      Das funktioniert prima.

      Zwei h264-Videostreams aus go2rtc werden dann noch live zu Twitch gestreamt. (Für Vogelfreunde: Nistkasten-Kamera, wo gerade gebrütet wird.)

      Tschau
      Uwe

      da_Woody 1 Reply Last reply Reply Quote 0
      • da_Woody
        da_Woody @uweklatt last edited by

        @uweklatt sagte in Proxmox LXC mit Frigate:

        Damit ist eine VM, und nicht Docker unter Proxmox in einer LXC gemeint.

        sorry, liest sich anders.

        1 Reply Last reply Reply Quote 0
        • Wal
          Wal Developer last edited by

          Gestern wurde die Coral Dual EDGE TPU eingebaut.
          Der PCI-E Key-E Adapter von Makerfab kam aus China:
          30 Dollar Adapter
          31 Dollar Versand über DHL
          21 Euro Zollgebühren
          macht mit Märchenumrechnungsfaktor von PayPal
          82Euro

          • 63,90 Euro für die Dual Edge TPU mit Versand

          145,90 Euro hat mich der Spass gekostet.

          Die Adapter von Amazon usw. haben leider nur 1 Line für die Anbindung der TPU, deshalb wird nur eine CPU erkannt.
          Der von Makerfab ist speziell für 2 Linien und der Dual TPU gemacht.
          Das Ganze war jetzt trotzdem billiger als 2 x Coral USB bei Pollin.

          M 1 Reply Last reply Reply Quote 1
          • Wal
            Wal Developer last edited by

            Ich lasse jetzt den Stream von der Sprechanlage direkt auf dem RPI4 in einen rtsp Stream umwandeln.
            Die CPU-Last vom RPI4 ging von 5% auf 45% hoch und auf dem frigate LXC:
            Screenshot 2023-04-19 120403.jpg

            R 1 Reply Last reply Reply Quote 0
            • R
              Radi @Wal last edited by

              @wal Hallo Walter,

              ich mühe mich bereits seit einigen Tagen Frigate zu benutzen. Ich habe dieses auf einem Gigabyte Brix mit einem I7 10710U unter Proxmox 7.4-3 installiert. Zusätzlich habe ich eine NVM-E TPU eingerichtet.
              Als Kameras nutze ich diverse Reolink-Kameras, von denen ich jetzt eine konfiguriert habe.
              Das einzige, was ich auf der Weboberfläche zu sehen bekomme ist dies:
              ae9e88db-2491-47b3-8dbe-673d7c72e794-grafik.png

              Hast du ein paar Seiten, möglichst auf deutsch, wo man etwas Hilfe bei der Fehlersuche bekommen kann. Ich möchte deinen Beitrag hier nicht missbrauchen.

              Grüße
              Ralf

              Wal 1 Reply Last reply Reply Quote 0
              • Wal
                Wal Developer @Radi last edited by

                @radi ,
                zeig mal deine frigate.yaml und config.yaml.

                R 1 Reply Last reply Reply Quote 0
                • R
                  Radi @Wal last edited by

                  @wal Wie bekomme ich die Dateien denn hier eingefügt bzw. aus nano kopiert? Der Weg in Richtung nano kopieren und einfügen funktioniert ja problemlos. Nur in der Gegenrichtung mag es nicht.

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    Radi @Radi last edited by Radi

                    @radi Ich habe die Dateien über Filezilla heruntergeladen und mit dem Notepad++ geöffnet. So geht es. Hier die config.yaml:

                     detectors:
                    
                      cpu1:
                    
                        type: cpu
                    
                      coral1:
                    
                        type: edgetpu
                    
                        device: pci:0
                     
                    
                    mqtt: 
                    
                      host: 192.168.69.159
                    
                      user: user
                    
                      password: PW
                    
                     
                    
                    cameras:
                    
                      back:
                    
                        ffmpeg:
                    
                          hwaccel_args:
                    
                            - -hwaccel
                    
                            - vaapi
                    
                            - -hwaccel_device
                    
                            - /dev/dri/renderD128
                    
                          inputs:
                    
                            - path: rtsp://User:PW@192.168.69.162:554/h264Preview_01_main
                    
                              roles:
                    
                                - detect
                    
                     
                    
                        objects:
                    
                          track:
                    
                            - person
                    
                            - car
                    
                            - truck
                    
                            - bicycle
                    
                            - motorcycle
                    
                            - dog
                    
                            - cat
                    
                        snapshots:
                    
                          enabled: True
                    
                    	  timestamp: False
                    
                          bounding_box: False
                    
                          crop: False
                    
                          height: 175
                    
                          required_zones: []
                    
                          retain:
                    
                            default: 10
                    
                            objects:
                    
                              person: 15
                    
                    

                    Und hier die frigate.yaml:

                    version: "3.9"
                    
                    services:
                    
                      frigate:
                    
                        container_name: frigate
                    
                        privileged: true # this may not be necessary for all setups
                    
                        restart: unless-stopped
                    
                        image: ghcr.io/blakeblackshear/frigate:stable
                    
                        shm_size: "64mb" # update for your cameras based on calculation above
                    
                        devices:
                    
                          - /dev/apex_0:/dev/apex_0
                    
                         # - /dev/apex_1:/dev/apex_1
                    
                          - /dev/dri/renderD128 # for intel hwaccel, needs to be updated for your hardware
                    
                        volumes:
                    
                          - /etc/localtime:/etc/localtime:ro
                    
                          - /home/frigate/config/config.yml:/config/config.yml:ro
                    
                          - /home/frigate/frigate:/media/frigate
                    
                          - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
                    
                            target: /tmp/cache
                    
                            tmpfs:
                    
                              size: 1000000000
                    
                        ports:
                    
                          - "5000:5000"
                    
                          - "1935:1935" # RTMP feeds
                    
                    

                    Die User und Passwörter habe ich unkenntlich gemacht, auch wenn es lokale IP-Adressen sind.

                    Wal 1 Reply Last reply Reply Quote 0
                    • Wal
                      Wal Developer @Radi last edited by

                      @radi ,
                      das du nichts angezeigt bekommst, deutet darauf hin das die Config nicht stimmt.
                      nimm mal diese config, bis auf die detectors ist die gleich mit meiner:

                      detectors:
                        cpu1:
                          type: cpu
                      
                      mqtt:
                        host: 192.168.69.159
                        user: user
                        password: Password
                      
                      cameras:
                        back:
                          ffmpeg:
                            hwaccel_args: preset-vaapi
                            inputs:
                              - path: rtsp://User:PW@192.168.69.162:554/h264Preview_01_sub
                                roles:
                                  - detect
                              - path: rtsp://User:PW@192.168.69.162:554/h264Preview_01_main
                                roles:
                                  - record
                          detect:
                            width: 640
                            height: 360
                          mqtt:
                            enabled: False
                      	
                         objects:
                            track:
                              - person
                              - car
                              - truck
                              - bicycle
                              - motorcycle
                              - dog
                              - cat
                      snapshots:
                        enabled: True
                        timestamp: False
                        bounding_box: False
                        crop: False
                        height: 175
                        required_zones: []
                        retain:
                          default: 10
                          objects:
                      	  person: 15
                      
                      record:
                        enabled: True
                        retain:
                          days: 7
                          mode: motion
                        events:
                          retain:
                            default: 14
                            mode: active_objects
                            objects:
                              person: 14
                              dog: 2
                              car: 7
                      
                      R 1 Reply Last reply Reply Quote 0
                      • R
                        Radi @Wal last edited by

                        @wal Danke Walter,

                        ich probiere diese mal aus. Macht es deiner Meinung nach Sinn, die kleine Coral in der config zu aktivieren?

                        Gruß Ralf

                        Wal 1 Reply Last reply Reply Quote 0
                        • Wal
                          Wal Developer @Radi last edited by

                          @radi sagte in Proxmox LXC mit Frigate:

                          @wal Danke Walter,

                          ich probiere diese mal aus. Macht es deiner Meinung nach Sinn, die kleine Coral in der config zu aktivieren?

                          Gruß Ralf

                          falls du Bewegungen auswerten möchtest dann auf jeden Fall ja

                          E 1 Reply Last reply Reply Quote 0
                          • E
                            exitus @Wal last edited by

                            was würdet ihr empfehlen habe auch proxmox in einem um350 mit 32 gb DDR
                            will auch frigate auf proxmox mit docker aber die videos auf synology aufnehmen.
                            Ich möchte auch objekterkennung und evtl gesichterkennung was würdet iht mir vorschlagen.
                            Google Coral M.2 Accelerator with Dual Edge TPU oder Google Coral TPU USB-Accelarator

                            Wal 1 Reply Last reply Reply Quote 0
                            • Wal
                              Wal Developer @exitus last edited by

                              @exitus ,
                              ich würde jetzt auch nur noch den USB Coral kaufen, da der bei meinen 2 Cameras locker ausreichen würde und der Adapter den man für die Dual CPU braucht mit Versand und Steuern sehr viel kostet.
                              Ich denke bis 8 Cameras genügt ein USB, ist aber ohne Gewähr da nicht getestet.
                              Es kann ja auch ein zweiter dazu gesteckt werden.
                              Die Files auf den Fileserver ist ja auch kein Problem, du musst nur den Ordner im LXC mounten und zum Docker durchreichen.

                              R 1 Reply Last reply Reply Quote 0
                              • R
                                Radi @Wal last edited by

                                @wal Hallo Walter,

                                ich habe deine config.yaml angepasst (User und Paswörter) auf meinem System eingespielt. Das Ergebnis ist leider das selbe wie vorher. Gibt es noch irgendwelche Möglichkeiten, dem Fehler auf die Schliche zu kommen( z.B. Logfiles). Meine Kenntnisse mit Containern sind leider gleich Null, habe bis jetzt immer mit VM´s auf meinem Proxmox gearbeitet.

                                Grüße
                                Ralf

                                Wal 1 Reply Last reply Reply Quote 0
                                • Wal
                                  Wal Developer @Radi last edited by Wal

                                  @radi ,
                                  ich habe die config.yml bei mir getestet und die funktioniert. Ich selber habe mich noch nicht mit Logfiles auseinander gesetzt.
                                  Habe ich config solange angepasst bis es funktionierte.

                                  Laut Frigate Docu ist das die minimal config:

                                  mqtt:
                                    enabled: False
                                  
                                  cameras:
                                    back:
                                      ffmpeg:
                                        inputs:
                                          - path: rtsp://User:PW@192.168.69.162:554/h264Preview_01_main
                                            roles:
                                              - detect
                                  
                                      detect:
                                        enabled: False
                                        width: 640
                                        height: 480
                                  

                                  teste diese nochmal und falls es nicht funzt, liegt es an was anderem.

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    Radi last edited by

                                    @wal Hallo Walter,

                                    vielen Dank für deine Mühen. Auch mit der minimalen config ändert sich bei mir nichts. Ich setze das Ganze nochmals neu auf. Wenn es bei allen anderen geht, muss ich ja irgendwo einen Fehler gemacht haben.
                                    Ich wünsche Dir ein angenehmes Wochenende.
                                    Ralf

                                    Wal 1 Reply Last reply Reply Quote 1
                                    • Wal
                                      Wal Developer @Radi last edited by

                                      @radi ,
                                      in der frigate config vom container wird das Laufwerk auf /media/frigate gemappt, falls es das Verzeichnis im LXC nicht nicht gibt ....

                                      1 Reply Last reply Reply Quote 0
                                      • Wal
                                        Wal Developer last edited by Wal

                                        Heute habe ich auf den Kernel 5.15.107-1-pve geupdatet und was soll ich sagen, die Coral Edge TPU funktioniert nicht mehr in einem Unprivilegierten Container. 😞
                                        Die Backups funktionieren auch nicht mehr. Ich installiere jetzt schon 5 Stunden am Proxmox und bin jetzt bei einem Privilegierten LXC gelandet.

                                        Edit: Ich habe die Rechte der Coral TPU von 660 auf 755 erhöht und da ging es dann.

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          exitus @Wal last edited by exitus

                                          @wal hallo welche lxc hast du genommen bei mir gibt es fehler mit pfad findet config nicht frigate geht in bootschleife .
                                          habe ubuntu 22.1

                                              detectors:
                                              ^
                                          expected <block end>, but found '<block mapping start>'
                                            in "<unicode string>", line 9, column 2:
                                               cameras:
                                               ^
                                          2023-05-07 12:39:35.229716379  [INFO] The go2rtc service exited with code 1 (by signal 0)
                                          2023-05-07 12:39:36.234223582  [INFO] Preparing go2rtc config...
                                          Traceback (most recent call last):
                                            File "/usr/local/go2rtc/create_config.py", line 27, in <module>
                                              config: dict[str, any] = yaml.safe_load(raw_config)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/__init__.py", line 125, in safe_load
                                              return load(stream, SafeLoader)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/__init__.py", line 81, in load
                                              return loader.get_single_data()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/constructor.py", line 49, in get_single_data
                                              node = self.get_single_node()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 36, in get_single_node
                                              document = self.compose_document()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 55, in compose_document
                                              node = self.compose_node(None, None)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 84, in compose_node
                                              node = self.compose_mapping_node(anchor)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 127, in compose_mapping_node
                                              while not self.check_event(MappingEndEvent):
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/parser.py", line 98, in check_event
                                              self.current_event = self.state()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/parser.py", line 438, in parse_block_mapping_key
                                              raise ParserError("while parsing a block mapping", self.marks[-1],
                                          yaml.parser.ParserError: while parsing a block mapping
                                            in "<unicode string>", line 1, column 1:
                                              detectors:
                                              ^
                                          expected <block end>, but found '<block mapping start>'
                                            in "<unicode string>", line 9, column 2:
                                               cameras:
                                               ^
                                          2023-05-07 12:39:36.459721903  [INFO] The go2rtc service exited with code 1 (by signal 0)
                                          2023-05-07 12:39:37.463508621  [INFO] Preparing go2rtc config...
                                          Traceback (most recent call last):
                                            File "/usr/local/go2rtc/create_config.py", line 27, in <module>
                                              config: dict[str, any] = yaml.safe_load(raw_config)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/__init__.py", line 125, in safe_load
                                              return load(stream, SafeLoader)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/__init__.py", line 81, in load
                                              return loader.get_single_data()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/constructor.py", line 49, in get_single_data
                                              node = self.get_single_node()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 36, in get_single_node
                                              document = self.compose_document()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 55, in compose_document
                                              node = self.compose_node(None, None)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 84, in compose_node
                                              node = self.compose_mapping_node(anchor)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 127, in compose_mapping_node
                                              while not self.check_event(MappingEndEvent):
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/parser.py", line 98, in check_event
                                              self.current_event = self.state()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/parser.py", line 438, in parse_block_mapping_key
                                              raise ParserError("while parsing a block mapping", self.marks[-1],
                                          yaml.parser.ParserError: while parsing a block mapping
                                            in "<unicode string>", line 1, column 1:
                                              detectors:
                                              ^
                                          expected <block end>, but found '<block mapping start>'
                                            in "<unicode string>", line 9, column 2:
                                               cameras:
                                               ^
                                          2023-05-07 12:39:37.661047849  [INFO] The go2rtc service exited with code 1 (by signal 0)
                                          2023-05-07 12:39:38.665754030  [INFO] Preparing go2rtc config...
                                          Traceback (most recent call last):
                                            File "/usr/local/go2rtc/create_config.py", line 27, in <module>
                                              config: dict[str, any] = yaml.safe_load(raw_config)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/__init__.py", line 125, in safe_load
                                              return load(stream, SafeLoader)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/__init__.py", line 81, in load
                                              return loader.get_single_data()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/constructor.py", line 49, in get_single_data
                                              node = self.get_single_node()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 36, in get_single_node
                                              document = self.compose_document()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 55, in compose_document
                                              node = self.compose_node(None, None)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 84, in compose_node
                                              node = self.compose_mapping_node(anchor)
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/composer.py", line 127, in compose_mapping_node
                                              while not self.check_event(MappingEndEvent):
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/parser.py", line 98, in check_event
                                              self.current_event = self.state()
                                            File "/usr/local/lib/python3.9/dist-packages/yaml/parser.py", line 438, in parse_block_mapping_key
                                              raise ParserError("while parsing a block mapping", self.marks[-1],
                                          yaml.parser.ParserError: while parsing a block mapping
                                            in "<unicode string>", line 1, column 1:
                                              detectors:
                                              ^
                                          expected <block end>, but found '<block mapping start>'
                                            in "<unicode string>", line 9, column 2:
                                               cameras:
                                               ^
                                          2023-05-07 12:39:38.884406556  [INFO] The go2rtc service exited with code 1 (by signal 0)
                                          
                                          version: "3.9"
                                          services:
                                            frigate:
                                              container_name: frigate
                                              privileged: true # this may not be necessary for all setups
                                              restart: unless-stopped
                                              image: ghcr.io/blakeblackshear/frigate:stable
                                              shm_size: "64mb" # update for your cameras based on calculation above
                                              devices:
                                                - /dev/bus/usb:/dev/bus/usb # passes the USB Coral, needs to be modified for other versions
                                                - /dev/apex_0:/dev/apex_0 # passes a PCIe Coral, follow driver instructions here https://cora>
                                                - /dev/dri/renderD128 # for intel hwaccel, needs to be updated for your hardware
                                              volumes:
                                                - /etc/localtime:/etc/localtime:ro
                                                - /frigate/config.yml:/config/config.yml:ro
                                                - /frigate:/media/frigate
                                                - type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
                                                  target: /tmp/cache
                                                  tmpfs:
                                                    size: 1000000000
                                              ports:
                                                - "5000:5000"
                                                - "1935:1935" # RTMP feeds
                                          
                                           volumes:
                                            
                                                  - /etc/localtime:/etc/localtime:ro
                                            
                                                  - /root/config/config.yml:/config/config.yml:ro
                                            
                                                  - /root/frigate:/media/frigate
                                          

                                          das klappte auch nicht

                                          Wal 1 Reply Last reply Reply Quote 0
                                          • Wal
                                            Wal Developer @exitus last edited by Wal

                                            @exitus,
                                            ich nutze das docker script von TTeck .
                                            Konnte da man Ubuntu auswählen ?
                                            Ich nutze Debian.

                                            /frigate/config.yml
                                            

                                            das kann nur funktionieren wenn im Ordner /frigate eine config.yml liegt.

                                            Mittlerweile habe ich einen User frigate erstellt und im Userordner einen Ordner frigate, dort liegt meine config.yml.

                                            - /home/frigate/frigate/config.yml:/config/config.yml
                                            
                                            R 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            478
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            176
                                            28653
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo