Skip to content

网络要求

Frigate 设计为本地运行,核心功能不需要持久的互联网连接。但某些功能在初始设置或持续运行中需要互联网访问。本页面描述哪些功能连接互联网、何时连接以及如何控制。

Frigate 如何使用互联网

Frigate 的互联网使用分为三类:

  1. 一次性模型下载:首次启用某个功能时下载 ML 模型,然后缓存在本地。后续启动无需互联网。
  2. 可选的云服务:Frigate+ 和生成式 AI 等功能仅在显式配置时才连接外部 API。
  3. 构建时依赖:在构建过程中打包到 Docker 镜像中的组件。这些在运行时无需互联网。

提示

初始设置后,只要所有所需模型已下载且未启用云依赖功能,Frigate 可以完全离线运行。

一次性模型下载

以下模型在首次启用其关联功能时自动下载。一旦缓存在 /config/model_cache/ 中,不再需要互联网。

功能下载的模型来源
语义搜索Jina CLIP v1 或 v2 (ONNX) + 分词器HuggingFace
人脸识别FaceNet、ArcFace、人脸检测模型GitHub
车牌识别PaddleOCR + YOLOv9 车牌检测器GitHub
鸟类分类MobileNetV2 鸟类模型 + 标签映射GitHub
自定义分类(训练)MobileNetV2 ImageNet 基础权重Google 存储
音频转写Whisper 或 Sherpa-ONNX 流媒体模型HuggingFace / OpenAI

NOTE

MobileNetV2 基础权重是 /config/model_cache/ 规则的唯一例外。它们也是唯一不在功能启用时下载的条目:Frigate 在训练运行实际开始时才会获取它们。

硬件特定检测器模型

如果你使用以下硬件检测器之一且未提供自己的模型文件,将在首次启动时下载默认模型:

检测器下载的模型来源
Rockchip RKNNRKNN 检测模型GitHub
Hailo 8 / 8LYOLOv6n (.hef)Hailo Model Zoo (AWS S3)
AXERA AXEngine检测模型HuggingFace

NOTE

默认的 CPU、EdgeTPU 和 OpenVINO 目标检测模型已打包到 Docker 镜像中,运行时无需任何下载。

阻止模型下载

如果你已下载所有所需模型并希望阻止 Frigate 尝试任何出站连接,设置以下环境变量:

yaml
environment:
  HF_HUB_OFFLINE: "1"
  TRANSFORMERS_OFFLINE: "1"

警告

/config/model_cache/ 中没有已缓存的正确模型文件的情况下设置这些变量将导致失败。仅在成功完成带互联网访问的初始设置后使用它们。

镜像支持

如果你的 Frigate 实例有受限的互联网访问,可以使用环境变量将模型下载指向内部镜像:

环境变量默认值使用者
HF_ENDPOINThttps://huggingface.co语义搜索、Sherpa-ONNX、AXEngine 模型
GITHUB_ENDPOINThttps://github.com人脸识别、LPR、RKNN 模型
GITHUB_RAW_ENDPOINThttps://raw.githubusercontent.com鸟类分类
TF_KERAS_MOBILENET_V2_WEIGHTS_URL未设置(Keras 使用自己的默认值)自定义分类训练

中国大陆用户:我们提供了国内下载加速镜像,详见通过 Docker 安装教程中的 environment 配置。

可选的云服务

以下功能在正常操作期间连接到外部服务,活动时需要互联网。

Frigate+

配置 Frigate+ API 密钥时,Frigate 与 https://api.frigate.video 通信以下载模型、上传快照等。移除 API 密钥以禁用。

详见 Frigate+

生成式 AI

提供商是否需要互联网
OpenAI需要
Google Gemini需要
Azure OpenAI需要
Ollama通常本地,可为远程
llama.cpp不需要

版本检查

启动时查询 https://api.github.com。可禁用:

yaml
telemetry:
  version_check: false

推送通知

需要 Frigate 服务器到浏览器厂商推送服务的互联网访问。

MQTT

如果配置了 MQTT 代理,通常为局域网连接;云托管 MQTT 需要互联网。

不需要互联网的功能

  • 目标检测:CPU、EdgeTPU、OpenVINO 模型已打包。
  • 录制和回放:全部本地。
  • 实时流:局域网内拉流,MSE 和 HLS 无需外部连接。
  • 网页界面:完全自包含。
  • 自定义分类推理:训练后完全本地。
  • 音频检测:YAMNet 模型已打包。

离线运行 Frigate

  1. 预下载模型:在线启动一次,模型缓存到 /config/model_cache/
  2. 预下载训练基础权重:如果计划训练自定义分类模型,在训练前设置 TF_KERAS_MOBILENET_V2_WEIGHTS_URL,然后在线运行一次训练任务。如果不设置此变量,基础权重会缓存到 /config/ 之外,容器重建后即丢失,后续离线训练将失败。如果机器永无互联网访问,请按下文说明手动拷贝权重。
  3. 禁用版本检查telemetry.version_check: false
  4. 阻止出站请求HF_HUB_OFFLINE=1TRANSFORMERS_OFFLINE=1
  5. 避免云功能:不配置 Frigate+、云 AI、云 MQTT。
  6. 使用本地镜像:如有受限互联网,设置 HF_ENDPOINTGITHUB_ENDPOINTGITHUB_RAW_ENDPOINTTF_KERAS_MOBILENET_V2_WEIGHTS_URL 环境变量指向本地镜像。

完成这些步骤后,Frigate 将无出站互联网连接运行。

手动拷贝训练基础权重

在有互联网访问的机器上下载权重:

bash
curl -L -o mobilenet_v2_weights.h5 \
  "https://storage.googleapis.com/tensorflow/keras-applications/mobilenet_v2/mobilenet_v2_weights_tf_dim_ordering_tf_kernels_0.35_224_no_top.h5"

将文件拷贝到你的 Frigate 配置卷中作为 /config/model_cache/MobileNet/mobilenet_v2_weights.h5,保持该精确文件名,然后在 Docker Compose 文件中设置环境变量 TF_KERAS_MOBILENET_V2_WEIGHTS_URL 为上述 URL 并重启 Frigate。

必须设置该变量,即使该 URL 永远不会被访问。如果未设置,Frigate 将忽略拷贝的文件,并要求 Keras 重新下载权重。