
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
plex-db-sync是一款用于同步两个Plex服务器数据库观看状态的工具,可同步包括观看时间在内的观看进度信息,适用于系统上的所有用户,且无需额外配置Plex令牌。
适用于需要在多个Plex服务器间保持观看进度一致的场景,例如:
环境准备
安装必要依赖工具:
bashapt-get install sshfs sqlite3
挂载远程数据库
通过sshfs挂载远程Plex服务器的数据库目录至本地:
bashmkdir -p /mnt/sshfs sshfs -o allow_other,IdentityFile=/keys/serverkey -p 22 \ root@hostname.tld:"/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-in Support/Databases/" \ /mnt/sshfs
执行同步脚本
下载并运行脚本,指定服务器数据库路径及启停命令:
bashwget https://raw.githubusercontent.com/Fmstrat/plex-db-sync/master/plex-db-sync chmod +x plex-db-sync ./plex-db-sync \ --plex-db-1 "/mnt/sshfs/com.plexapp.plugins.library.db" \ --plex-start-1 "ssh -oStrictHostKeyChecking=no -i /keys/serverkey root@hostname.tld service plexmediaserver start" \ --plex-stop-1 "ssh -oStrictHostKeyChecking=no -i /keys/serverkey root@hostname.tld service plexmediaserver stop" \ --plex-db-2 "/data/docker/containers/plex/config/Library/Application Support/Plex Media Server/Plug-in Support/Databases/com.plexapp.plugins.library.db" \ --plex-start-2 "service plexmediaserver start" \ --plex-stop-2 "service plexmediaserver stop"
注意:脚本会短暂停止并重启Plex服务以应用更新,通常不会影响正在播放的客户端(首次大规模同步可能有短暂影响)。
通过docker-compose实现容器化部署,适用于本地与远程服务器同步场景:
yamlversion: '2' services: plex-db-sync: image: nowsci/plex-db-sync container_name: plex-db-sync volumes: - /etc/localtime:/etc/localtime:ro # 同步系统时区 - ./plex-db-sync/sshkey:/sshkey # SSH密钥挂载 - /docker/plex/Library/Application Support/Plex Media Server/Plug-in Support/Databases/:/mnt/DB2 # 本地数据库路径 cap_add: - SYS_ADMIN # 允许文件系统挂载 devices: - /dev/fuse # 提供fuse设备支持 security_opt: - apparmor:unconfined # 禁用AppArmor限制 environment: - CRON=0 4 * * * # 每天凌晨4点执行同步 - S1_SSH_KEY=/sshkey # 远程服务器SSH密钥路径 - S1_SSH_USER=root # 远程服务器SSH用户 - S1_SSH_HOST=hostname # 远程服务器主机名/IP - S1_SSH_PORT=22 # 远程服务器SSH端口 - S1_SSH_PATH=/docker/plex/Library/Application Support/Plex Media Server/Plug-in Support/Databases # 远程数据库路径 - S1_START=ssh -oStrictHostKeyChecking=no -i /sshkey root@hostname 'cd /docker; docker-compose up -d plex' # 远程Plex启动命令 - S1_STOP=ssh -oStrictHostKeyChecking=no -i /sshkey root@hostname 'cd /docker; docker-compose stop plex' # 远程Plex停止命令 - S2_DB_PATH=/mnt/DB2 # 本地数据库路径 - S2_START=cd /docker; docker-compose up -d plex # 本地Plex启动命令 - S2_STOP=cd /docker; docker-compose stop plex # 本地Plex停止命令 restart: always
| 命令行参数 | Docker变量 | 描述 |
|---|---|---|
--backup <true/false> | BACKUP | 执行SQL操作前是否创建数据库备份 |
--debug <true/false> | DEBUG | 是否输出调试信息 |
--dry-run <true/false> | DRYRUN | 仅模拟同步操作,不实际修改数据库 |
--plex-db-(1/2) | S(1/2)_DB_PATH | 服务器数据库路径(脚本模式为文件路径,Docker模式为目录路径) |
--plex-start-(1/2) | S(1/2)_START | 启动对应Plex服务器的命令 |
--plex-stop-(1/2) | S(1/2)_STOP | 停止对应Plex服务器的命令 |
--nocomparedb <true/false> | n/a | 是否跳过Plex服务器版本数据库比较 |
| n/a | CRON | 定时同步任务表达式(默认:0 4 * * *,每天凌晨4点) |
| n/a | INITIALRUN | 容器启动时是否在定时任务前先执行一次同步 |
| n/a | S(1/2)_SSH_KEY | SSH身份验证密钥文件路径 |
| n/a | S(1/2)_SSH_USER | SSH连接用户名 |
| n/a | S(1/2)_SSH_HOST | SSH服务器主机名/IP地址 |
| n/a | S(1/2)_SSH_PORT | SSH服务端口 |
| n/a | S(1/2)_SSH_PATH | SSH服务器上的数据库目录路径 |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务