首页
/ 解决Docker-Wyze-Bridge中定时快照占用存储空间问题

解决Docker-Wyze-Bridge中定时快照占用存储空间问题

2025-06-27 20:17:18作者:晏闻田Solitary

问题背景

在使用Docker-Wyze-Bridge项目时,用户发现定时快照功能会持续写入磁盘空间,直到耗尽主机存储。这导致Docker主机空间不足,进而影响所有容器服务的正常运行。项目默认的快照行为是覆盖同名文件,但用户期望能够按时间保留快照,如仅保留最近7天或30天的快照。

技术分析

Docker-Wyze-Bridge是一个将Wyze摄像头视频流转换为标准协议(如RTMP、RTSP、HLS等)的桥接工具。它提供了定时快照功能,可以通过环境变量配置快照的保存路径和格式。

默认情况下,快照会按照配置的路径和文件名格式保存。如果文件名格式中包含时间变量(如%Y-%m-%d/%H-%M-%S.jpg),系统会为每次快照生成新文件,而不会自动清理旧文件,这可能导致存储空间被持续占用。

解决方案

最新开发版本中增加了SNAPSHOT_KEEP环境变量,用于控制快照的保留时间。该参数支持多种时间单位格式:

  1. 秒级保留:

    • SNAPSHOT_KEEP=180 (保留180秒)
    • SNAPSHOT_KEEP=180s (同上,显式指定秒单位)
  2. 分钟级保留:

    • SNAPSHOT_KEEP=3m (保留3分钟)
  3. 小时级保留:

    • SNAPSHOT_KEEP=72h (保留72小时)
  4. 天级保留:

    • SNAPSHOT_KEEP=3d (保留3天)
    • SNAPSHOT_KEEP=2w (保留2周)

配置示例

以下是一个完整的docker-compose.yml配置示例,展示了如何设置快照保留策略:

version: '2.4'
services:
  wyze-bridge:
    container_name: wyze-bridge
    restart: unless-stopped
    image: mrlt8/wyze-bridge:dev
    ports:
      - 1935:1935   # RTMP
      - 8554:8554   # RTSP
    volumes:
      - /DATA/AppData/wyzebridge/snapshots:/img
    environment:
      - WB_IP=192.168.3.101
      - SNAPSHOT=RTSP
      - SNAPSHOT_FORMAT={cam_name}/%Y-%m-%d/%H-%M-%S.jpg
      - SNAPSHOT_KEEP=7d  # 保留7天快照

实施建议

  1. 升级到最新开发版本以获取此功能
  2. 根据实际存储容量和快照频率合理设置保留时间
  3. 监控快照目录的磁盘使用情况
  4. 考虑将快照目录挂载到专用存储设备或分区

总结

通过合理配置SNAPSHOT_KEEP参数,用户可以有效地管理Wyze摄像头快照的存储空间,避免因快照积累导致的磁盘空间耗尽问题。这一改进使得Docker-Wyze-Bridge在长期运行环境下更加稳定可靠。

登录后查看全文
热门项目推荐
相关项目推荐