Awesome
xiaoya-sync
注意,这个docker容器运行任务期间会占用300MB-700MB的内存
同步小雅emby媒体库,每天早上晚上六点同步,服务启动也会执行一次。扫描一次大概30秒钟。 每三天同步一次全量数据,扫描下载一次大概20分钟以上,具体看有多少更新文件。
自动删除本地过时文件夹及文件(小雅媒体库网站不存在的文件及文件夹,不会删除其他目录的文件),网站上面文件的和本地 同名文件不会删除,防止网站没有nfo等文件,但是本地有nfo等文件,导致误删nfo等文件
https://emby.xiaoya.pro/
https://icyou.eu.org/
https://emby.8.net.co/
https://emby.raydoom.tk/
https://emby.kaiserver.uk/
https://embyxiaoya.laogl.top/
https://emby-data.raydoom.tk/
https://emby-data.5168168.xyz/
https://emby-data.ermaokj.com/
https://emby-data.tmxy.pp.ua/
https://emby-data.poxi1221.eu.org/
以上网站会同步以下指定目录
每日更新/
电影/
纪录片(已刮削)/
音乐/
PikPak/
动漫/
电视剧/
纪录片/
综艺/
📺画质演示测试(4K,8K,HDR,Dolby)/
开发计划
- 1.增加启动是否执行任务的开关
- 2.增加线程数配置,增加排除列表功能
- 3.增加指定同步网站配置
- 4.增加线程数配置
- 5.增加指定目录同步
- 6.使用okhttp大幅优化同步性能(http2支持单TCP连接),降低网站服务器压力
- 7.增加tg消息推送文件同步情况、机器人命令手动执行任务
-
0.增量更新,一个专门同步网站最新文件的中心,发送消息增量了哪些文件,其他同步客户端去订阅这个消息
更新记录
20240522 降低默认线程数、降低TCP连接数支持单TCP连接、修改UA
20240523 增加日志路径挂载、日志框架改为log4j2异步日志框架,调整启动服务默认不执行任务
20240524 修改日志打印、每日任务只同步每日更新、新增任务每7天同步一次全量数据、修改更新文件逻辑,文件时间戳改成网页上面的,而不去head请求网站,减少服务器压力,未设置同步网站的情况下随机从网站池中获取同步网站
20240526 每日任务增加启动任务前的一分钟内随机等待时间、修改同步全量文件的频次为每三天
20240529 保留两天日志、增加启动内存参数设置、完成时间打印优化
20240604 增加tg消息推送文件同步情况、机器人命令手动执行任务,新增参数tgToken、tgUserId,机器人命令包括/sync和/syncdir,syncdir后面追加指定路径参数可以同步指定路径数据,例如/syncdir 每日更新/电影/中国/
20240614 优化内存占用,减少无任务期间内存占用
20240629 增加是否重新下载本地0KB大小的文件 默认不启用0,启用填1
20240920 修改同步目录结构
docker部署
部署前参数需要修改
必要参数
/volume1/docker-data/xiaoya/xiaoya修改成媒体库路径
可选参数
runAfterStartup 启动是否立即执行同步任务 默认不启用0,启用填1
excludeList 排除列表 默认为空 设置不进行同步及删除的目录例如每日更新/动漫/.*,每日更新/动漫剧场版/.*
syncUrl 同步网站 不填默认从网站池中随机选一个 可选https://icyou.eu.org/或者https://lanyuewan.cn/
syncDir 同步路径 指定同步路径 默认空 同步全站,可填入 每日更新/电影/ 或者 每日更新/ 等具体的网站路径
tgToken tg机器人token,通过t.me/BotFather机器人创建bot获取token
tgUserId tg用户id,通过t.me/userinfobot机器人获取userId
tgUserName tg机器人名称 可不填
logLevel 日志级别 DEBUG INFO ERROR OFF
JAVA_OPTS 设置JVM参数 默认-Xms32m -Xmx512m
retryDownEmptyFile 是否重新下载本地0KB大小的文件 默认不启用0,启用填1
一键命令部署
修改/volume1/docker-data/xiaoya/xiaoya
为你的emby媒体库目录即可
docker run -d \
--name=xiaoya-sync \
--network="host" \
-v /volume1/docker-data/xiaoya/xiaoya:/data \
jacksaoding/xiaoya-sync:latest
docker CLI安装
docker run -d \
--name=xiaoya-sync \
--network="host" \
-e TZ=Asia/Shanghai \
-e runAfterStartup=0 \
-e excludeList="" \
-e threadPoolNum="99" \
-e syncUrl="" \
-e syncDir="" \
-v /volume1/docker-data/xiaoya/xiaoya:/data \
-v /volume1/docker/xiaoya-sync/log:/log \
jacksaoding/xiaoya-sync:latest
docker compose安装
version: "3"
services:
app:
container_name: xiaoya-sync
image: 'jacksaoding/xiaoya-sync:latest'
network_mode: "host"
environment:
TZ: Asia/Shanghai
runAfterStartup: 0
excludeList: ""
threadPoolNum: 99
syncUrl: ""
syncDir: ""
volumes:
- /volume1/docker-data/xiaoya/xiaoya:/data
- /volume1/docker/xiaoya-sync/log:/log