feat:添加frigate到列表

This commit is contained in:
okxlin 2024-10-30 01:24:02 +08:00
parent f7b920afcc
commit 54b05b7a34
12 changed files with 429 additions and 0 deletions

View File

@ -0,0 +1,11 @@
CONFIG_PATH="./data/config"
CONTAINER_NAME="frigate"
FRIGATE_RTSP_PASSWORD="password"
PANEL_APP_PORT_HTTPS=8971
PRIVILEGED_MODE="true"
RTSP_PORT=8554
SHM_SIZE="64mb"
STORAGE_PATH="./data/storage"
TMPFS_SIZE=1000000000
WEBRTC_TCP_PORT=8555
WEBRTC_UDP_PORT=8555

View File

@ -0,0 +1,83 @@
additionalProperties:
formFields:
- default: "true"
edit: true
envKey: PRIVILEGED_MODE
labelEn: Privileged Mode
labelZh: 特权模式
required: true
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
- default: "64mb"
edit: true
envKey: SHM_SIZE
labelEn: Shared Memory Size
labelZh: 共享内存大小
required: true
type: text
- default: "./data/config"
edit: true
envKey: CONFIG_PATH
labelEn: Config Path
labelZh: 配置路径
required: true
type: text
- default: "./data/storage"
edit: true
envKey: STORAGE_PATH
labelEn: Storage Path
labelZh: 存储路径
required: true
type: text
- default: "1000000000"
edit: true
envKey: TMPFS_SIZE
labelEn: Tmpfs Size
labelZh: Tmpfs 大小
required: true
type: number
- default: "8971"
edit: true
envKey: PANEL_APP_PORT_HTTPS
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number
- default: "8554"
edit: true
envKey: RTSP_PORT
labelEn: RTSP Port
labelZh: RTSP 端口
required: true
rule: paramPort
type: number
- default: "8555"
edit: true
envKey: WEBRTC_TCP_PORT
labelEn: WebRTC TCP Port
labelZh: WebRTC TCP 端口
required: true
rule: paramPort
type: number
- default: "8555"
edit: true
envKey: WEBRTC_UDP_PORT
labelEn: WebRTC UDP Port
labelZh: WebRTC UDP 端口
required: true
rule: paramPort
type: number
- default: "password"
edit: true
envKey: FRIGATE_RTSP_PASSWORD
labelEn: RTSP Password
labelZh: RTSP 密码
random: true
required: true
rule: paramComplexity
type: password

View File

@ -0,0 +1,35 @@
services:
frigate:
image: "ghcr.io/blakeblackshear/frigate:0.14.1-standard-arm64"
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
privileged: ${PRIVILEGED_MODE}
shm_size: "${SHM_SIZE}"
devices:
- /dev/bus/usb:/dev/bus/usb
- /dev/apex_0:/dev/apex_0
- /dev/video11:/dev/video11
- /dev/dri/renderD128:/dev/dri/renderD128
volumes:
- /etc/localtime:/etc/localtime:ro
- ${CONFIG_PATH}:/config
- ${STORAGE_PATH}:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: "${TMPFS_SIZE}"
ports:
- "${PANEL_APP_PORT_HTTPS}:8971"
- "${RTSP_PORT}:8554"
- "${WEBRTC_TCP_PORT}:8555/tcp"
- "${WEBRTC_UDP_PORT}:8555/udp"
environment:
- FRIGATE_RTSP_PASSWORD=${FRIGATE_RTSP_PASSWORD}
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

View File

@ -0,0 +1,11 @@
CONFIG_PATH="./data/config"
CONTAINER_NAME="frigate"
FRIGATE_RTSP_PASSWORD="password"
PANEL_APP_PORT_HTTPS=8971
PRIVILEGED_MODE="true"
RTSP_PORT=8554
SHM_SIZE="64mb"
STORAGE_PATH="./data/storage"
TMPFS_SIZE=1000000000
WEBRTC_TCP_PORT=8555
WEBRTC_UDP_PORT=8555

View File

@ -0,0 +1,83 @@
additionalProperties:
formFields:
- default: "true"
edit: true
envKey: PRIVILEGED_MODE
labelEn: Privileged Mode
labelZh: 特权模式
required: true
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
- default: "64mb"
edit: true
envKey: SHM_SIZE
labelEn: Shared Memory Size
labelZh: 共享内存大小
required: true
type: text
- default: "./data/config"
edit: true
envKey: CONFIG_PATH
labelEn: Config Path
labelZh: 配置路径
required: true
type: text
- default: "./data/storage"
edit: true
envKey: STORAGE_PATH
labelEn: Storage Path
labelZh: 存储路径
required: true
type: text
- default: "1000000000"
edit: true
envKey: TMPFS_SIZE
labelEn: Tmpfs Size
labelZh: Tmpfs 大小
required: true
type: number
- default: "8971"
edit: true
envKey: PANEL_APP_PORT_HTTPS
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number
- default: "8554"
edit: true
envKey: RTSP_PORT
labelEn: RTSP Port
labelZh: RTSP 端口
required: true
rule: paramPort
type: number
- default: "8555"
edit: true
envKey: WEBRTC_TCP_PORT
labelEn: WebRTC TCP Port
labelZh: WebRTC TCP 端口
required: true
rule: paramPort
type: number
- default: "8555"
edit: true
envKey: WEBRTC_UDP_PORT
labelEn: WebRTC UDP Port
labelZh: WebRTC UDP 端口
required: true
rule: paramPort
type: number
- default: "password"
edit: true
envKey: FRIGATE_RTSP_PASSWORD
labelEn: RTSP Password
labelZh: RTSP 密码
random: true
required: true
rule: paramComplexity
type: password

View File

@ -0,0 +1,35 @@
services:
frigate:
image: "ghcr.io/blakeblackshear/frigate:0.14.1"
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
privileged: ${PRIVILEGED_MODE}
shm_size: "${SHM_SIZE}"
devices:
- /dev/bus/usb:/dev/bus/usb
- /dev/apex_0:/dev/apex_0
- /dev/video11:/dev/video11
- /dev/dri/renderD128:/dev/dri/renderD128
volumes:
- /etc/localtime:/etc/localtime:ro
- ${CONFIG_PATH}:/config
- ${STORAGE_PATH}:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: "${TMPFS_SIZE}"
ports:
- "${PANEL_APP_PORT_HTTPS}:8971"
- "${RTSP_PORT}:8554"
- "${WEBRTC_TCP_PORT}:8555/tcp"
- "${WEBRTC_UDP_PORT}:8555/udp"
environment:
- FRIGATE_RTSP_PASSWORD=${FRIGATE_RTSP_PASSWORD}
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true

23
apps/frigate/README.md Normal file
View File

@ -0,0 +1,23 @@
# Frigate
Frigate 是一个为 [Home Assistant](https://www.home-assistant.io) 设计的完整本地 NVR具备 AI 物体检测功能。它使用 OpenCV 和 TensorFlow 实现 IP 摄像头的实时物体检测。
- 与 Home Assistant 的紧密集成,通过 [自定义组件](https://github.com/blakeblackshear/frigate-hass-integration) 实现
- 旨在通过仅在必要时和适当位置寻找物体来最小化资源使用并最大化性能
- 大量利用多进程,强调实时性而非处理每一帧
- 使用非常低开销的运动检测来确定何时进行物体检测
- TensorFlow 的物体检测在单独的进程中运行,以实现最大 FPS
- 通过 MQTT 进行通信,方便与其他系统集成
- 基于检测到的物体记录视频并设置保留策略
- 24/7 录制
- 通过 RTSP 进行重流,以减少对摄像头的连接数量
- 支持 WebRTC 和 MSE实现低延迟实时视图
## 文档
查看文档:[https://docs.frigate.video](https://docs.frigate.video)
## 使用说明
用户名与密码通过查看容器日志获取

19
apps/frigate/data.yml Normal file
View File

@ -0,0 +1,19 @@
name: Frigate
tags:
- 多媒体
title: 一个开源的实时视频监控系统
description: 一个开源的实时视频监控系统
additionalProperties:
key: frigate
name: Frigate
tags:
- Media
shortDescZh: 一个开源的实时视频监控系统
shortDescEn: NVR With Realtime Object Detection for IP Cameras
type: tool
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://frigate.video
github: https://github.com/blakeblackshear/frigate
document: https://frigate.video/docs/

BIN
apps/frigate/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,11 @@
CONFIG_PATH="./data/config"
CONTAINER_NAME="frigate"
FRIGATE_RTSP_PASSWORD="password"
PANEL_APP_PORT_HTTPS=8971
PRIVILEGED_MODE="true"
RTSP_PORT=8554
SHM_SIZE="64mb"
STORAGE_PATH="./data/storage"
TMPFS_SIZE=1000000000
WEBRTC_TCP_PORT=8555
WEBRTC_UDP_PORT=8555

View File

@ -0,0 +1,83 @@
additionalProperties:
formFields:
- default: "true"
edit: true
envKey: PRIVILEGED_MODE
labelEn: Privileged Mode
labelZh: 特权模式
required: true
type: select
values:
- label: "True"
value: "true"
- label: "False"
value: "false"
- default: "64mb"
edit: true
envKey: SHM_SIZE
labelEn: Shared Memory Size
labelZh: 共享内存大小
required: true
type: text
- default: "./data/config"
edit: true
envKey: CONFIG_PATH
labelEn: Config Path
labelZh: 配置路径
required: true
type: text
- default: "./data/storage"
edit: true
envKey: STORAGE_PATH
labelEn: Storage Path
labelZh: 存储路径
required: true
type: text
- default: "1000000000"
edit: true
envKey: TMPFS_SIZE
labelEn: Tmpfs Size
labelZh: Tmpfs 大小
required: true
type: number
- default: "8971"
edit: true
envKey: PANEL_APP_PORT_HTTPS
labelEn: Port
labelZh: 端口
required: true
rule: paramPort
type: number
- default: "8554"
edit: true
envKey: RTSP_PORT
labelEn: RTSP Port
labelZh: RTSP 端口
required: true
rule: paramPort
type: number
- default: "8555"
edit: true
envKey: WEBRTC_TCP_PORT
labelEn: WebRTC TCP Port
labelZh: WebRTC TCP 端口
required: true
rule: paramPort
type: number
- default: "8555"
edit: true
envKey: WEBRTC_UDP_PORT
labelEn: WebRTC UDP Port
labelZh: WebRTC UDP 端口
required: true
rule: paramPort
type: number
- default: "password"
edit: true
envKey: FRIGATE_RTSP_PASSWORD
labelEn: RTSP Password
labelZh: RTSP 密码
random: true
required: true
rule: paramComplexity
type: password

View File

@ -0,0 +1,35 @@
services:
frigate:
image: "ghcr.io/blakeblackshear/frigate:stable"
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
privileged: ${PRIVILEGED_MODE}
shm_size: "${SHM_SIZE}"
devices:
- /dev/bus/usb:/dev/bus/usb
- /dev/apex_0:/dev/apex_0
- /dev/video11:/dev/video11
- /dev/dri/renderD128:/dev/dri/renderD128
volumes:
- /etc/localtime:/etc/localtime:ro
- ${CONFIG_PATH}:/config
- ${STORAGE_PATH}:/media/frigate
- type: tmpfs
target: /tmp/cache
tmpfs:
size: "${TMPFS_SIZE}"
ports:
- "${PANEL_APP_PORT_HTTPS}:8971"
- "${RTSP_PORT}:8554"
- "${WEBRTC_TCP_PORT}:8555/tcp"
- "${WEBRTC_UDP_PORT}:8555/udp"
environment:
- FRIGATE_RTSP_PASSWORD=${FRIGATE_RTSP_PASSWORD}
labels:
createdBy: "Apps"
networks:
1panel-network:
external: true