diff --git a/apps/frigate/0.14.1-standard-arm64/.env.sample b/apps/frigate/0.14.1-standard-arm64/.env.sample new file mode 100644 index 00000000..795a7831 --- /dev/null +++ b/apps/frigate/0.14.1-standard-arm64/.env.sample @@ -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 diff --git a/apps/frigate/0.14.1-standard-arm64/data.yml b/apps/frigate/0.14.1-standard-arm64/data.yml new file mode 100644 index 00000000..dd0f5d33 --- /dev/null +++ b/apps/frigate/0.14.1-standard-arm64/data.yml @@ -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 diff --git a/apps/frigate/0.14.1-standard-arm64/docker-compose.yml b/apps/frigate/0.14.1-standard-arm64/docker-compose.yml new file mode 100644 index 00000000..64489b57 --- /dev/null +++ b/apps/frigate/0.14.1-standard-arm64/docker-compose.yml @@ -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 diff --git a/apps/frigate/0.14.1/.env.sample b/apps/frigate/0.14.1/.env.sample new file mode 100644 index 00000000..795a7831 --- /dev/null +++ b/apps/frigate/0.14.1/.env.sample @@ -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 diff --git a/apps/frigate/0.14.1/data.yml b/apps/frigate/0.14.1/data.yml new file mode 100644 index 00000000..dd0f5d33 --- /dev/null +++ b/apps/frigate/0.14.1/data.yml @@ -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 diff --git a/apps/frigate/0.14.1/docker-compose.yml b/apps/frigate/0.14.1/docker-compose.yml new file mode 100644 index 00000000..bf06cff4 --- /dev/null +++ b/apps/frigate/0.14.1/docker-compose.yml @@ -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 diff --git a/apps/frigate/README.md b/apps/frigate/README.md new file mode 100644 index 00000000..650d46e5 --- /dev/null +++ b/apps/frigate/README.md @@ -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) + +## 使用说明 + +用户名与密码通过查看容器日志获取 \ No newline at end of file diff --git a/apps/frigate/data.yml b/apps/frigate/data.yml new file mode 100644 index 00000000..dafe76cc --- /dev/null +++ b/apps/frigate/data.yml @@ -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/ diff --git a/apps/frigate/logo.png b/apps/frigate/logo.png new file mode 100644 index 00000000..20e80901 Binary files /dev/null and b/apps/frigate/logo.png differ diff --git a/apps/frigate/stable/.env.sample b/apps/frigate/stable/.env.sample new file mode 100644 index 00000000..795a7831 --- /dev/null +++ b/apps/frigate/stable/.env.sample @@ -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 diff --git a/apps/frigate/stable/data.yml b/apps/frigate/stable/data.yml new file mode 100644 index 00000000..dd0f5d33 --- /dev/null +++ b/apps/frigate/stable/data.yml @@ -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 diff --git a/apps/frigate/stable/docker-compose.yml b/apps/frigate/stable/docker-compose.yml new file mode 100644 index 00000000..6d3bba4c --- /dev/null +++ b/apps/frigate/stable/docker-compose.yml @@ -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