Установка Frigate на VPS обеспечивает мощную и приватную систему видеонаблюдения с детекцией объектов, используя вычислительные ресурсы облачного сервера для эффективной обработки видеопотоков.
Что такое Frigate и почему `Frigate VPS` — это оптимальный выбор?
Frigate — это высокопроизводительная система видеонаблюдения с открытым исходным кодом, разработанная специально для локальной обработки видеопотоков и детекции объектов в реальном времени. В отличие от многих облачных решений, Frigate ставит во главу угла приватность и скорость, обрабатывая все данные на вашем оборудовании, а не отправляя их на сторонние серверы. Он использует современный подход к компьютерному зрению, включая машинное обучение (ML) для точного распознавания людей, автомобилей, животных и других объектов, минимизируя ложные срабатывания.
Основная особенность Frigate — его способность работать с аппаратным ускорением, что значительно повышает эффективность обработки видео. Это может быть как обычный процессор (CPU), так и специализированные ускорители, такие как Google Coral Edge TPU или NVIDIA GPU. Благодаря этому Frigate способен обрабатывать несколько видеопотоков с высоким разрешением одновременно, не перегружая систему.
Выбор Frigate VPS для развертывания этой системы видеонаблюдения является стратегически выгодным решением по нескольким причинам. Во-первых, вы получаете полный контроль над своей инфраструктурой, что критически важно для безопасности и приватности видеонаблюдения. Во-вторых, VPS-серверы Valebyte.com предоставляют стабильную и масштабируемую среду, которая позволяет гибко подстраивать ресурсы под растущие потребности системы Frigate. Вы не ограничены мощностью домашнего оборудования и можете легко увеличить количество ядер CPU, объем оперативной памяти или дискового пространства по мере необходимости. Кроме того, размещение на VPS обеспечивает постоянный доступ к вашей системе из любой точки мира через интернет, без необходимости пробрасывать порты в домашней сети.
Преимущества `Frigate self-hosted` решения
Развертывание Frigate self-hosted на собственном сервере (будь то локальный мини-ПК или облачный VPS) дает ряд неоспоримых преимуществ перед коммерческими облачными сервисами:
- Приватность данных: Все видеопотоки и записи хранятся и обрабатываются исключительно на вашем сервере. Никакие данные не отправляются третьим лицам, что исключает риск утечек и несанкционированного доступа к вашей личной информации.
- Отсутствие абонентской платы: После покупки VPS и настройки Frigate вы платите только за сервер. Нет скрытых платежей за облачное хранилище или дополнительные функции, как это часто бывает у проприетарных систем.
- Полный контроль и кастомизация: Вы можете настроить Frigate под свои уникальные нужды, интегрировать его с другими системами умного дома (например, Home Assistant), использовать любое количество камер и гибко управлять правилами детекции.
- Высокая производительность: Благодаря локальной обработке и возможности использования аппаратного ускорения, Frigate обеспечивает минимальную задержку при детекции событий и мгновенный доступ к видеоархиву.
- Надежность: Работа системы не зависит от стабильности интернет-соединения с внешними облачными серверами. При наличии резервного канала интернета на VPS или автономного источника питания, ваша система наблюдения будет работать даже при проблемах с провайдером.
Системные требования для эффективной `установки Frigate` на VPS
Для успешной установки Frigate и его стабильной работы на VPS крайне важно правильно подобрать конфигурацию сервера. Frigate — достаточно ресурсоемкое приложение, особенно при обработке нескольких видеопотоков высокого разрешения. Основные компоненты, которые определяют производительность, это процессор (CPU), оперативная память (RAM), дисковое пространство и, в идеале, аппаратный ускоритель.
Ищете надёжный сервер для ваших проектов?
VPS от $10/мес и выделенные серверы от $9/мес с NVMe, DDoS-защитой и поддержкой 24/7.
Смотреть предложения →Выбор аппаратного обеспечения: CPU, RAM, NVMe и GPU-ускорение
-
Процессор (CPU): Frigate активно использует CPU для декодирования видеопотоков и выполнения некоторых задач по детекции, если нет аппаратного ускорителя.
- Для 1-2 камер 1080p (без TPU/GPU): Минимум 2 vCPU с тактовой частотой от 2.5 ГГц.
- Для 3-5 камер 1080p (без TPU/GPU): Рекомендуется 4 vCPU от 3.0 ГГц.
- При использовании Coral Edge TPU или NVIDIA GPU: Основная нагрузка по детекции переносится на ускоритель, поэтому требования к CPU снижаются. Однако CPU все равно нужен для декодирования видео. В этом случае 2 vCPU 2.5 ГГц будет достаточно даже для 5-8 камер.
- Важно: Frigate выигрывает от высокочастотных ядер, а не только от их количества.
-
Оперативная память (RAM): Объем RAM зависит от количества камер, их разрешения и продолжительности хранения буферных кадров.
- Минимально: 4 GB RAM. Этого хватит для 1-2 камер с небольшим буфером.
- Рекомендуется: 8 GB RAM. Оптимально для 3-5 камер, обеспечивает стабильность и запас для других сервисов.
- Для 5+ камер или длительного буфера: 16 GB RAM.
-
Дисковое пространство (NVMe): Frigate постоянно записывает видеопотоки (буферные кадры, записи событий) на диск. Скорость диска критически важна для предотвращения задержек и потери кадров.
- Тип диска: Строго рекомендуется NVMe SSD. Его высокая скорость чтения/записи значительно превосходит SATA SSD и HDD, что напрямую влияет на производительность Frigate.
- Объем: Зависит от количества камер, разрешения и глубины архива.
- Для 1-2 камер (несколько дней архива): 50-100 GB NVMe.
- Для 3-5 камер (неделя архива): 100-200 GB NVMe.
- Для 5+ камер или длительного архива: 200+ GB NVMe. Помните, что 1 камера 1080p может генерировать 10-20 GB видео в день при постоянной записи или хранении буфера.
-
GPU-ускорение (Google Coral Edge TPU / NVIDIA GPU): Это самый важный компонент для масштабирования Frigate. Без него CPU будет выполнять всю работу по детекции, что сильно ограничивает количество обрабатываемых потоков.
- Google Coral Edge TPU: Идеален для Frigate. Один USB Coral (или PCIe) может обрабатывать 200-400+ FPS (кадров в секунду) для детекции, что достаточно для 10-20+ камер 1080p (при условии, что каждая камера отправляет 5-10 FPS на детекцию). К сожалению, Coral TPU редко доступны в облачных VPS-средах.
- NVIDIA GPU: Некоторые провайдеры предлагают VPS с NVIDIA GPU (например, Tesla T4, V100). Это отличная альтернатива Coral TPU, способная обрабатывать еще больше FPS. Поддержка NVIDIA GPU в Frigate реализована через Docker с пробросом GPU.
- Внимание: Если VPS не предлагает аппаратный ускоритель, Frigate будет использовать CPU для детекции. Это существенно увеличит требования к CPU и ограничит количество камер.
Пошаговая `установка Frigate Docker` на вашем сервере
Наиболее удобный и рекомендуемый способ установки Frigate Docker на VPS — это использование Docker и Docker Compose. Этот подход обеспечивает изоляцию приложения, упрощает управление зависимостями и облегчает обновление.
Подготовка окружения и установка Docker Compose
Перед тем как приступить к развертыванию Frigate, необходимо подготовить ваш VPS:
- Обновите систему: Всегда начинайте с обновления пакетного менеджера и установленных пакетов.
- Установите Docker: Следуйте официальной инструкции для вашей операционной системы. Для Ubuntu/Debian это обычно выглядит так:
- Установите Docker Compose (если не установлен как плагин): В новых версиях Docker Compose обычно идет как плагин
docker-compose-plugin, который устанавливается вместе с Docker. Если вы используете старую версию или предпочитаете отдельный бинарник, установите его так: - Создайте директорию для Frigate:
sudo apt update && sudo apt upgrade -y
sudo apt install ca-certificates curl gnupg lsb-release -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
Добавьте вашего пользователя в группу docker, чтобы выполнять команды Docker без sudo (потребуется перезагрузка SSH-сессии или системы):
sudo usermod -aG docker $USER
sudo apt install docker-compose -y
mkdir -p ~/frigate
cd ~/frigate
Развертывание Frigate: создание конфигурации и запуск контейнеров
Теперь создадим файл docker-compose.yml и базовый конфигурационный файл Frigate.
- Создайте файл
docker-compose.yml: - Создайте базовый конфигурационный файл Frigate (
config.yml): - Запустите контейнеры Docker Compose:
mqtt: Настройка MQTT-брокера. Frigate использует MQTT для публикации всех событий (детекция, снимки, состояние камер), что делает его идеальным для интеграции с другими системами умного дома, такими как Home Assistant. Убедитесь, чтоhostуказывает на ваш Mosquitto-сервис (в нашем примере этоmosquitto).ffmpeg: Здесь настраивается FFmpeg, который Frigate использует для декодирования видеопотоков.hwaccel_args: Если ваш VPS предоставляет аппаратное ускорение декодирования (например, Intel Quick Sync Video -qsv, VA-API -vaapi, NVIDIA NVDEC -nvdec), обязательно используйте его! Это значительно снизит нагрузку на CPU. Проверьте документацию вашего облачного провайдера или тип процессора на вашем VPS, чтобы определить поддерживаемый ускоритель. Например, для большинства Intel-процессоров на VPS это будетvaapi.output_args: Определяют, как FFmpeg обрабатывает потоки для детекции и записи. Важно, чтобы поток для детекции был в низком разрешении (суб-поток камеры), чтобы минимизировать нагрузку.
detectors: Определяет используемые детекторы. Если у вас нет Coral TPU или NVIDIA GPU на VPS, используйтеtype: cpu. При наличии аппаратного ускорителя, настройте его здесь.cameras: Самая объемная секция, где настраивается каждая камера.ffmpeg.inputs: Здесь указываются URL RTSP-потоков вашей камеры. Крайне рекомендуется использовать два потока: один основной (record,rtmp) с высоким разрешением для записи и просмотра, и один суб-поток (detect) с низким разрешением (например, 640x480) для детекции. Это значительно снижает нагрузку на детектор.detect: Включить/выключить детекцию, указать детектор, разрешение и FPS для детекции.record: Настройка записи видео.retain.daysопределяет, сколько дней хранить записи.events.pre_captureиpost_captureпозволяют записывать видео до и после обнаруженного события.rtmp: Включение RTMP-потока для просмотра через Frigate.zonesиobjects.mask: Эти параметры позволяют определить конкретные области на видео, где должна или не должна производиться детекция. Это очень полезно для исключения ложных срабатываний (например, от движущихся деревьев или дороги).snapshots: Настройка сохранения снимков при обнаружении объектов.
- Настройка MQTT в Home Assistant: В Home Assistant добавьте интеграцию "MQTT" и укажите IP-адрес вашего Frigate VPS (или доменное имя, если используете reverse proxy) и порт 1883.
- Автоматическое обнаружение: Frigate автоматически публикует свои устройства и сенсоры в Home Assistant через MQTT Discovery. После настройки MQTT в HA, вы увидите новые сущности для каждой камеры (состояние, детекция движения, снимки, видеопотоки).
- Автоматизации: Используйте события Frigate (например, "person detected in front_door") для запуска автоматизаций в Home Assistant: включение света, отправка уведомлений с изображением, запись видео и т.д.
- Установите Nginx:
- Получите SSL-сертификат Let's Encrypt: Рекомендуется использовать Certbot.
- Создайте или отредактируйте конфигурационный файл Nginx для Frigate:
- Активируйте конфигурацию и перезагрузите Nginx:
- Установите Caddy: Следуйте официальной инструкции для вашей ОС. Для Debian/Ubuntu:
- Создайте или отредактируйте файл Caddyfile:
- Перезагрузите Caddy:
- Бэкап конфигурации: Файл
~/frigate/config/config.ymlи все связанные файлы (например,motion_masks.json) должны быть зарезервированы. Это можно делать вручную или автоматизировать. - Бэкап базы данных: Frigate использует SQLite базу данных (
frigate.db) для хранения метаданных о событиях и записях. Она находится в директории~/frigate/media. Рекомендуется бэкапить её вместе с конфигом. - Бэкап медиафайлов: Директория
~/frigate/mediaсодержит все ваши видеозаписи и снимки. Это может быть очень большой объем данных, поэтому полные ежедневные бэкапы могут быть непрактичны.- Стратегия: Бэкапируйте только важные события (например, снимки объектов) и конфигурацию ежедневно. Полный бэкап видеоархива можно делать реже или использовать инкрементальные бэкапы.
- Инструменты: Используйте такие инструменты, как Restic на VPS для эффективного, дедуплицированного и зашифрованного резервного копирования на удаленное хранилище (S3, Backblaze B2).
- Перейдите в директорию Frigate:
- Остановите текущие контейнеры:
- Загрузите новые образы:
- Запустите обновленные контейнеры:
- Начинайте с малого: Если вы новичок, начните с тарифа с 2 vCPU, 4 GB RAM и 100 GB NVMe. Этого достаточно для тестирования и 1-2 камер.
- Приоритет NVMe: Всегда выбирайте тарифы с NVMe-дисками. Это одно из самых критичных требований для Frigate.
- Процессор с высокой частотой: Для CPU-детекции Frigate лучше отзывается на высокочастотные ядра, даже если их меньше, чем на большое количество низкочастотных ядер.
- Аппаратное ускорение: Если ваш провайдер предлагает VPS с Intel-процессорами, скорее всего, доступно VA-API или QSV для аппаратного декодирования FFmpeg. Обязательно используйте это. Если доступны NVIDIA GPU, это идеальный выбор для масштабирования детекции.
- Масштабируемость: Выбирайте провайдера, который позволяет легко масштабировать ресурсы VPS (CPU, RAM, Disk) без переустановки системы. Valebyte.com предлагает такую гибкость.
- Мониторинг: Установите инструменты мониторинга, такие как Netdata, чтобы отслеживать загрузку CPU, RAM и диска, выявлять узкие места и своевременно реагировать.
nano docker-compose.yml
Вставьте следующее содержимое. Этот пример включает Frigate, Mosquitto (для MQTT, используется Frigate для событий и Home Assistant) и Double-Take (опционально, для продвинутой детекции лиц/людей).
version: "3.9"
services:
frigate:
container_name: frigate
image: ghcr.io/blakeblackshear/frigate:stable
privileged: true # Может потребоваться для доступа к аппаратным ускорителям
restart: unless-stopped
shm_size: "256mb" # Увеличьте, если видите проблемы с буфером FFmpeg
ports:
- "5000:5000" # Веб-интерфейс Frigate
- "1935:1935" # RTMP для просмотра
volumes:
- /etc/localtime:/etc/localtime:ro
- ~/frigate/config:/config # Директория для конфигурации Frigate
- ~/frigate/media:/media # Директория для записей и снимков
- type: tmpfs # Используйте tmpfs для кэша Frigate, если есть проблемы с записью на диск
target: /tmp/cache
tmpfs:
size: 1000000000 # 1GB
environment:
- FRIGATE_RTSP_PASSWORD=YOUR_RTSP_PASSWORD # Замените на надежный пароль
# Если используете Coral TPU (редко на VPS):
# devices:
# - /dev/bus/usb:/dev/bus/usb
# Если используете NVIDIA GPU (убедитесь, что установлен nvidia-container-toolkit):
# runtime: nvidia
# environment:
# - NVIDIA_VISIBLE_DEVICES=all
# - NVIDIA_DRIVER_CAPABILITIES=all
mosquitto:
container_name: mosquitto
image: eclipse-mosquitto:latest
restart: unless-stopped
ports:
- "1883:1883" # Порт MQTT
- "9001:9001" # Порт Websockets (для MQTT)
volumes:
- ~/frigate/mosquitto/config:/mosquitto/config
- ~/frigate/mosquitto/data:/mosquitto/data
- ~/frigate/mosquitto/log:/mosquitto/log
# Пример опционального сервиса для интеграции с Frigate
# double-take:
# container_name: double-take
# image: blakeblackshear/double-take:latest
# restart: unless-stopped
# ports:
# - "3000:3000" # Веб-интерфейс Double-Take
# volumes:
# - ~/frigate/double-take/config:/config
# - ~/frigate/media/frigate:/frigate/media # Доступ к медиа Frigate
# environment:
# - FRIGATE_MQTT_HOST=mosquitto
# - FRIGATE_MQTT_PORT=1883
# - FRIGATE_MQTT_USERNAME=YOUR_MQTT_USERNAME # Если Mosquitto требует аутентификации
# - FRIGATE_MQTT_PASSWORD=YOUR_MQTT_PASSWORD # Если Mosquitto требует аутентификации
# - TZ=Europe/Moscow # Ваш часовой пояс
# depends_on:
# - frigate
# - mosquitto
Сохраните и закройте файл (Ctrl+O, Enter, Ctrl+X).
Примечание по аппаратным ускорителям: Если ваш VPS поддерживает NVIDIA GPU, вам потребуется установить nvidia-container-toolkit на хост-системе VPS и раскомментировать соответствующие строки в docker-compose.yml. Для облачных VPS Coral TPU крайне редок.
mkdir ~/frigate/config
nano ~/frigate/config/config.yml
Вставьте следующий минимальный пример. Замените rtsp://user:pass@ip:port/stream на реальные URL ваших камер. Для каждой камеры обычно есть основной поток (высокое разрешение для записи) и суб-поток (низкое разрешение для детекции, чтобы снизить нагрузку).
mqtt:
host: mosquitto # Имя сервиса Mosquitto в docker-compose
topic_prefix: frigate # Префикс для всех MQTT-сообщений Frigate
user: YOUR_MQTT_USERNAME # Опционально, если Mosquitto требует аутентификации
password: YOUR_MQTT_PASSWORD # Опционально
ffmpeg:
hwaccel_args: # Аппаратное ускорение декодирования видео (для CPU)
- -hwaccel
- vaapi # Или qsv, nvdec, v4l2m2m в зависимости от вашего CPU/GPU
- -hwaccel_device
- /dev/dri/renderD128 # Или /dev/dri/renderD129, /dev/video0 и т.д.
output_args:
detect: -f rawvideo -pix_fmt yuv420p # Аргументы для потока детекции
record: -f segment -segment_times 10 -segment_format mp4 -reset_timestamps 1 -strftime 1 -c copy # Аргументы для записи
detectors:
cpu1: # Имя детектора
type: cpu
# Если используете Coral TPU (редко на VPS):
# detectors:
# coral:
# type: edgetpu
# device: usb # Или pci
cameras:
front_door: # Имя вашей камеры
ffmpeg:
inputs:
- path: rtsp://user:[email protected]:554/stream1 # Основной поток (высокое разрешение для записи)
roles:
- record
- rtmp
- path: rtsp://user:[email protected]:554/stream2 # Суб-поток (низкое разрешение для детекции)
roles:
- detect
detect:
enabled: True
detector: cpu1 # Какой детектор использовать
width: 640 # Ширина потока детекции
height: 480 # Высота потока детекции
fps: 5 # Кадров в секунду для детекции
record:
enabled: True
retain:
days: 7 # Хранить записи 7 дней
events:
pre_capture: 5 # Записывать 5 секунд до события
post_capture: 5 # Записывать 5 секунд после события
rtmp:
enabled: True # Включить RTMP-поток для просмотра
zones: # Опциональные зоны детекции
porch:
coordinates: 200,100,400,100,400,300,200,300
objects:
- person
objects:
track:
- person
- car
- dog
mask: # Опциональная маска для исключения областей из детекции
- 0,0,100,0,100,100,0,100 # Пример маски
snapshots:
enabled: True
timestamp: True
bounding_box: True
crop: True
required_zones: []
retain:
default: 1
objects:
person: 7
motion:
mask: # Маска для исключения областей из детекции движения
- 0,0,100,0,100,100,0,100 # Пример маски
Сохраните и закройте config.yml.
docker compose up -d
Команда -d запускает контейнеры в фоновом режиме. Чтобы посмотреть логи, используйте docker compose logs -f.
После запуска Frigate будет доступен по адресу http://ВАШ_IP_VPS:5000. Убедитесь, что порт 5000 открыт в фаерволе вашего VPS.
Ищете сервер, который просто работает?
Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.
Детальная настройка Frigate: от камер до уведомлений
Файл config.yml — это сердце вашей системы Frigate. Правильная его настройка критически важна для стабильной работы, точности детекции и эффективного использования ресурсов VPS.
Основы файла `config.yml` и его оптимизация
Мы уже рассмотрели базовую структуру, но давайте углубимся в важные параметры:
Интеграция с внешними системами: Home Assistant и MQTT
Одним из ключевых преимуществ Frigate является его глубокая интеграция с Home Assistant через MQTT. После того как Frigate и Mosquitto запущены на вашем VPS, а Home Assistant установлен (возможно, на другом VPS, см. статью Home Assistant на VPS: установка, настройка и обслуживание), вы можете настроить их взаимодействие:
Пример YAML для Home Assistant (configuration.yaml) для отображения потока Frigate (убедитесь, что веб-интерфейс Frigate доступен):
# Пример для Home Assistant
camera:
- platform: frigate
host: ВАШ_IP_VPS_FRIGATE # Или доменное имя
port: 5000 # Порт Frigate
rtmp_port: 1935 # Порт RTMP Frigate
# ssl: true # Если Frigate доступен по HTTPS
# verify_ssl: true
# client_id: home-assistant
# topic_prefix: frigate # Должен совпадать с frigate/config.yml
# Если вы хотите использовать MQTT напрямую (без discovery)
# camera:
# - platform: mqtt
# name: "Front Door Frigate"
# topic: "frigate/front_door/snapshot" # Топик для снимков
# encoding: "b64"
# qos: 0
# unique_id: frigate_front_door_snapshot
Frigate также может отправлять уведомления напрямую через различные интеграции (Telegram, Discord, Gotify) с помощью дополнительных скриптов или сервисов, таких как Netdata на VPS: установка, настройка и обслуживание.
Обеспечение безопасного доступа: Reverse Proxy (Nginx/Caddy) и HTTPS для `Frigate на сервере`
Доступ к веб-интерфейсу Frigate по прямому IP-адресу и порту 5000 небезопасен и неудобен. Для обеспечения защищенного доступа к Frigate на сервере, особенно если вы хотите использовать доменное имя и HTTPS, необходимо настроить обратный прокси (Reverse Proxy) с использованием Nginx или Caddy.
Настройка Nginx как обратного прокси
Nginx — это мощный и широко используемый веб-сервер, который отлично подходит для роли обратного прокси. Он позволяет направлять запросы с вашего доменного имени на внутренний порт Frigate, а также легко интегрировать Let's Encrypt для HTTPS.
sudo apt update
sudo apt install nginx -y
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d ваш_домен.com -d www.ваш_домен.com
Следуйте инструкциям Certbot. Он автоматически настроит Nginx для HTTPS.
sudo nano /etc/nginx/sites-available/frigate.conf
Вставьте следующее содержимое, заменив ваш_домен.com на ваш реальный домен:
server {
listen 80;
listen [::]:80;
server_name ваш_домен.com www.ваш_домен.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name ваш_домен.com www.ваш_домен.com;
ssl_certificate /etc/letsencrypt/live/ваш_домен.com/fullchain.pem; # Путь к вашему сертификату
ssl_certificate_key /etc/letsencrypt/live/ваш_домен.com/privkey.pem; # Путь к вашему приватному ключу
ssl_trusted_certificate /etc/letsencrypt/live/ваш_домен.com/chain.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # Создается Certbot
client_max_body_size 0; # Для загрузки больших файлов, если необходимо
location / {
proxy_pass http://127.0.0.1:5000; # Frigate слушает на порту 5000
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 900s; # Увеличить таймаут для длительных соединений (видеопотоки)
proxy_send_timeout 900s;
proxy_connect_timeout 900s;
proxy_buffering off; # Отключить буферизацию для потокового видео
}
location /ws { # Для WebSocket-соединений Frigate
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /api/ws { # Если Frigate использует /api/ws для WebSocket
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# Для RTMP-потоков (если вы хотите проксировать их через Nginx)
# Это потребует модуля Nginx RTMP, что усложняет установку.
# Проще использовать прямой доступ к RTMP порту 1935 или веб-интерфейс Frigate.
}
sudo ln -s /etc/nginx/sites-available/frigate.conf /etc/nginx/sites-enabled/
sudo nginx -t # Проверить синтаксис
sudo systemctl reload nginx
Теперь Frigate будет доступен по https://ваш_домен.com.
Использование Caddy для упрощенной конфигурации
Caddy — это современный веб-сервер с автоматической поддержкой HTTPS (через Let's Encrypt) из коробки. Он значительно проще в настройке, чем Nginx, для многих сценариев.
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y
sudo nano /etc/caddy/Caddyfile
Вставьте следующее содержимое, заменив ваш_домен.com на ваш реальный домен:
ваш_домен.com {
reverse_proxy 127.0.0.1:5000 {
header_up Host {host}
header_up X-Real-IP {remote_ip}
header_up X-Forwarded-For {remote_ip}
header_up X-Forwarded-Proto {scheme}
# Увеличить таймауты для потокового видео
transport http {
read_timeout 15m
write_timeout 15m
idle_timeout 15m
}
# Отключить буферизацию для WebSocket
websocket
}
}
sudo systemctl reload caddy
Caddy автоматически получит и обновит SSL-сертификаты. Frigate будет доступен по https://ваш_домен.com.
Обслуживание `Frigate VPS`: бэкапы, обновления и мониторинг
Регулярное обслуживание Frigate VPS является ключом к его долгосрочной стабильности и безопасности. Это включает в себя резервное копирование данных, своевременные обновления и мониторинг производительности.
Стратегии резервного копирования данных Frigate
Ваши видеозаписи, снимки и, главное, конфигурация Frigate — ценные данные, которые необходимо регулярно бэкапить. Используйте следующую стратегию:
Пример скрипта для бэкапа конфигурации и базы данных (может быть добавлен в cron):
#!/bin/bash
BACKUP_DIR="/root/frigate_backups"
FRIGATE_CONFIG_PATH="/root/frigate/config"
FRIGATE_MEDIA_PATH="/root/frigate/media" # Для базы данных frigate.db
mkdir -p $BACKUP_DIR
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_FILE="$BACKUP_DIR/frigate_config_db_$TIMESTAMP.tar.gz"
# Остановить Frigate на время бэкапа базы данных, чтобы избежать повреждения
# docker compose stop frigate
# Создать архив конфигурации и базы данных
tar -czf $BACKUP_FILE -C $FRIGATE_CONFIG_PATH . -C $FRIGATE_MEDIA_PATH frigate.db
# docker compose start frigate
# Удалить старые бэкапы (например, старше 7 дней)
find $BACKUP_DIR -name "frigate_config_db_*.tar.gz" -type f -mtime +7 -delete
echo "Frigate config and DB backup created: $BACKUP_FILE"
Процедура обновления Docker-контейнеров Frigate
Поддерживать Frigate в актуальном состоянии важно для получения новых функций, исправлений ошибок и обновлений безопасности. Благодаря Docker Compose, процесс обновления очень прост:
cd ~/frigate
docker compose down
docker compose pull
docker compose up -d
Всегда рекомендуется проверять официальные примечания к выпуску Frigate перед обновлением, так как иногда могут потребоваться изменения в config.yml.
Ищете сервер, который просто работает?
Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.
Какой `VPS-конфиг` под реальную нагрузку: рекомендации Valebyte.com
Выбор правильного VPS-конфига для Frigate — это баланс между стоимостью и производительностью. На Valebyte.com мы предлагаем гибкие тарифы, которые можно адаптировать под ваши нужды. Ниже приведена таблица с рекомендациями, основанными на количестве камер и наличии аппаратного ускорения.
Таблица: Оптимальные VPS-конфигурации для различных сценариев Frigate
В этой таблице мы предполагаем использование NVMe-диска и стабильного интернет-соединения на VPS.
| Сценарий использования | Количество камер (1080p) | vCPU (GHz) | RAM (GB) | NVMe Disk (GB) | Аппаратное ускорение | Ориентировочная стоимость VPS (USD/мес.) |
|---|---|---|---|---|---|---|
| Базовый мониторинг дома/офиса | 1-2 | 2 @ 2.5+ | 4 | 100 | CPU (FFmpeg hwaccel) | $5 - $10 |
| Расширенный мониторинг | 3-5 | 4 @ 3.0+ | 8 | 200 | CPU (FFmpeg hwaccel) | $10 - $20 |
| Профессиональный мониторинг (CPU-intensive) | 6-8 | 6-8 @ 3.0+ | 16 | 300+ | CPU (FFmpeg hwaccel) | $20 - $40 |
| Высокопроизводительный (с GPU-ускорением) | 5-10+ | 4 @ 2.5+ | 8-16 | 200+ | NVIDIA GPU (Tesla T4) | От $50 (зависит от GPU) |
| Архивное хранилище (дополнительно) | Любое | +0 | +0 | 500+ (HDD/SSD) | N/A | +$5 - +$15 (зависит от объема) |
Рекомендации Valebyte.com:
Помните, что требования могут варьироваться в зависимости от конкретных моделей камер, битрейта видеопотоков и сложности сцены. Всегда тестируйте и оптимизируйте конфигурацию под свои нужды.
Выводы
Установка Frigate на VPS от Valebyte.com предоставляет надежную, приватную и высокопроизводительную платформу для видеонаблюдения с детекцией объектов. Выбирайте тарифы с NVMe-дисками и достаточным количеством высокочастотных ядер CPU, а при возможности — с аппаратным ускорением GPU, чтобы обеспечить максимальную эффективность и масштабируемость вашей системы.
Готовы выбрать сервер?
VPS и выделенные серверы в 72+ странах с мгновенной активацией и полным root-доступом.
Начать сейчас →