Для домашнего видеонаблюдения установили Frigate в отдельную виртуальную машину на Proxmox. В ней подготовили Debian, запустили приложение через Docker Compose и подключили две камеры.
После запуска проверили, что записи действительно сохраняются: какое разрешение у видео, есть ли аудиодорожка и не теряется ли поток. В результате получили архив с обеих камер в 1080p со звуком.
Сначала — виртуальная машина
Под Frigate создали отдельную ВМ с Debian 13. Для её подготовки использовали официальный образ Debian и сверили его контрольную сумму перед импортом в Proxmox.
Систему и записи разместили на разных виртуальных дисках. На системном диске находятся Debian и приложение, а второй диск предназначен для видеоархива. Внутри ВМ его отформатировали, подключили и добавили постоянное монтирование.
Также настроили административный доступ по SSH с существующим ключом и установили гостевой агент для управления машиной из Proxmox. Все дальнейшие действия — установка Docker, запуск Frigate и настройка хранения — выполнялись внутри этой ВМ.
Установка Frigate через Docker Compose
В Debian установили Docker и Compose. Затем подготовили каталог конфигурации и файл Compose, который описывает запуск контейнера Frigate. Для этой установки использовали версию 0.18.0.
Каталог настроек и диск с архивом подключили к контейнеру как постоянные тома. Поэтому конфигурация и записи хранятся вне самого контейнера: их не приходится создавать заново при его замене.
В Compose задали автоматический перезапуск контейнера, а запуск Docker связали с доступностью диска архива. Это помогает избежать ситуации, когда приложение начинает работу раньше, чем подключено место для записей. Проверку после перезагрузки всей ВМ на этом этапе отдельно не проводили.
После запуска настроили HTTPS для веб-интерфейса и проверили вход в учётную запись. Доступ к управлению оставили через домашнюю сеть и предусмотренный VPN, без публикации панели в интернете.
Подключение и настройка камер
На камерах подготовили отдельные учётные данные для доступа к потокам. В конфигурацию Frigate добавили обе камеры, настроили получение видео, запись и обработку кадров. После применения настроек проверили состояние контейнера и работу каждого потока.
Картинка с камеры и файл в архиве
Для подключения использовали RTSP — видеопоток, который камера отдаёт по сети. У каждой камеры проверили доступность потока, затем подключили его к Frigate.
Дальше проверка перешла на сервер: создаются ли файлы записи и обновляется ли архив по обеим камерам. Сам по себе работающий контейнер этого не подтверждает. Приложение может быть запущено, а одна из камер — не отдавать видео.
В нашем случае свежие фрагменты появились от обеих камер. Это уже конкретный результат: сервер получил поток и сохранил его на диск.
Что оказалось внутри записи
Из архива взяли свежий фрагмент от каждой камеры и проверили его утилитой ffprobe. Она показывает технические параметры файла: видеокодек, разрешение, длительность и наличие аудиодорожки.
В проверенных фрагментах видео было в формате H.264 с разрешением 1920 × 1080, а звук — в AAC. То есть аудиодорожка действительно попала в сохранённый файл.
Проверка параметров не заменяет прослушивание. Здесь мы подтвердили наличие дорожки, а качество и разборчивость звука отдельно не оценивали.
Почему в итоге остались на CPU
Для обработки кадров сначала попробовали передать графическое устройство в виртуальную машину. Во время этой настройки возникли проблемы с доступностью сервера.
Точную причину сбоя не установили. Поэтому приписывать его самой видеокарте или объявлять такой способ подключения нерабочим было бы неправильно. Проброс убрали и продолжили настройку без него.
В итоговой конфигурации Frigate использует OpenVINO на процессоре. При проверке обе камеры обрабатывались примерно с частотой пять кадров в секунду; пропусков кадров и переподключений в тот момент не наблюдалось.
Это результат для двух подключённых камер. Из него пока нельзя сделать вывод, сколько дополнительных камер выдержит сервер: такую нагрузку мы не проверяли.
Как настроили хранение
Для архива выделили отдельное место. В настройках выбран срок хранения фрагментов с движением — семь дней. Постоянное хранение всей записи без отбора по движению не включали.
На момент проверки система работала недавно. Семь дней — заданный срок, а полный цикл хранения и удаления старых записей ещё предстоит проверить. Следующий полезный шаг — посмотреть, как растёт архив при обычной активности камер.
Что уже работает
К моменту завершения настройки обе камеры подключены, свежие записи сохраняются, а проверенные файлы содержат видео 1080p и аудиодорожку AAC. Веб-интерфейс доступен из домашней сети по HTTPS, сервис включён в мониторинг Uptime Kuma.
Интеграцию с Home Assistant пока не настраивали. Сначала хотелось получить рабочую запись с обеих камер и проверить файлы архива. Этот этап завершён; дальше можно наблюдать за хранением и уже на этой основе добавлять автоматизации.
