
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
JellyPlex-Watched是一款用于在本地环境中同步Jellyfin和Plex媒体服务器之间用户观看历史记录的工具。它通过文件名和内容提供商ID匹配电影/剧集,支持多服务器配置(通过逗号分隔参数),可自定义同步方向、用户/媒体库映射及筛选规则,适用于需要保持多平台观看记录一致性的场景。
适用于以下场景:
所有配置通过环境变量或.env文件设置,主要配置项如下:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
DRYRUN | 仅记录操作到日志,不实际标记内容为已观看(测试配置时推荐启用) | "True" |
DEBUG | 启用额外调试日志信息 | "False" |
DEBUG_LEVEL | 日志级别:"info"(默认,常规信息)或"debug"(详细调试信息) | "info" |
SLEEP_DURATION | 同步任务执行间隔(秒),默认1小时 | "3600" |
LOGFILE | 日志文件路径 | "log.log" |
USER_MAPPING | 用户映射字典(不同服务器用户名不同时),格式:{"用户A":"用户B",...} | {} |
LIBRARY_MAPPING | 媒体库映射字典(不同服务器库名称不同时),格式:{"库A":"库B",...} | {} |
BLACKLIST_LIBRARY | 黑名单媒体库(逗号分隔,映射后名称同样生效) | "" |
WHITELIST_LIBRARY | 白名单媒体库(逗号分隔,仅同步指定库) | "" |
BLACKLIST_LIBRARY_TYPE | 黑名单库类型(如"Movies",逗号分隔) | "" |
WHITELIST_LIBRARY_TYPE | 白名单库类型(如"TV Shows",逗号分隔) | "" |
BLACKLIST_USERS | 黑名单用户(逗号分隔,映射后名称同样生效) | "" |
WHITELIST_USERS | 白名单用户(逗号分隔,仅同步指定用户) | "testuser1,testuser2" |
| 环境变量 | 说明 |
|---|---|
PLEX_BASEURL | Plex服务器URL列表(逗号分隔多服务器),例:"http://plex:32400,https://nas:32400" |
PLEX_TOKEN | Plex访问令牌(推荐使用,直接连接服务器),逗号分隔多服务器 |
SSL_BYPASS | 是否跳过SSL证书主机名验证(证书错误时设为"True") |
SYNC_FROM_PLEX_TO_JELLYFIN | 是否从Plex同步到Jellyfin |
SYNC_FROM_PLEX_TO_PLEX | 是否在多个Plex服务器间互相同步 |
若不使用令牌,可配置
PLEX_USERNAME、PLEX_PASSWORD、PLEX_SERVERNAME(均为逗号分隔多服务器)
| 环境变量 | 说明 |
|---|---|
JELLYFIN_BASEURL | Jellyfin服务器URL列表(逗号分隔多服务器),例:"http://jellyfin:8096,http://nas:8096" |
JELLYFIN_TOKEN | Jellyfin API令牌(通过管理面板创建),逗号分隔多服务器 |
SYNC_FROM_JELLYFIN_TO_PLEX | 是否从Jellyfin同步到Plex |
SYNC_FROM_JELLYFIN_TO_JELLYFIN | 是否在多个Jellyfin服务器间互相同步 |
1. 获取镜像
使用预构建镜像(推荐):
bashdocker pull luigi311/jellyplex-watched:latest
或本地构建:
bashgit clone https://github.com/luigi311/JellyPlex-Watched.git cd JellyPlex-Watched docker build -t jellyplex-watched .
2. 运行容器
方式1:通过环境变量直接配置
适用于简单场景,直接在命令行指定关键参数:
bashdocker run --rm -it \ -e PLEX_BASEURL="http://192.168.1.100:32400" \ -e PLEX_TOKEN="your-plex-token-here" \ -e JELLYFIN_BASEURL="http://192.168.1.101:8096" \ -e JELLYFIN_TOKEN="your-jellyfin-token-here" \ -e DRYRUN="False" \ -e SLEEP_DURATION="1800" \ luigi311/jellyplex-watched:latest
方式2:通过.env文件配置(推荐)
适用于复杂配置,便于管理多个参数:
.env文件(参考项目https://github.com/luigi311/JellyPlex-Watched/blob/main/.env.sample%EF%BC%89%EF%BC%9Aini# 全局设置 DRYRUN="False" DEBUG="False" SLEEP_DURATION="3600" USER_MAPPING='{"plex_user":"jellyfin_user"}' LIBRARY_MAPPING='{"TV Shows":"Series"}' WHITELIST_USERS="family_user,kid_user" # Plex设置 PLEX_BASEURL="http://plex-server:32400,https://backup-plex:32400" PLEX_TOKEN="token1,token2" SYNC_FROM_PLEX_TO_JELLYFIN="True" SYNC_FROM_PLEX_TO_PLEX="True" SSL_BYPASS="False" # Jellyfin设置 JELLYFIN_BASEURL="http://jellyfin-server:8096" JELLYFIN_TOKEN="jellyfin-token-here" SYNC_FROM_JELLYFIN_TO_PLEX="True" SYNC_FROM_JELLYFIN_TO_JELLYFIN="False"
bashdocker run --rm -it -v "$(pwd)/.env:/app/.env" luigi311/jellyplex-watched:latest
DRYRUN="True"测试配置,查看日志确认同步逻辑是否符合预期/app/log.log,可通过挂载日志目录持久化日志:
bashdocker run --rm -it -v "$(pwd)/.env:/app/.env" -v "$(pwd)/logs:/app/logs" -e LOGFILE="logs/sync.log" luigi311/jellyplex-watched:latest
DEBUG="True"和DEBUG_LEVEL="debug"获取详细调试信息您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务