arabcoders/watchstate!构建状态 !MIT许可证 !Docker拉取量 !ghcr拉取量
该工具的主要目标是在不依赖第三方服务的情况下同步后端用户的播放状态,开箱即用地支持Jellyfin、Plex和Emby媒体服务器。
我们添加了标记v1.0.0前的最后一个功能:现在可以搜索数据库中的重复文件引用。如果您有多个后端引用同一文件但报告不同元数据,此功能非常有用。
若要跳过多集项目,请进入后端页面,从快速操作列表中选择“从此后端强制导入元数据”,这将重新创建元数据,并包含标记多集项目的标志。
后续更新将主要关注错误修复、性能改进以及文档更新。
我们计划在2025年第四季度标记v1.0.0,因此如果您依赖已弃用的行为或功能,请开始迁移到我们已实现的新替代方案。在v1.0.0前将移除的内容,我们将在未来几周记录所有即将移除的已弃用功能。最值得注意的是将移除每个用户/后端的webhook端点。
请参阅NEWS获取最新更新和变更。
多对多或单向)可移植格式不匹配或错误匹配的项目如果您喜欢我的作品,您可能也会喜欢我的另一个项目YTPTube,这是一个简单直接的前端,帮助从支持的所有网站下载内容。
如果您更喜欢视频格式,AlienTech42 ***频道有一个关于使用unraid安装WatchState的视频链接。非常感谢。
注意:我不认识该频道所有者,但感谢其付出。视频中关于webhook URL有一个小错误,请直接从后端页面复制URL。此外,该工具支持多用户。
首先,创建一个目录来存储数据,为了遵循此设置,请在工作目录中创建名为data的目录。然后按照您喜欢的方法安装工具。
在data目录旁创建compose.yaml,并添加以下内容:
yamlservices: watchstate: image: ghcr.io/arabcoders/watchstate:latest # 要更改工具关联的用户/组ID,请修改以下行 user: "${UID:-1000}:${GID:-1000}" container_name: watchstate restart: unless-stopped ports: - "8080:8080" # WebUI可用的端口 volumes: - ./data:/config:rw # 将当前目录挂载到容器的/config目录
接下来,使用以下命令运行容器:
bash$ docker compose up -d
bash$ docker run -d --rm --user "${UID:-1000}:${GID:-1000}" --name watchstate --restart unless-stopped -p 8080:8080 -v ./data:/config:rw ghcr.io/arabcoders/watchstate:latest
[!IMPORTANT] 至关重要的是,
user:或--user要与data目录的所有者匹配,容器是无root权限的,因此如果无法写入数据目录,容器将崩溃。不建议以root身份运行容器,但如果运行失败,可尝试设置
user: "0:0"或--user '0:0'。如果这能工作,说明存在权限问题。请参考FAQ排查问题。
对于Unraid用户,您可以安装Community Applications插件,搜索watchstate,它已预先配置。否则,要手动安装,需要在高级选项卡/视图的“额外参数”部分添加值:--user 99:100。
这必须在启动容器之前完成,否则容器将使用旧的用户ID,之后您需要从终端运行以下命令:chown -R 99:100 /mnt/user/appdata/watchstate。
要使用Podman运行此容器,将compose.yaml中的user设置为0:0。在容器内看似以root身份运行,但实际上会映射到运行命令的用户。
启动容器后,可通过浏览器访问http://localhost:8080打开WebUI。
[!NOTE] 首次使用时,系统会提示创建新的系统用户,这是一次性操作。
要添加后端,请点击右上角的帮助按钮,选择单向或双向同步方法,并按照说明操作。
添加后端并导入数据后,您将看到类似以下的界面:
!WebUI
目前,该工具支持三种从后端导入数据的方法:
按计划从后端拉取数据的定时作业手动运行导入任务,按需从后端拉取数据接收来自后端的事件并相应更新数据库[!NOTE] 即使所有后端都支持webhooks,也应保持导入任务启用。这有助于维持健康的数据同步,并捕获任何遗漏的事件。有关webhooks限制的更多信息,请查看webhook指南。
请查看常见问题页面或指南,获取有关配置的更多深入说明。
如果您有简短或快速的问题,或只想与其他用户交流,欢迎加入此***服务器。请注意,这是个人项目,因此我可能需要一些时间回复问题,我的工作时区为UTC+3。
如果您想并支持我的工作,可以向儿童慈善机构。例如国际许愿基金会。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务