网络要求
Frigate 设计为本地运行,核心功能不需要持久的互联网连接。但某些功能在初始设置或持续运行中需要互联网访问。本页面描述哪些功能连接互联网、何时连接以及如何控制。
Frigate 如何使用互联网
Frigate 的互联网使用分为三类:
- 一次性模型下载:首次启用某个功能时下载 ML 模型,然后缓存在本地。后续启动无需互联网。
- 可选的云服务:Frigate+ 和生成式 AI 等功能仅在显式配置时才连接外部 API。
- 构建时依赖:在构建过程中打包到 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 RKNN | RKNN 检测模型 | GitHub |
| Hailo 8 / 8L | YOLOv6n (.hef) | Hailo Model Zoo (AWS S3) |
| AXERA AXEngine | 检测模型 | HuggingFace |
NOTE
默认的 CPU、EdgeTPU 和 OpenVINO 目标检测模型已打包到 Docker 镜像中,运行时无需任何下载。
阻止模型下载
如果你已下载所有所需模型并希望阻止 Frigate 尝试任何出站连接,设置以下环境变量:
environment:
HF_HUB_OFFLINE: "1"
TRANSFORMERS_OFFLINE: "1"警告
在 /config/model_cache/ 中没有已缓存的正确模型文件的情况下设置这些变量将导致失败。仅在成功完成带互联网访问的初始设置后使用它们。
镜像支持
如果你的 Frigate 实例有受限的互联网访问,可以使用环境变量将模型下载指向内部镜像:
| 环境变量 | 默认值 | 使用者 |
|---|---|---|
HF_ENDPOINT | https://huggingface.co | 语义搜索、Sherpa-ONNX、AXEngine 模型 |
GITHUB_ENDPOINT | https://github.com | 人脸识别、LPR、RKNN 模型 |
GITHUB_RAW_ENDPOINT | https://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。可禁用:
telemetry:
version_check: false推送通知
需要 Frigate 服务器到浏览器厂商推送服务的互联网访问。
MQTT
如果配置了 MQTT 代理,通常为局域网连接;云托管 MQTT 需要互联网。
不需要互联网的功能
- 目标检测:CPU、EdgeTPU、OpenVINO 模型已打包。
- 录制和回放:全部本地。
- 实时流:局域网内拉流,MSE 和 HLS 无需外部连接。
- 网页界面:完全自包含。
- 自定义分类推理:训练后完全本地。
- 音频检测:YAMNet 模型已打包。
离线运行 Frigate
- 预下载模型:在线启动一次,模型缓存到
/config/model_cache/。 - 预下载训练基础权重:如果计划训练自定义分类模型,在训练前设置
TF_KERAS_MOBILENET_V2_WEIGHTS_URL,然后在线运行一次训练任务。如果不设置此变量,基础权重会缓存到/config/之外,容器重建后即丢失,后续离线训练将失败。如果机器永无互联网访问,请按下文说明手动拷贝权重。 - 禁用版本检查:
telemetry.version_check: false。 - 阻止出站请求:
HF_HUB_OFFLINE=1、TRANSFORMERS_OFFLINE=1。 - 避免云功能:不配置 Frigate+、云 AI、云 MQTT。
- 使用本地镜像:如有受限互联网,设置
HF_ENDPOINT、GITHUB_ENDPOINT、GITHUB_RAW_ENDPOINT和TF_KERAS_MOBILENET_V2_WEIGHTS_URL环境变量指向本地镜像。
完成这些步骤后,Frigate 将无出站互联网连接运行。
手动拷贝训练基础权重
在有互联网访问的机器上下载权重:
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 重新下载权重。