入门指南
硬件设置
本节将指导你如何在Debian Bookworm上设置服务器并安装Docker。
安装Debian 12 (Bookworm)
关于如何安装Debian服务器有很多指南,所以这里只提供简略指南。将临时显示器和键盘连接到你的设备,以便安装一个没有桌面环境的最小化服务器。
准备安装媒介
- 从Debian网站下载小型安装镜像
- 将ISO写入USB设备(推荐使用balena Etcher工具)
- 从USB启动你的设备
安装并设置Debian以进行远程访问
- 确保你的设备已连接到网络,以便可以安装更新和软件
- 如果没有连接鼠标,选择非图形化安装选项,但两种安装方式都可以正常工作
- 系统会提示你设置root用户密码并创建一个带密码的用户
- 安装最小化软件。更少的依赖意味着更少的维护工作。
- 取消选中"Debian桌面环境"和"GNOME"
- 选中"SSH服务器"
- 保持"标准系统实用工具"选中
- 重启后,以root身份登录命令提示符,将用户添加到sudoers
- 安装sudo
apt update && apt install -y sudo
- 将你创建的用户添加到sudo组(将
blake
改为你自己的用户名)usermod -aG sudo blake
- 安装sudo
- 运行
poweroff
关机
此时,你可以将设备安装到永久位置。剩余步骤可以通过SSH从另一台设备完成。如果你没有SSH客户端,可以安装Visual Studio Code文档中列出的选项之一。
通过SSH完成设置
-
通过SSH连接并使用安装时创建的非root用户登录
-
设置无密码sudo,这样就不用每次执行sudo命令时都输入密码(将下面命令中的
blake
改为你的用户名)echo 'blake ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/user
-
注销并重新登录以激活无密码sudo
-
为操作系统设置自动安全更新(可选)
- 运行以下命令确保所有内容都是最新的
sudo apt update && sudo apt upgrade -y
- 安装无人值守更新
sudo apt install -y unattended-upgrades
echo unattended-upgrades unattended-upgrades/enable_auto_updates boolean true | sudo debconf-set-selections
sudo dpkg-reconfigure -f noninteractive unattended-upgrades
- 运行以下命令确保所有内容都是最新的
现在你有了一个需要很少维护的最小化Debian服务器。
安装Docker
- 使用官方文档安装Docker Engine(不是Docker Desktop)
- 具体来说,按照使用apt仓库安装部分的步骤操作
- 按照Linux安装后步骤中的说明将你的用户添加到docker组
安装Frigate
本节展示如何在Debian上为Docker安装创建最小目录结构。如果你已经通过Home Assistant插件或其他方式安装了Frigate,可以继续配置Frigate部分。
设置目录
如果配置文件在初始启动时不存在,Frigate将创建一个配置文件。以下目录结构是开始所需的最低要求。一旦Frigate运行起来,你可以使用内置的配置编辑器,它支持配置验证。
.
├── docker-compose.yml
├── config/
└── storage/
这将创建上述结构:
mkdir storage config && touch docker-compose.yml
如果你通过SSH在Linux设备上设置Frigate,可以使用nano来编辑以下文件。如果你更喜欢使用完整的编辑器而不是终端来编辑远程文件,我推荐使用带Remote SSH扩展的Visual Studio Code。
这个docker-compose.yml
文件只是amd64设备的入门文件。你需要根据安装文档中的详细说明来自定义它以适应你的设置。
docker-compose.yml
services:
frigate:
container_name: frigate
restart: unless-stopped
stop_grace_period: 30s
image: ghcr.io/blakeblackshear/frigate:stable
volumes:
- ./config:/config
- ./storage:/media/frigate
- type: tmpfs # 可选:1GB内存,减少SSD/SD卡损耗
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "8971:8971"
- "8554:8554" # RTSP feeds
现在你应该可以在包含docker-compose.yml
的文件夹中运行docker compose up -d
来启动Frigate。在启动时,系统会创建一个管理员用户和密码,并在日志中输出。你可以通过运行docker logs frigate
来查看。现在应该可以通过https://server_ip:8971
访问Frigate,你可以使用admin
用户登录并使用内置的配置编辑器完成配置。
配置Frigate
本节假设你已经按照安装中的说明设置了环境。你还应该根据摄像头设置指南配置你的摄像头。特别注意选择检测分辨率的部分。
步骤1:添加检测流
首先我们将为摄像头添加检测流:
mqtt:
enabled: False
cameras:
name_of_your_camera: # <------ 命名你的摄像头
enabled: True
ffmpeg:
inputs:
- path: rtsp://10.0.10.10:554/rtsp # <----- 你想用于检测的流
roles:
- detect