Emby Docker 数据库操作

介绍

Docker Emby方便之处不仅仅是容易搭建,连数据库转移也非常容易。

#简单记录 参见前面Docker Emby用法的介绍,把emby/config/root/rclone/ldfdsa00两个目录保持映射一致就可以实现vps之间emby数据库无痛转移。由于 docker 里面的结构是一样的,不需要我们操心。外面目录映射的原文件夹不管在哪儿都可以。给迁移数据带来极大的方便。等把00盘原来内容和茶先生的内容扫完,数据文件也共享出来,可以放到任何搭建好的新emby server里,按照如下操作,就可以恢复。并且自用的话,只需要删除/添加一下登陆用户就可以了

原数据库操作

以下都是按照之前文章的挂载操作,根据需要做相应改变

docker stop emby
apt install zip -y
cd /root/emby
zip config.zip ./config -r

目标数据库操作

之后把文件转移到目标VPS或者本地NAS,并拷贝到/root/emby目录下

docker stop emby
apt install zip -y
cd /root/emby
unzip /root/emby/config.zip
docker start emby

去新vps打开相关网页即可 域名和IP都可以。域名如果按照之前教程,直接走CDN

效果

美西小鸡emby 美西 目标小鸡emby JP

update

利用自建/900SA账号挂载Jan 11, 2020 at 10:49:49 AM

参考这里

适合暂时没有搞定自己的SA Group,想马上扫00盘/茶先生盘的童鞋

其实也可以一直用,100个SA,随便选一个挂上,即插即用

00盘用法Jan 5, 2020 at 9:06:54 PM

Jan 15, 2020 at 3:52:38 PM

Jan 16, 2020 at 11:28:11 AM

更新了/root/emby/config目录压缩包,自己替换

Jan 28, 2020 at 6:02:26 PM

更新了00盘的刮削内容

如果和我的目录设置一样的话,可以复制粘贴以下命令

cd /root/emby
docker stop emby
rm ./* -r
wget https://share.dxz.plus/BlogContent/embyconfig.zip
unzip embyconfig.zip
docker  start emby

Feb 2, 2020 at 12:37:53 PM

更新了挂载00盘的操作 方便小白

Feb 5, 2020 at 10:29:18 PM

vps上面搭server,配置差的,比如我用的这种。一定要关闭转码播放,不然emby擅自转码,小鸡很容易自爆 user

以上为更新内容

=======================================================

继续教程

rclone挂载,embydocker映射也和我的一样的话,下面命令

docker stop emby
cd /root/emby
rm config/ -r
wget https://share.dxz.plus/BlogContent/embyconfig.zip
unzip embyconfig.zip
docker start emby

justhost小鸡对联通不错,就是硬盘太小,只能把图片/字幕/nfo存GD,扫00盘

已经扫好的内容在。解压并替换你挂载的emby的config目录,登陆dxz,改名,加密码。

00盘在embyDocker内的目录结构为/00只要把00盘整个映射给/00

rclone挂载参考

 rclone mount dxz: /root/rclone/00   --allow-non-empty --allow-other   >/dev/null 2>&1 &      

docker pull命令参考:

docker run --name=emby -d -v /root/emby/config:/config   -v /root/rclone/00:/00    --net host  -e UID=1000  -e GID=100  -e GIDLIST=100 --restart unless-stopped  emby/embyserver:latest

这个和之前的配置基本一样,把00盘挂载到 /root/rclone/00 再映射给dockerEmby的00目录

所有影剧目录设置不用改,除了字幕之外都可以不选 movieshow 如果茶先生又更新,点击扫描资料库等待完成(先等我更新完00盘再扫)

整个扫完config的目录大小为106.77m,压缩包276m。5g的vps空间出去1G的缓存还剩2.1G,如果不做他用的话,再装50000部电影应该没有问题 JUSTHOST 由于整理影剧的工作都由茶先生牵头的小分队完成,我只是简单点几下识别,你的挂载只需要读取nfo就可以了,基本不会耗费什么流量。

Just Enjoy, Really

高级折腾,以茶先生共享盘为例

先搞定emby server

茶大已经把教程写好了,照做就OK。但是我的小鸡zip解压中文出问题,自己打包了一下。

还是引用一下:

总结一下执行步骤 :

  • 先确保关闭emby服务,sudo service emby-server stop

  • 删除/metadata/,/root/,/cache/,三个文件夹,以及/data/目录下的 library.db library.db-shm library.db-wal 三个文件, (emby目录一般在 var/lib 内,如果是docker搭建的,就在你自己配置的目录内)

  • 下载Zip包解压文件到对压存放位置:

emby/data/library.db emby/metadata/ emby/root/ emby/cache/ emby/data/collections/

  • 然后chown一下上面的文件, 999/998,(视你自己主机而定)

chown 999:998 /var/lib/emby/data/library.db chown -R 999:998 /var/lib/emby/metadata/ chown -R 999:998 /var/lib/emby/root/ chown -R 999:998 /var/lib/emby/cache/ chown -R 999:998 /var/lib/emby/data/collections/

着改一下媒体库的路径 编辑Emby/root/default/电影/options.xml 文件 把里面的<Path>L:\私人库\剧集\电影</Path> 改成<Path>/home/私人库/剧集/电影</Path>

MrTembyConfig

  • 再Rclone挂载到指定目录:/home/私人库/

rclone mount gdrive: /home/私人库 –巴拉巴拉巴拉

  • 最后重启emby服务:sudo service emby-server start 即可

不过其实上面是过程,知道怎么回事就行了。直接把我打包的文件夹替换emby的config文件夹 然后执行

chown 1000:users /var/lib/emby/data/library.db
chown -R 1000:users /var/lib/emby/metadata/
chown -R 1000:users /var/lib/emby/root/
chown -R 1000:users /var/lib/emby/cache/
chown -R 1000:users /var/lib/emby/data/collections/

上面的 1000:users 改成你自己的

到原来config 目录 随便选一个文件

ls -ld filename

就可以查到对应owner

再设置一下rclone挂载

其实用docker的话,rclone挂载在哪儿都无所谓,只要emby docker 拉取镜像的时候添加一个文件夹映射就可以了

docker run --name=emby -d -v /root/emby/config:/config   -v /root/rclone:/clone  -v /root/rclone/MrT:/home/私人库   --net host  -e UID=1000  -e GID=100  -e GIDLIST=100 --restart unless-stopped  emby/embyserver:latest

上面是把茶大的盘挂载到了/root/rclone/MrT 映射到docker里面为/home/私人库

搞定以后 docker start emby启动embyserver,自己把dxz用户删掉 改成自己用户 加上密码就算齐活儿

演示

刚刚弄好的,用kodi 的emby插件,可以顺畅1080P。

茶大的盘好就好在没有4k,小鸡和带宽压力瞬间变小。不过还是期待高峰表现。

实时vps embyserver 同步

群友@terrancesiu大佬介绍新方法,可以实时同步更新

大意(我理解,还没试)就是利用dropbox提供的增量同步,实现两个VPS之间数据实时更新,这样就可以完全自动化,连转移目录都省了

留个小坑,等试验成功的

rsync 同步embyserver资料库

docker版本

安装rsync

apt install rsync

在docker的embyserver搞定以后,先停止server

docker stop emby

然后进入任意位置建立同步排除文件(夹)列表,我这里放在/root/emby文件夹下

nano /root/emby/exclude.txt

然后填入如下内容,根据你的情况作相应更改,如果和我配置一样,就不用改

data/authentication.db-*
/logs
/home/dxz/emby/config/logs
/home/dxz/emby/config/config
/home/dxz/emby/config/root
/home/dxz/emby/config/plugins
/home/dxz/emby/config/transcoding-temp
data/users.db*
data/library.db-*
data/devices
data/activitylog.db-*
data/ScheduledTasks
cache

然后进行rsync同步

rsync -uavzP [email protected]:/home/dxz/emby/config/ /root/emby/config/  --exclude-from '/root/emby/exclude.txt'

中间会提示输入密码:dxz /root/emby/config/目录是docker的emby/config目录,'/root/emby/exclude.txt'是排除文列表,根据需要更改,其他不用动

第一次几乎要把5G多的东西从我的小鸡下载到你的小鸡(或者是做对比,具体我也不知道),由于我上传只有40m,所以要很久。之后就会快,2分钟以内可以搞定

之后删掉一个文件

rm /root/emby/config/library.db-wal

再重启emby

docker restart emby

这个方法有个缺点,无法保留一些自定义设置和播放记录。如果茶先生有更新的话,他会把更新内容整理好放出来。当然,你的embyserver如果和茶先生设置一致的话,她会自行发现并刮削新增内容,虽然速度慢,但是全自动,按照相应规则应该可以刮削出来。茶先生有大的更新,那就只能在我的小鸡更新以后再同步一遍

其实可以再embydocker搭建完成就直接rsync演示🐔的配置文件,但是由于我设置了管理员密码,所以到了本地只有dxz这个演示用户可用。所以才有上述添加排除列表的需求

另外也可以用docker版的dropbox来做增量同步,但是那样的话需要用dropbox账户,并且每次授权都要dropbox所有者确认,比较麻烦,所以暂时先不做实验了,如果dropbox效果优于rsync的话,会更新。毕竟rsync也是增量同步,第二次以后的同步会很快

直装版本

Forwarded from 茶先生

安装运行Verysync,(感谢emeng推荐)

VerySync 密匙 :B3APU22XOPA3TOYUKHWHL47MFGN4SXVX24H7VIFC36TLCL3CAK7KFU4

添加这个密匙后会开始同步我的emby整个文件夹,P2P速度很快

Windows到这就结束了,同步完后就直接用就行了

用Raidrive把私人库挂载到L盘即可(必须L盘)

这样一来,只要保持verysync后台运行,就能一直同步更新

哦 对了 emby默认账号密码

OldGoodGuy diudiu

Forwarded from 茶先生

Linux第一次使用需要一些操作

我们先设置Verysync同步文件到/home/emby/文件夹下

同步完之后,进入Emby后台设置

设置-缓存路径-/home/Emby/programdata/

媒体库 -高级-设置资料文件夹:/home/Emby/programdata/

programdata文件夹给写入权限,保存后关闭Emby

sudo service emby-server stop 替换以下文件夹

cp -r -f /home/Emby/programdata/Linux/root /var/lib/emby cp -r -f /home/Emby/programdata/data/collections /var/lib/emby/data 删除替换数据库文件,并修改用户组为emby:emby不改无法启动)

rm /var/lib/emby/data/library.db-shm rm /var/lib/emby/data/library.db-wal cp -r -f /home/Emby/programdata/Linux/library.db /var/lib/emby/data chown -R emby:emby /var/lib/emby/data/library.db (注意emby:emby需要改成你自己的emby所属用户组,看同文件夹内其他文件是什么用户组,就改那个) 重启Emby即可

之后rclone务必挂载团队盘到 /home/私人库/内, 不然数据库无法关联到媒体文件,无法播放 例如:

rclone mount gdrive: /home/私人库 –巴拉巴拉巴拉 如果需要挂载到别的路径,自己修改数据库

重启Emby,大功告成

以后每次更新,因为所有资料夹文件都会自动同步,因此只需要替换数据库即可 一次性运行以下命令

sudo service emby-server stop rm /var/lib/emby/data/library.db-shm rm /var/lib/emby/data/library.db-wal cp -r -f /home/Emby/programdata/Linux/library.db /var/lib/emby/data chown -R emby:emby /var/lib/emby/data/library.db sudo service emby-server start ####Update:Jan 24, 2020 at 12:14:33 PM Q:用very sync同步完Emby后,结果打开本地的emby网页提示拒绝访问 A:这是因为网页同步到了以下这些数据库的临时文件造成的

\Emby\programdata\data\activitylog.db-shm \Emby\programdata\data\activitylog.db-wal \Emby\programdata\data\authentication.db-shm \Emby\programdata\data\authentication.db-wal \Emby\programdata\data\displaypreferences.db-shm \Emby\programdata\data\library.db-shm \Emby\programdata\data\library.db-wal \Emby\programdata\data\users.db-shm \Emby\programdata\data\users.db-wal 删除这些文件后再运行就行了。 那么如何防止这个现象再次发生呢?

只需添加过滤规则即可 打开VerySync网页,右键你的Emby文件夹-忽略文件列表

输入 emby 过滤列表 防止出现访问拒绝问题 (?d).db- 如果想保留自己建立的用户和观看进度,则继续添加以下代码后保存即可 #保留自己建立的用户和观看进度 (?d)users.db* (?d)authentication.db* (?d)activitylog.db* (?d)displaypreferences.db* 这样,以后就不会出现拒绝访问的问题了。

verysync docker操作

这里吧verysync的目录设为/home/dxz/MrT(根据需要自己更改)EmbyserverDocker目录设为/home/dxz/emby/config

verysync同步完之后,进入Emby后台设置

设置-缓存路径-/home/dxz/MrT/programdata/

媒体库 -高级-设置资料文件夹:/home/dxz/MrT/programdata/

programdata文件夹给写入权限,保存后关闭Emby

docker emby stop

替换以下文件/夹

rm /var/lib/emby/data/library*
cp -r -f /home/dxz/MrT/programdata/data/collections /home/dxz/emby/config/data/collections
cp -r -f /home/dxz/MrT/programdata/metadata /home/dxz/emby/config/metadata
cp -f /home/dxz/MrT/programdata/Linux/library.db /home/dxz/emby/config/data/
chown -R 1000:users /home/dxz/emby/config/data/library.db

(注意1000:users需要改成你自己的emby所属用户组,看同文件夹内其他文件是什么用户组,就改那个)

之后rclone务必挂载团队盘到/home/私人库/内,不然数据库无法关联到媒体文件,无法播放,由于是docker,改下pull命令就可以了

docker stop emby
docker rm emby
docker run --name=emby -d -v /home/dxz/emby/config:/config   -v /root/rclone:/clone  -v /root/rclone/MrT:/home/私人库   --net host  -e UID=1000  -e GID=100  -e GIDLIST=100 --restart unless-stopped  emby/embyserver:latest

以后每次更新,因为所有资料夹文件都会自动同步,因此只需替换数据库文件,一次性运行以下命令

docker stop emby
rm /home/dxz/emby/config/data/librar*
cp -r -f /home/dxz/MrT/programdata/cache /home/dxz/emby/config/cache
cp -r -f /home/dxz/MrT/programdata/data/collections /home/dxz/emby/config/data/collections
cp -r -f /home/dxz/MrT/programdata/metadata /home/dxz/emby/config/metadata
cp -r -f /home/dxz/MrT/programdata/Linux/library.db /home/dxz/emby/config/data/
chown 1000:users /home/dxz/emby/config/data/library.db
docker start emby

之所以重复拷贝cp -r -f /home/dxz/MrT/programdata/metadata /home/dxz/emby/config/metadata是因为verysync付费版本才可以选择目录,这一点不如rsync实在,不过已经很方便了。稍微浪费一点点磁盘空间。

目前正在扫00盘里的茶先生电影备份,nfo和图片字幕都存到gdrive了。所以可以像之前00盘的用法一样,直接扫。优点是几乎不占用vps空间,缺点嘛,打开emby载入图片稍微慢一点(速度取决于vps的google的速度)

另外茶先生正在做00盘并入私人盘的工作,等完成以后,直接扫00盘里面的茶先生文件夹即可,movie和show都可以删掉了

大体是这样了,我在演示服务器已经成功,欢迎围观 emby.giagia.ga

再次感谢茶先生的无私精神

排错

emby无法读取挂载目录

如果是在docker环境下,检查创建/拉取容器的命令里面是否有给容器root权限参数

-e UID=1000  -e GID=100  -e GIDLIST=100 

rclone挂载命令是否有

--allow-non-empty --allow-other

金牌大学渣
WRITTEN BY
金牌大学渣
Web Developer