autopulse:自动化媒体服务器更新工具
autopulse:自动化媒体服务器更新工具
autopulse 💫 automated lightweight service that updates media servers like Plex and Jellyfin based on notifications from media organizers like Sonarr and Radarr 项目地址: https://gitcode.com/gh_mirrors/au/autopulse
项目介绍
autopulse 是一个轻量级的服务程序,它能够接收来自媒体组织工具如 Sonarr、Radarr 的通知,并据此更新 Plex、Jellyfin 等媒体服务器中的项目。它设计高效,仅更新已更改的项目,从而减轻媒体服务器的负载。
与已不再维护且效率较低的 autoscan 项目相比,autopulse 提供了更具体的文件更新而非简单的文件夹扫描,这使得它能够更高效地处理媒体库的更新。
项目技术分析
autopulse 的核心在于它的触发器(trigger)和目标(target)机制。触发器负责监听来自不同媒体组织工具的通知,如 Sonarr、Radarr 等。目标则是定义了如何更新不同媒体服务器的规则。项目采用数据库来存储扫描请求的状态,确保了操作的可靠性和一致性。
技术架构上,autopulse 支持多种配置文件格式,如 json、toml、yaml 等,使得用户可以灵活地根据自己的需求进行配置。同时,通过环境变量的方式,用户还可以进一步自定义设置,满足不同的部署场景。
项目技术应用场景
autopulse 适用于多种媒体库管理的自动化场景。例如,当 Sonarr 完成对一部电视剧的下载并发出通知时,autopulse 可以捕获该通知并自动向 Plex 发送更新请求,更新媒体库中的相关信息。这不仅提高了效率,也减少了手动干预的需求。
以下是几种典型的应用场景:
- 自动同步媒体库:当新内容被下载时,自动同步到 Plex 或 Jellyfin。
- 媒体文件路径调整:根据需要自动重写文件路径,适应不同的存储和播放环境。
- 文件存在性检查:在发送更新请求前,检查目标文件是否存在。
- 哈希匹配:在更新前,确保文件哈希值与预期一致,保证文件完整性。
项目特点
autopulse 的特点在于其高度的可定制性和灵活性:
- 集成性强:支持多种媒体组织工具和媒体服务器之间的集成。
- 高效更新:只更新更改过的项目,减少服务器负载。
- 可靠性:通过数据库管理状态,确保操作的一致性。
- 扩展性:提供了多种钩子(hook)和自定义命令,支持更多扩展功能。
- 易用性:内建简单的 web 界面,方便用户查看和管理扫描请求。
autopulse 通过提供 Docker 镜像和详细的文档,大大简化了部署和使用过程。用户可以根据自己的需求选择不同的数据库后端,包括 SQLite、Postgres 等。
总结来说,autopulse 是一个强大且灵活的自动化工具,适用于需要高效管理媒体库的用户。通过它的帮助,您可以轻松实现媒体文件的自动化处理,提升您的媒体服务器使用体验。
autopulse 💫 automated lightweight service that updates media servers like Plex and Jellyfin based on notifications from media organizers like Sonarr and Radarr 项目地址: https://gitcode.com/gh_mirrors/au/autopulse