bolt Valebyte VPS от $4/мес — NVMe, запуск за 60 секунд.

Получить VPS arrow_forward

Frigate на VPS: установка, настройка и обслуживание

calendar_month 15 июня 2026 schedule 18 мин. чтения visibility 32 просмотров
person
Valebyte Team
Frigate на VPS: установка, настройка и обслуживание

Установка 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:

  1. Обновите систему: Всегда начинайте с обновления пакетного менеджера и установленных пакетов.
  2. sudo apt update && sudo apt upgrade -y
  3. Установите Docker: Следуйте официальной инструкции для вашей операционной системы. Для Ubuntu/Debian это обычно выглядит так:
  4. 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
  5. Установите Docker Compose (если не установлен как плагин): В новых версиях Docker Compose обычно идет как плагин docker-compose-plugin, который устанавливается вместе с Docker. Если вы используете старую версию или предпочитаете отдельный бинарник, установите его так:
  6. sudo apt install docker-compose -y
  7. Создайте директорию для Frigate:
  8. mkdir -p ~/frigate
    cd ~/frigate

Развертывание Frigate: создание конфигурации и запуск контейнеров

Теперь создадим файл docker-compose.yml и базовый конфигурационный файл Frigate.

  1. Создайте файл docker-compose.yml:
  2. 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 крайне редок.

  3. Создайте базовый конфигурационный файл Frigate (config.yml):
  4. 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.

  5. Запустите контейнеры Docker Compose:
  6. docker compose up -d

    Команда -d запускает контейнеры в фоновом режиме. Чтобы посмотреть логи, используйте docker compose logs -f.

    После запуска Frigate будет доступен по адресу http://ВАШ_IP_VPS:5000. Убедитесь, что порт 5000 открыт в фаерволе вашего VPS.

    rocket_launch Быстрый выбор

    Ищете сервер, который просто работает?

    Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

    Смотреть тарифы VPS arrow_forward

    Детальная настройка Frigate: от камер до уведомлений

    Файл config.yml — это сердце вашей системы Frigate. Правильная его настройка критически важна для стабильной работы, точности детекции и эффективного использования ресурсов VPS.

    Основы файла `config.yml` и его оптимизация

    Мы уже рассмотрели базовую структуру, но давайте углубимся в важные параметры:

    • 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: Настройка сохранения снимков при обнаружении объектов.

    Интеграция с внешними системами: Home Assistant и MQTT

    Одним из ключевых преимуществ Frigate является его глубокая интеграция с Home Assistant через MQTT. После того как Frigate и Mosquitto запущены на вашем VPS, а Home Assistant установлен (возможно, на другом VPS, см. статью Home Assistant на VPS: установка, настройка и обслуживание), вы можете настроить их взаимодействие:

    1. Настройка MQTT в Home Assistant: В Home Assistant добавьте интеграцию "MQTT" и укажите IP-адрес вашего Frigate VPS (или доменное имя, если используете reverse proxy) и порт 1883.
    2. Автоматическое обнаружение: Frigate автоматически публикует свои устройства и сенсоры в Home Assistant через MQTT Discovery. После настройки MQTT в HA, вы увидите новые сущности для каждой камеры (состояние, детекция движения, снимки, видеопотоки).
    3. Автоматизации: Используйте события Frigate (например, "person detected in front_door") для запуска автоматизаций в Home Assistant: включение света, отправка уведомлений с изображением, запись видео и т.д.

    Пример 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.

    1. Установите Nginx:
    2. sudo apt update
      sudo apt install nginx -y
    3. Получите SSL-сертификат Let's Encrypt: Рекомендуется использовать Certbot.
    4. sudo apt install certbot python3-certbot-nginx -y
      sudo certbot --nginx -d ваш_домен.com -d www.ваш_домен.com

      Следуйте инструкциям Certbot. Он автоматически настроит Nginx для HTTPS.

    5. Создайте или отредактируйте конфигурационный файл Nginx для Frigate:
    6. 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.
      }
    7. Активируйте конфигурацию и перезагрузите Nginx:
    8. 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, для многих сценариев.

    1. Установите Caddy: Следуйте официальной инструкции для вашей ОС. Для Debian/Ubuntu:
    2. 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
    3. Создайте или отредактируйте файл Caddyfile:
    4. 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
          }
      }
    5. Перезагрузите Caddy:
    6. sudo systemctl reload caddy

    Caddy автоматически получит и обновит SSL-сертификаты. Frigate будет доступен по https://ваш_домен.com.

    Обслуживание `Frigate VPS`: бэкапы, обновления и мониторинг

    Регулярное обслуживание Frigate VPS является ключом к его долгосрочной стабильности и безопасности. Это включает в себя резервное копирование данных, своевременные обновления и мониторинг производительности.

    Стратегии резервного копирования данных Frigate

    Ваши видеозаписи, снимки и, главное, конфигурация Frigate — ценные данные, которые необходимо регулярно бэкапить. Используйте следующую стратегию:

    1. Бэкап конфигурации: Файл ~/frigate/config/config.yml и все связанные файлы (например, motion_masks.json) должны быть зарезервированы. Это можно делать вручную или автоматизировать.
    2. Бэкап базы данных: Frigate использует SQLite базу данных (frigate.db) для хранения метаданных о событиях и записях. Она находится в директории ~/frigate/media. Рекомендуется бэкапить её вместе с конфигом.
    3. Бэкап медиафайлов: Директория ~/frigate/media содержит все ваши видеозаписи и снимки. Это может быть очень большой объем данных, поэтому полные ежедневные бэкапы могут быть непрактичны.
      • Стратегия: Бэкапируйте только важные события (например, снимки объектов) и конфигурацию ежедневно. Полный бэкап видеоархива можно делать реже или использовать инкрементальные бэкапы.
      • Инструменты: Используйте такие инструменты, как Restic на VPS для эффективного, дедуплицированного и зашифрованного резервного копирования на удаленное хранилище (S3, Backblaze B2).

    Пример скрипта для бэкапа конфигурации и базы данных (может быть добавлен в 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, процесс обновления очень прост:

    1. Перейдите в директорию Frigate:
    2. cd ~/frigate
    3. Остановите текущие контейнеры:
    4. docker compose down
    5. Загрузите новые образы:
    6. docker compose pull
    7. Запустите обновленные контейнеры:
    8. docker compose up -d

    Всегда рекомендуется проверять официальные примечания к выпуску Frigate перед обновлением, так как иногда могут потребоваться изменения в config.yml.

    rocket_launch Быстрый выбор

    Ищете сервер, который просто работает?

    Valebyte VPS — NVMe, поддержка 24/7, развёртывание за 60 секунд.

    Смотреть тарифы VPS arrow_forward

    Какой `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:

    1. Начинайте с малого: Если вы новичок, начните с тарифа с 2 vCPU, 4 GB RAM и 100 GB NVMe. Этого достаточно для тестирования и 1-2 камер.
    2. Приоритет NVMe: Всегда выбирайте тарифы с NVMe-дисками. Это одно из самых критичных требований для Frigate.
    3. Процессор с высокой частотой: Для CPU-детекции Frigate лучше отзывается на высокочастотные ядра, даже если их меньше, чем на большое количество низкочастотных ядер.
    4. Аппаратное ускорение: Если ваш провайдер предлагает VPS с Intel-процессорами, скорее всего, доступно VA-API или QSV для аппаратного декодирования FFmpeg. Обязательно используйте это. Если доступны NVIDIA GPU, это идеальный выбор для масштабирования детекции.
    5. Масштабируемость: Выбирайте провайдера, который позволяет легко масштабировать ресурсы VPS (CPU, RAM, Disk) без переустановки системы. Valebyte.com предлагает такую гибкость.
    6. Мониторинг: Установите инструменты мониторинга, такие как Netdata, чтобы отслеживать загрузку CPU, RAM и диска, выявлять узкие места и своевременно реагировать.

    Помните, что требования могут варьироваться в зависимости от конкретных моделей камер, битрейта видеопотоков и сложности сцены. Всегда тестируйте и оптимизируйте конфигурацию под свои нужды.

    Выводы

    Установка Frigate на VPS от Valebyte.com предоставляет надежную, приватную и высокопроизводительную платформу для видеонаблюдения с детекцией объектов. Выбирайте тарифы с NVMe-дисками и достаточным количеством высокочастотных ядер CPU, а при возможности — с аппаратным ускорением GPU, чтобы обеспечить максимальную эффективность и масштабируемость вашей системы.

    Готовы выбрать сервер?

    VPS и выделенные серверы в 72+ странах с мгновенной активацией и полным root-доступом.

    Начать сейчас →

Поделиться записью:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.