• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
      • Lovelace
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Установка Frigate в Proxmox в LXC контейнер.

16 февраля, 2025

Протестирована работа на МиниПК: https://alii.pub/75csno?erid=2SDnjdoJ2kU

С Google Coral: https://alii.pub/75cs5e?erid=2SDnjek8uDN

Давайте начнём с предисловия:

Frigate это приложение разработанное в первую очередь специально для Home Assistant, после чего сильно разросшееся и ставшее полноценным отдельным продуктом.

Но так-же самый популярный способ установки Home Assistant на мой взгляд – это установка его на MiniPC под управлением Proxmox. И вот в одну из виртуальных машин уже устанавливается Home Assistant OS (HAOS).

Такой способ Home Assistant удобен тем, что Вы одной командой устанавливаете его на виртуальную машину. И у Вас остаётся возможность еще виртуальные машины поднимать в Proxmox.

Но в HAOS если брать Frigate, тоже есть некоторые неудобства. Например чтоб фригат установить в HAOS, надо файл конфига frigate.yaml держать у себя в корне сервера Home Assistant, что не очень удобно.

Второе неудобство, это то, что чаще всего используются minipc на процессорах intel. У Intel есть своя графика которая изначально в HAOS не прокинута и во время запуска frigate, процессор начинает очень сильно грузиться, так как обработка видео идёт непосредственно процессором.

Чтоб процессор разгрузить, нужно добавить одну строчку в конфиг Frigate, тогда видео начнёт обрабатываться видео ядром процессора и нагрузка на процессор существенно упадёт. Строчка выглядит так:

ffmpeg:
hwaccel_args: preset-vaapi

Но добавив просто эту строчку у Вас ничего не заработает именно в HAOS системе. Вам нужно до этой виртуалки пробросить еще видео. Видео пробрасывается как шина PCIe и выглядит проброс на процессоре N5105 вот так:

Обратите внимание на все галочки в Primary GPU и All Functions. Ну и тут Device: 0000:00:02.0 – это и есть видео ядро процессора intel:

 

И вот только после проброса графики, процессор перестанет грузиться.

Но это касается только HAOS в виртуалке и Frigate установленный в HAOS.

И вот теперь к минусу этого способа. А минус тут в том, что при таком пробросе видео в HAOS, он “намертво” забирается виртуальной машиной HAOS и больше ни чем не сможет быть использован. Из-за этого например перестанет работать консольный вход в любую виртуальную машину в proxmox через web интерфейс.

И из-за этого мы плавно переходим к тому, что Frigate имя proxmox и HAOS лучше устанавливать в отдельный контейнер на сам proxmox. Таким образом, во первых нам не надо будет прокидывать видео до этого контейнера, так как контейнер использует все что есть локально на самом сервере proxmox. Во вторых так не будет видеокарта занята “намертво” и сможет использоваться и в других задачах.

Ну а так как frigate дружит с Home Assistasnt только по mqtt, то frigate можно держать где угодно, главное чтоб он и HA были доступны по сети.

Установка Frigate в LXC контейнер на сервер Porxmox:

Установка Frigate на proxmox такая-же лёгкая как и установка HAOS (Home Assistant Operation System) в proxmox. Все это выполняется буквально одной командой:

bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/frigate.sh)"

После ввода этой команды в консоли proxmox, начнётся установка Frigate в LXC контейнер. Во время установки спросит пару вопросов, на которые мы соглашаемся и дожидаемся окончания установки.

Установка долгая, у меня на процессоре N5095 заняло порядка 30 минут. Такая установка долгая из-за того, что этот контейнер насколько я понял собирается из исходников конкретно под вас.

После установки у вас в Proxmox web интерфейсе появится контейнер LXC Frigate:

Контейнер кстати требует для установки 4гб оперативной памяти и 20 гб свободного места на диске.

После установки Frigate в LXC контейнер, конфигом мы сможем пользоваться только из web интерфейса управления самого Frigate. Но я думаю вы и так это там и делали, просто я привык иначе.

Теперь Frigate с видеоядром работает хорошо и добавив эту строчку в конфиг:

ffmpeg:
hwaccel_args: preset-vaapi

Вы заметите как сильно у Вас разгрузится процессор. Если конечно у Вас еще настроены параметры, чтоб обнаружение объектов производилось не процессором, а чем-то другим.

Разгрузить процессор можно отдав вычисление объектов на NPU процессор, например на Google Coral: https://alii.pub/75cs5e?erid=2SDnjek8uDN

Настройки Google Coral на LXC контейнере Frigate:

Просто так Google coral не начнёт работать в Frigate установленном на porxmox в LXC контейнер, потому что на google coral по умолчанию нет драйверов на сервере Proxmox.

С одной стороны можно поставить драйвер, но мне кажется это не верный способ, так как в самом LXC контейнере есть уже все нужное для работы с Google Coral. По этому достаточно его будет пробросить в контейнер.

Чтоб Google Coral пробросить в контейнер LXC Frigate, нужно сначала узнать адрес его. (я буду показывать на USB версии Google Coral, так как пробовал с ней).

Вводим команду и смотрим на результат:

lsusb

Этот Вывод нам покажет что Google Inc. у нас находится по адресу Bus 002 Device 004 (USB шина 2 девайс 4).

Это сопоставимо такому адресу:

/dev/bus/usb/002/004

 

По этому адресу можно даже перейти но нам нужно его прописать в параметры LXC контейнера.

По этому идём в конфиг LXC контейнера:

nano /etc/pve/nodes/pve/lxc/101.conf

Где 101.conf – это конфиг устройства 101 в poxmox (он может отличаться, нужно смотреть по номеру виртуалки в porxmox).

Коulf откроете конфиг, нужно под строкой:

lxc.cgroup2.devices.allow: c 189:* rwm

Прописать строчку проброса google coral, которая выглядит вот так:

lxc.mount.entry: /dev/bus/usb/002/004 dev/bus/usb/002/004 none bind,optional,create=file

где: /dev/bus/usb/002/004 dev/bus/usb/002/004 это какое устройство и куда пробрасывается в контейнере, по этому указывается 2 раза.

И выглядит это все вместе вот так:

После этого сохраняем конфиг и перезапускаем frigate. И у Вас LXC контейнер Frigate после этого сможет работать с Google Coral.

А как Google Coral описать уже в конфиге Frigate я описывал в этой статье:

Настройка работы Frigate с Google Coral TPU.

 

Вывод:

В этой статье я показал как установить Frigate в LXC контейнер сервера Porxmox.

Этот вариант во первых очень простой, так как устанавливается одной командой.

Во вторых не блокирует видеоядро процессора.

В третьих будет работать более правильно, так как собирается из исходников.

В четвертых не мешает другим виртуалкам, а стоит себе обособлено.

Я проверил его работу и с google coral и на процессоре, и на openvino, которое надо описать в дальнейшем.

В общем рекомендую именно этот способ установки Frigate на сервер proxmox, он можно сказать православный.

 

Primary Sidebar

Поиск

Новые записи

  • Умные шторы – как правильно их выбрать?
  • Автоматизация открытия и закрытия штор в Home Assistant.
  • Лучшая карточка Lovelace управления шторами в Home Assistant.
  • Интеграция ИИ Deepseek в Home Assistant
  • Выводим уведомления из умного дома Home Assistant на Android TV с помощью программы TvOverlay.

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·