再来谈谈Emby+Google Drive的私人影视库搭建
经过几个月的摸索,基于Emby+Google Drive的私人影视库算是进入生产模式了。
上回说到:《Docker部署EMBY》,那今天就来谈谈我的部署,希望对你有所启发。
如果你是在本地部署,推荐购买N1盒子,可以参考《N1盒子搭载Armbian运行Emby媒体服务》。
如果你希望部署便捷实用的远程半自动下载机,可以参考《BUYVM下载机部署指南》。
一、关于Emby和Plex的选择
其实很早以前我就冲动地买了Plex 终身Pass,但不论从插件还是UI,总觉得Plex的设计逻辑和审美还停留在十年前,虽然今年Plex的免费电视直播和免费影视剧的内容提升很大,但终究这不是一款IPTV的工具呀。
而后,试用了一段时间Jellyfin,老实讲,如果不是资料库强迫症患者,Jellyfin用户没必要切换成付费的Emby用户,Jellyfin尴尬的介于Plex和Emby之间的资料库整理结果,让我不得不上了Emby的车。
总之,如果你想要炫酷的海报墙,相对完整的片源资料信息,Emby是不二选择。
二、关于Emby的部署
一开始,我是把Emby部署在家里的N1盒子里的,Docker模式。虽然家里有QNAP NAS,但Emby启动扫描模式时对CPU的摧残,一度让我想把家里的NAS换掉。
在本地部署Emby,用Rclone挂载GD、TD、OD或者本地NAS里的片源,读取本地片源特别流畅,但一旦播放GD,对科学上网的线路要求就很高了。碰上晚高峰,就基本别想痛快地观影。即便用中转。
于是,我开始把Emby部署在国外VPS上。
考虑到Emby一旦进入扫描模式,特别吃资源,故购买了一台ColoCrossing 24刀独服(E3-1240V3 16G)4核4G的机器。当然,我也入手了一台Cloudcone的圣诞节促销款,2核3G机器,也很美好。带宽,建议是200M以上,这样和GD通讯起来有基本保障。
三、关于网络优化
谁都知道,只要是国外VPS,网络环境都很不确定,那么到底是挂代理看,还是中转,还是反向代理来加速呢?
我的建议是如果有条件用中转,就没必要挂代理。
我现在的方式是,把Emby部署在美西三网直连的独服上,再用白丝云美西4837反代。LVPS的4核AMD机器上,由于这台机器在德国HETZNER机房,于是我又购买了一台Olink的德国AS9929专线来中转。这样一来,每一个环节都几乎没有损耗,搭配上家里的联通G口宽带,Emby的体验就变得美好起来了。
如果想少花钱,可以直接买国内NAT机。
或者不想折腾,直接买端口转发服务也可以。
比如NekoNeko的中转服务,碳云最近上线了端口转发服务,线路众多,体验也不错。
四、关于部署Emby的几项核心技术
哪有什么核心技术,无非就是要掌握
1、安装SWAP和BBR
如果是高内存机器,SWAP可以不用装。
如果是低内存,一定要装,否则一旦开始定时扫描,就没办法正常使用了。
安装脚本来自:Rat's Blog
wget https://www.moerats.com/usr/shell/swap.sh && bash swap.sh
BBR是必须要安装的,脚本来自:秋水逸冰
如果是Ubuntu或者Debian之类,安装过程很简单,如果是CentOS,建议去源站查看完整版教程。
wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh
chmod 755 /opt/bbr.sh
/opt/bbr.sh
检查:
uname -r
#查看内核版本,显示为最新版就表示 OK 了
sysctl net.ipv4.tcp_available_congestion_control
#返回值一般为:net.ipv4.tcp_available_congestion_control = bbr cubic reno
#或者为:net.ipv4.tcp_available_congestion_control = reno cubic bbr
sysctl net.ipv4.tcp_congestion_control
#返回值一般为:net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
#返回值一般为:net.core.default_qdisc = fq
lsmod | grep bbr
#返回值有 tcp_bbr 模块即说明 bbr 已启动。注意:并不是所有的 VPS 都会有此返回值,若没有也属正常。
2、安装Rclone并挂载、安装Docker、安装Docker版Emby
#安装Rclone:
curl https://rclone.org/install.sh | sudo bash
#配置:
rclone config
#安装Docker
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
#拉取和安装EMBY
docker pull emby/embyserver:latest
docker run -d --name=emby --restart=always -v /root/emby/config:/config -v /root/emby/share1:/mnt/share1 -v /root/emby/share2:/mnt/share2 -p 8096:8096 -p 8920:8920 -e UID=1000 -e GID=100 -e GIDLIST=100 emby/embyserver:latest
完整内容请看这里:Docker部署EMBY
3、配置端口转发或配置中转机器
端口转发很简单,访问端口转发面板,填入Emby的IP或域名及端口号,转发成功后,用端口转发面板给出的IP地址和端口访问就行了。
中转机器的配置其实也很简单,可以用这篇文章介绍的firewalld模式,也可以直接用系统自带的iptables模式。
当然,如果你中转机器很多,也可以部署一个中转管理面板,比如极光面板就非常好用。
关于极光面板的部署,请参考这里。
五、【2021.01.27更新】用Caddy部署端口反代
一直想用80和443来访问Emby,但一直没好好学习Caddy,毕竟只是个端口反代,也没必要部署Nginx,恰好今天有空,就用Caddy部署一下,遂记录:
1、安装Caddy
#添加caddy官方的软件源,更新软件包并安装caddy v2
echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
| sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
sudo apt update
sudo apt install caddy
2、配置Caddyfile
nano /etc/caddy/Caddyfile
xx.xx.xx {
reverse_proxy localhost:8096
}
3、其他Caddyfile用法
#普通建站
xx.xx.xx:80 {
respond "Hello, Bitch!"
}
xx.xx.xx:443 {
respond "Hello, Bitch!"
}
#卸载Caddy
Caddy的二进制文件的位置应该为如下两处之一
/usr/bin/caddy
/usr/local/bin/caddy
直接删除这个二进制文件,并停止服务,再手动kill进程或重启。
rm -rf /usr/bin/caddy
systemctl disable caddy.service
或者
sudo rm /etc/apt/sources.list.d/caddy-stable.list
sudo apt remove caddy
#Caddy会自动签署SSL证书,证书存放在
/var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory
4、Caddy的操作命令
systemctl enable caddy.service # 开机启动
systemctl start caddy.service # 启动
systemctl stop caddy.service # 停止
systemctl restart caddy.service # 重启
systemctl status caddy.service # 查看状态
systemctl daemon-reload # 重载配置
相关阅读: