arabcoders/watchstate
自托管服务,在 Plex、Jellyfin 和 Emby 之间同步播放状态,无需第三方服务。
- Star
- 1,609
- Fork
- 30
- 未关闭 Issue
- 2
- 最近提交
- 5天前
这是什么?
WatchState 让多台 Plex、Jellyfin 和 Emby 媒体服务器之间的用户播放状态(已看标记和观看进度)保持一致。整个服务运行在自己的环境中,不依赖外部同步服务。
同步支持单向和多对多两种模式。播放状态还可以导出为可移植格式用于备份。通过 identities 功能可以处理多用户,把各服务器上的账号对应起来。
更新既可以通过媒体服务器发来的 webhook 实时获取,也可以依靠定时或手动触发的导入任务补齐遗漏的事件。项目还提供媒体健康检查,用于发现记录问题,并支持搜索后端元数据。以 Docker 镜像形式发布,自带 Web 界面。
核心功能
- 01在 Plex、Jellyfin 和 Emby 之间单向或多对多同步播放状态。
- 02接收媒体服务器的 webhook 事件,近实时更新观看进度。
- 03将播放状态导出为可移植格式进行备份。
- 04通过 identities 支持多用户。
- 05提供媒体健康检查,帮助发现记录问题。
- 06以自托管 Docker 容器运行,并附带 Web 界面。
适用场景
- 家庭中同时使用 Plex 和 Jellyfin 时,保持已看状态一致。
- 备份或迁移媒体服务器上的观看记录。
- 不希望把观看数据交给第三方同步服务的场景。
快速上手
- 1
在数据目录旁创建包含 WatchState 服务的 compose.yaml
- 2
使用 Docker Compose 启动容器
mkdir -p ./data && docker compose up -d - 3
打开 http://localhost:8080,首次访问时创建系统用户
使用前须知
- 1.10.9 之前的版本受 PHP 运行时漏洞影响,请升级到 1.10.9 或更高版本并重新创建容器。
- 路径匹配现已默认启用,现有记录需要完整导入后才能按路径匹配。
- Podman 用户需要将容器用户设为 0:0,Unraid 或权限问题可能需要调整用户 ID。
收录于专题
标签
常见问题
- watchstate 是什么?
- 自托管服务,在 Plex、Jellyfin 和 Emby 之间同步播放状态,无需第三方服务。 WatchState 让多台 Plex、Jellyfin 和 Emby 媒体服务器之间的用户播放状态(已看标记和观看进度)保持一致。整个服务运行在自己的环境中,不依赖外部同步服务。
- watchstate 可以免费使用吗?用的什么许可证?
- watchstate 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- watchstate 还在维护吗?
- 活跃维护中。watchstate 最近一次提交是在 2026年11月2日。
- watchstate 适合用来做什么?
- 家庭中同时使用 Plex 和 Jellyfin 时,保持已看状态一致。 备份或迁移媒体服务器上的观看记录。 不希望把观看数据交给第三方同步服务的场景。
- watchstate 怎么安装和运行?
- 在数据目录旁创建包含 WatchState 服务的 compose.yaml 使用 Docker Compose 启动容器: mkdir -p ./data && docker compose up -d 打开 http://localhost:8080,首次访问时创建系统用户
- 在哪里获取 watchstate?
- 源代码和安装说明在 GitHub 上:https://github.com/arabcoders/watchstate
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
自托管影视观看记录工具,可同步 Jellyfin、Plex、Emby 等媒体库与观看历史。
594+15 本周50PythonGPL-3.0维护活跃更新于 7天前
开源的影视请求与发现管理工具,用于对接 Jellyfin、Plex 和 Emby 媒体库。
1.3万+76 本周1140TypeScriptMIT更新于 17小时前
Ombi 是一个自托管的影视请求工具,用户可提交电影、音乐和剧集请求,并与 Plex、Emby 等媒体服务器同步。
4110424C#GPL-2.0更新于 昨天
面向 Plex、Jellyfin 和 Emby 的媒体库维护工具,按规则筛出无人观看或无人请求的影片,宽限期后自动清理。
2392+14 本周129TypeScriptMIT维护活跃更新于 20小时前
统一监控 Plex、Jellyfin 和 Emby 服务器的播放会话、观看数据与账号共享情况的自托管面板。
2736119TypeScriptAGPL-3.0维护活跃更新于 17小时前