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

Отримати VPS arrow_forward

Frigate на VPS: встановлення, налаштування та обслуговування

calendar_month June 15, 2026 schedule 18 хв. читання visibility 31 переглядів
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.