本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

plex-db-sync是一款用于同步两个Plex服务器数据库观看状态的工具,可同步包括观看时间在内的观看进度信息,适用于系统上的所有用户,且无需额外配置Plex令牌。
适用于需要在多个Plex服务器间保持观看进度一致的场景,例如:
环境准备
安装必要依赖工具:
apt-get install sshfs sqlite3
挂载远程数据库
通过sshfs挂载远程Plex服务器的数据库目录至本地:
mkdir -p /mnt/sshfs sshfs -o allow_other,IdentityFile=/keys/serverkey -p 22 \ ***:"/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Plug-in Support/Databases/" \ /mnt/sshfs
执行同步脚本
下载并运行脚本,指定服务器数据库路径及启停命令:
wget [***] 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 *** service plexmediaserver start" \ --plex-stop-1 "ssh -oStrictHostKeyChecking=no -i /keys/serverkey *** 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实现容器化部署,适用于本地与远程服务器同步场景:
version: '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服务器上的数据库目录路径 |

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429