
1. 添加官方仓库
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo2. 安装核心组件
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin3. 启动并设置开机自启
sudo systemctl --now enable docker4. (可选)允许非 root 用户使用 Docker
sudo usermod -a -G docker $(whoami)重新登录后生效,可用 id 验证。
frigate中文文档:https://docs.frigate-cn.video/frigate/
1.官方文档安装教程
docker run -d \ # 第1行:基础运行指令 --name frigate-memx \ # 第2行:容器命名 --restart=unless-stopped \ # 第3行:重启策略 --mount type=tmpfs,target=/tmp/cache,tmpfs-size=1000000000 \ # 第4行:临时文件系统挂载 --shm-size=256m \ # 第5行:共享内存配置 -v /path/to/your/storage:/media/frigate \ # 第6行:存储目录挂载 -v /path/to/your/config:/config \ # 第7行:配置文件目录挂载 -v /etc/localtime:/etc/localtime:ro \ # 第8行:时区同步挂载 -v /run/mxa_manager:/run/mxa_manager \ # 第9行:memx设备管理目录挂载 -e FRIGATE_RTSP_PASSWORD='password' \ # 第10行:环境变量设置 --privileged=true \ # 第11行:特权模式 -p 8971:8971 \ # 第12行:Web UI端口映射 -p 8554:8554 \ # 第13行:RTSP服务端口映射 -p 5000:5000 \ # 第14行:备用API端口映射 -p 8555:8555/tcp \ # 第15行:WebRTC TCP端口映射 -p 8555:8555/udp \ # 第16行:WebRTC UDP端口映射 --device /dev/memx0 \ # 第17行:memx硬件设备挂载 ghcr.io/blakeblackshear/frigate:stable # 第18行:镜像地址2.命令含义解释
docker run -d
docker run:Docker 核心命令,用于创建并启动一个新容器。-d(--detach):后台运行容器(守护进程模式),不会占用当前终端。--name frigate-memx
frigate-memx,方便后续通过 docker stop frigate-memx、docker logs frigate-memx 等命令管理容器,避免使用随机生成的容器名。--restart=unless-stopped
docker stop 停止容器,否则 Docker 守护进程重启(如服务器重启)或容器意外退出时,会自动重启该容器。always(总是重启)、on-failure(仅容器异常退出时重启)、no(不重启)。--mount type=tmpfs,target=/tmp/cache,tmpfs-size=1000000000
tmpfs)到容器内的 /tmp/cache 目录,tmpfs 存储在内存中,读写速度极快,适合 Frigate 缓存视频帧等临时数据。tmpfs-size=1000000000:限制该临时目录的大小为 10 亿字节(约 954MB),避免占用过多内存。--shm-size=256m
/dev/shm)大小为 256MB。Frigate 处理视频流时需要大量共享内存,默认的 64MB 通常不足,需手动调大。-v /path/to/your/storage:/media/frigate
-v(--volume):目录挂载(绑定挂载),将宿主机的 /path/to/your/storage 目录映射到容器内的 /media/frigate 目录。/path/to/your/storage 为宿主机实际目录(如 /home/ubuntu/frigate/media)。-v /path/to/your/config:/config
/config 目录,Frigate 的核心配置文件 config.yml 需放在宿主机的这个目录下。/path/to/your/config 为宿主机实际配置目录。-v /etc/localtime:/etc/localtime:ro
:ro 表示只读模式。-v /run/mxa_manager:/run/mxa_manager
mxa_manager 运行目录到容器内,用于和 memx 硬件设备的管理进程通信,是 memx 硬件加速的必要配置。-e FRIGATE_RTSP_PASSWORD='password'
-e(--env):设置容器内的环境变量,这里指定 Frigate 的 RTSP 服务密码为 password,用于访问 RTSP 视频流时的身份验证。--privileged=true
-p 8971:8971
-p(--publish):端口映射,格式为 宿主机端口:容器端口。http://宿主机IP:8971)。-p 8554:8554
rtsp://宿主机IP:8554/摄像头名称 访问视频流。-p 5000:5000
-p 8555:8555/tcp、-p 8555:8555/udp
--device /dev/memx0
/dev/memx0(memx 视频加速卡)挂载到容器内,让 Frigate 可以调用该硬件进行视频编解码加速,提升处理性能。ghcr.io/blakeblackshear/frigate:stable
stable 是标签,代表稳定版本。3.运行命令
docker run -d \ --name frigate-memx \ --restart=unless-stopped \ --mount type=tmpfs,target=/tmp/cache,tmpfs-size=1000000000 \ --shm-size=512m \ -v /home/frigate/storage:/media/frigate \ -v /home/frigate/config:/config \ -v /etc/localtime:/etc/localtime:ro \ -v /run/mxa_manager:/run/mxa_manager \ -e TZ='Asia/Shanghai' \ -e FRIGATE_RTSP_PASSWORD='myP1ssw0rd' \ --privileged=true \ -p 8971:8971 \ -p 8554:8554 \ -p 5000:5000 \ -p 8555:8555/tcp \ -p 8555:8555/udp \ docker.cnb.cool/frigate-cn/frigate:stable #使用国内镜像4.使用说明
http://<服务器IP>:5000, 直接访问后台,不要暴露此端口
https://<服务器IP>:8971, 登录页面,如需远程访问,映射此端口
摄像头rtsp协议示例,如下:
rtsp://admin:DEVICE@192.168.10.133:554/cam/realmonitor?channel=1&subtype=0