说明:最近发现了一个很强的多媒体项目Cloudbox
,差不多是一个基于Docker
的盒子,基本上里面所有的应用都是为多媒体打造,包括自动搜索影视、下载、播放等等,常见的应用包括Plex
/Emby
、Rclone
/Plexdrive
、ruTorrent
、Nextcloud
、Resilio Sync
,然后还有一大批不常见但很有用的应用,接下来都会大概介绍下,不然用起来很麻烦,博主只是大概的看了下。
Cloudbox
又分为Mediabox
(多媒体服务)、Feederbox
(下载服务),你可以在一台服务器上部署完整的Cloudbox
,这样会使用所有的应用,也可以在2
台服务器上分别部署Mediabox
和Feederbox
,然后分工一起配合使用,这些具体会安装以下应用:
#Cloudbox
Rclone、Plexdrive、NZBGet、ruTorrent、NZBHydra2、Jackett、Plex Media Server、Plex Autoscan、Sonarr、Radarr、PlexPy(Tautulli)、Ombi、Portainer、Organizr
#Feederbox
Rclone、Plexdrive、NZBGet、ruTorrent、NZBHydra2、Jackett、Sonarr、Radarr、Portainer、Organizr
#Mediabox
Rclone、Feeder Mount、Plexdrive、Plex Media Server、Plex Autoscan、PlexPy(Tautulli)、Ombi
#可选应用
Emby、Nextcloud、Resilio Sync、Plex Dupefinder、Heimdall、NZBHydra v1、Plex Requests、Sickbeard MP4 Automator
大概介绍下应用:
Sonarr:Usenet和BitTorrent用户的一款RSS订阅工具。它可以监视你喜欢的多个电影、剧集的更新提醒,并将它们抓取、排序和重命名。
Radarr:Sonarr的独立分支,用于通过Usenet和BitTorrent自动下载电影。
Rclone/Plexdrive:远程存储网盘挂载工具,后者只能挂载Google Drive。
NZBGet/ruTorrent:分别为Usenet和BitTorrent下载工具,可以配合Sonarr和Radarr一起下载资源。
NZBHydra2:是NZB索引者的元搜索工具。它可以方便地访问许多NZB索引器。您可以从一个位置搜索所有索引器,并将其用作Sonarr,Radarr或CouchPotato等工具的索引器源。
Jackett:是一个基于Web的应用程序,其作用类似于代理服务器,将搜索查询从下载客户端(例如Sonarr)引导到torrent跟踪器站点并将结果发回。下载客户端也可以使用Jackett从跟踪器站点获取RSS源。最后,它可以用作元搜索工具,直接从应用程序中查找种子。
Plex Autoscan:可以扫描已导入的文件夹(相对于整个部分库文件夹),协助Plex添加由Sonarr/Radarr导入的添加媒体文件,从而减少Google API使用过多而被限制。
PlexPy:是一个基于Web的应用程序,与Plex一起运行,用于监视活动并跟踪各种统计数据。
Ombi:是一个自托管的Web应用程序,可以自动为你的共享Plex或Emby用户提供自己请求内容的功能!Ombi可以链接到多个电视节目和电影DVR工具,为你创建无缝的端到端体验。
Portainer:是一个开源轻量级管理UI,可让您轻松管理Docker容器,图像,网络和卷。
Organizr:是一个基于Web的HTPC服务器管理器,允许您管理选项卡中的各种工具和程序。还支持用户管理,允许非管理员用户或访客通过Organizr访问某些网页。
Plex/Emby:多媒体客户端,主要功能是存储+索引+转码+在线播放。
Nextcloud:一个免费的,开源的网盘程序
Resilio Sync:一个点对点的文件同步工具
Plex Dupefinder:用了在Plex库中找到重复版本的媒体,并告诉Plex自动删除最低质量版本(基于评分算法),留下一个高质量的媒体文件。
Heimdall:用来添加各种链接地址的Web面板
Sickbeard MP4 Automator:自动将视频文件转成mp4的工具
其实这些应用配合起来看起来很强大,但玩的有点懵逼。
如果你觉得你服务器空间不太够,可以配合Rclone
/Plexdrive
挂载远程存储一起使用,比如Google Drive
,Cloudbox
也是只建议使用Gdrive
网盘,如果你没有无限空间的Gdrive
,可以查看该文章免费申请一个→传送门。
Cloudbox运作过程
Cloudbox
通过Sonarr
下载您最喜爱的电视节目,Radarr
下载您喜爱的电影。两者都使用Usenet
(通过NZBGet
)和/或Torrent
(通过ruTorrent
)来完成。
下载完成后,Sonarr
和Radarr
会将这些下载内容移至服务器的/mnt/local/Media/
文件夹,并向Plex Autoscan
发送通知。
反过来,Plex AutoScan
将通过扫描特定的视频文件夹告诉Plex
扫描新下载的电视节目或电影。然后会更快地出现在Plex
中,而不需要扫描全部的视频库,这样可以减少Cloud Storage API
使用次数,导致被限制。
Cloudplow
最终会将所有内容从远程云存储上/mnt/local/Media/
命名的文件夹移动Media
,从而减少服务器上的存储空间。
在此迁移期间,媒体文件将继续可供媒体服务器(例如Plex
)访问,因为远程云存储(例如Google Drive
)将挂载在服务器上。
准备工作
一台国外的服务器,建议内存2G
以上、硬盘的话官方是建议200G
,这里的话20G
以上就可以了,最好越大越好,内存不够的可以用下Swap
一键脚本→传送门。
一个Plex
账户,注册地址→传送门。
一个一级域名,并将该域名的DNS
服务器迁移到Cloudfare
,再解析类似*.moerats.com
泛域名到服务器ip
。
如果你不想迁移域名也可以,不过要解析多个二级域名到服务器ip
,具体操作查看→传送门。
安装
Github地址:https://github.com/Cloudbox/Cloudbox
支持系统:Ubuntu 16.04
或18.04
,仅限64
位系统,这里Debian
系统貌似也可以,不过最好是用Ubuntu
,不然可能会有问题。
1、新建用户
这里别用root
用户安装,不会会有部分应用可能用不了,所以需要新建一个普通用户,如果你有普通用户的可以跳过这一步。
#新建moerats用户
useradd -m moerats
#获取sudo权限
usermod -aG sudo moerats
#设置密码等
passwd moerats
chsh -s /bin/bash moerats
2、安装依赖
使用步骤1
设置的普通用户登录SSH
,使用命令:
curl -s https://cloudbox.works/scripts/dep.sh | sudo -H sh; curl -s https://cloudbox.works/scripts/repo.sh | bash
或者
wget -qO- https://cloudbox.works/scripts/dep.sh | sudo -H sh; wget -qO- https://cloudbox.works/scripts/repo.sh | bash
3、编辑配置文件
cd ~/cloudbox
#编辑下载和备份目录,该配置可以默认
nano settings.yml
#编辑登录等信息
nano accounts.yml
settings.yml
应该都看的懂,这里说下accounts.yml
,大致参数意思如下:
#user为普通用户名称,passwd为登录密码,也就是所有应用Web端登录信息
user: moerats
passwd: moeratspasswd
#domai为解析的一级域名
domain: moerats.com
#email和api为cloudfare的登录邮箱和api,api获取地址https://www.cloudflare.com/a/profile
email: admin@moerats.com
cloudflare_api_token: 4993d7315d
#plex用户名和密码
plex:
user:
pass:
#pushover为推送应用,这个如果你觉得配置麻烦,可以留空,不影响安装
pushover:
app_token: ap36cqsi5w
user_key: u2wtotir3
priority: 1
这里的pushover
起到推送作用,就是一般在下载完成,备份完成等一些操作会自动推送给你,有安卓/IOS
/桌面端,具体使用查看→传送门,这里的token
和key
貌似好填,这里只说下priority
参数为通知优先级,不会设置的,建议设置为1
,也就是高优先级,如果你希望你不要错过推送消息,那就设置2
,不过2
会一直打扰你,直到你点开消息为止。
4、安装
#安装Cloudbox
sudo ansible-playbook cloudbox.yml --tags cloudbox
#安装Feederbox
sudo ansible-playbook cloudbox.yml --tags feederbox
#安装Mediabox
sudo ansible-playbook cloudbox.yml --tags mediabox
安装的时候,使用Cloudfare
的会自动给你解析好域名,并签发SSL
证书。访问地址如下:
Jackett:https://jackett.yourdomain.com
NZBGet:https://nzbget.yourdomain.com
NZBHydra2:https://nzbhydra2.yourdomain.com
Organizr:https://organizr.yourdomain.com
Plex:https://plex.yourdomain.com
WebTools for Plex*:http://plex.yourdomain.com:33400
Plexpy (Tautulli):https://plexpy.yourdomain.com
Plex Requests:https://plexrequests.yourdomain.com
Portainer:https://portainer.yourdomain.com
Radarr:https://radarr.yourdomain.com
ruTorrent:https://rutorrent.yourdomain.com
Sonarr:https://sonarr.yourdomain.com
其它可选安装:
#安装Emby
sudo ansible-playbook cloudbox.yml --tags emby
#安装Nextcloud
sudo ansible-playbook cloudbox.yml --tags nextcloud
#安装Resilio Sync
sudo ansible-playbook cloudbox.yml --tags resilio-sync
#安装Plex Dupefinder
sudo ansible-playbook cloudbox.yml --tags plex_dupefinder
#安装Heimdall
sudo ansible-playbook cloudbox.yml --tags heimdall
#安装NZBHydra v1
sudo ansible-playbook cloudbox.yml --tags nzbhydra
#安装Plex Requests
sudo ansible-playbook cloudbox.yml --tags plexrequests
使用
操作之前需要先了解下服务器本地路径和Google Drive
路径,这里以默认的settings.yml
参数为参考。
#Google云端硬盘路径
Media
├── Movies #电影文件夹
├── Music #音乐文件夹
└── TV #电视文件夹
#本地路径
mnt
├──local
| └── Media #存储在本地的媒体文件
├──remote
| └── Media #存储在Google Drive的媒体文件
└──unionfs
└── Media #Plex,Sonarr和Radarr在扫描媒体时读取的文件夹。
Google Drive
上的文件夹需要我们自己建立,具体参考→传送门。
这里会定期检本地local
路径的大小(默认为30
分钟)。当文件夹大小达到其目标(默认为200GB
)时,媒体文件将被移出/上传到云端,从而释放本地磁盘空间。
这里的默认阈值是可以修改的,编辑配置文件:
sudo nano /opt/cloudplow/config.json
检查时间间隔和默认值大致参数如下:
"uploader": {
"google": {
"check_interval": 30,
"exclude_open_files": true,
"max_size_gb": 200,
"opened_excludes": [
"/downloads/"
],
"size_excludes": [
"downloads/*"
]
}
check_interval
为时间间隔(默认分钟),max_size_gb
为大小(默认G
),建议最低2G
。更多参数配置参考→传送门。
最后重启生效:
sudo systemctl restart cloudplow
1、配置Rclone
这里Rclone
的作用大概就是将备份/媒体文件上传至Google Drive
,使用命令:
rclone config
name
那里需要命名google
,具体过程查看→传送门。
2、配置PlexdrivePlexdrive
的作用就是让Plex
从Google Drive
读取媒体文件,利用缓存加快读取和减少api
使用,先获取谷歌API
凭据,获取步骤参考→传送门,然后使用命令:
#先替换之前的plexdrive二进制,不然后面有个参数会不支持
wget https://github.com/dweidenfeld/plexdrive/releases/download/5.0.0/plexdrive-linux-amd64
mv plexdrive-linux-amd64 /opt/plexdrive4/plexdrive
chmod +x /opt/plexdrive4/plexdrive
#挂载配置
sudo /opt/plexdrive4/plexdrive mount -v 3 --refresh-interval=1m --chunk-check-threads=8 --chunk-load-threads=8 --chunk-load-ahead=4 --max-chunks=100 --fuse-options=allow_other,read_only --config=/opt/plexdrive4 --cache-file=/opt/plexdrive4/cache.bolt /mnt/remote
然后会要你输入客户端ID
和密匙,再打开获取到的链接绑定账号后,将自己获取到的code
复制到SSH
客户端确定即可。
新建一个Systemd
配置文件,使用命令:
sudo nano /etc/systemd/system/plexdrive.service
先修改下面的用户和用户组,然后一起复制进去。
[Unit]
Description=Plexdrive Mount
After=network-online.target mongodb.service
[Service]
User=moerats
Group=moerats
Type=simple
ExecStartPre=/bin/sleep 10
ExecStart=/opt/plexdrive4/plexdrive mount \
--refresh-interval=1m \
--chunk-size=16m \
--fuse-options=allow_other,read_only \
--config=/opt/plexdrive4 \
--chunk-check-threads=4 \
--chunk-load-threads=4 \
--chunk-load-ahead=4 \
--max-chunks=20 \
-v 3 \
/mnt/remote
ExecStop=/bin/fusermount -uz /mnt/remote
Restart=always
RestartSec=5
[Install]
WantedBy=default.target
再使用Ctrl+x
、y
保存退出。
启动:
sudo systemctl start plexdrive
配置开机自启:
sudo systemctl enable plexdrive
查看状态:
sudo systemctl status plexdrive
显示Active:active(running)
即为成功。
最后其它应用程序使用可以直接看Github
,写的很详细了,地址参考:
NZBGet:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-NZBGet
ruTorrent:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-ruTorrent
NZBHydra2:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-NZBHydra2
Jackett:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-Jackett
Plex Media Server:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-Plex-Media-Server
Plex Autoscan:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-Plex-Autoscan
Sonarr:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-Sonarr
Radarr:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-Radarr
PlexPy(Tautulli):https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-PlexPy-%28Tautulli%29
Ombi:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-Ombi
Portainer:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-Portainer
Organizr:https://github.com/Cloudbox/Cloudbox/wiki/Install%3A-Organizr
Emby:https://github.com/Cloudbox/Cloudbox/wiki/Extras%3A-Emby
Nextcloud:https://github.com/Cloudbox/Cloudbox/wiki/Extras%3A-Nextcloud
Resilio Sync:https://github.com/Cloudbox/Cloudbox/wiki/Extras%3A-Resilio-Sync
Plex Dupefinder:https://github.com/Cloudbox/Cloudbox/wiki/Extras%3A-Plex-Dupefinder
Heimdall:https://github.com/Cloudbox/Cloudbox/wiki/Extras%3A-Heimdall
NZBHydra v1:https://github.com/Cloudbox/Cloudbox/wiki/Extras%3A-NZBHydra
Plex Requests:https://github.com/Cloudbox/Cloudbox/wiki/Extras%3A-Plex-Requests
Sickbeard MP4 Automator:https://github.com/Cloudbox/Cloudbox/wiki/Extra%3A-Sickbeard-MP4-Automator
这里有几个不是很了解,全部应用一起用起来很懵逼,脑壳大,只能用上部分应用,最后有兴趣的可以自己研究下,没兴趣的就当有这个牛逼项目存在就好了。
相关教程
- swizzin:一个轻量级的多用户SeedBox,一键安装网盘/BT下载/多媒体应用等
- 一个可以自动安装多网站程序的面板 :YunoHost安装教程
- qBittorrent+Deluge+rTorrent+Transmission+H5ai多功能一键脚本
版权声明:本文为原创文章,版权归 Rat's Blog 所有,转载请注明出处!
本文链接:https://www.moerats.com/archives/867/
如教程需要更新,或者相关链接出现404,可以在文章下面评论留言。
能把google driver换成onedrive吗 gdrive慢
有的话是可以的
挂plexdrive时,出现mount helper error: fusermount: if you are sure this is safe, use the 'nonempty' mount option ,不能启动plexdrive 求助
请有要什么服务器推荐,看官方的说明,对VPS支持不好//
肯定独立服务器好,不过性能好点的vps也行
这里安装完之后还可以装宝塔嘛,会不会有冲突呢?
应该可以,只要8888端口没占用就行
不能开启CF 的 cdn 怎么办呀
博主,准备那里似乎是cloudflare吧,但是cloudflare不支持解析泛域名啊
支持的
可是我在cloudflare解析泛域名时他会提示“您的计划支持对通配符记录使用 DNS 服务。要为通配符记录启用性能服务和安全服务,需要升级您的计划”
额,我好像之前就用过,免费计划
Hi thanks for the interest in the project. The instructions here are quite old. Plexdrive is an option now, so you can have it installed and setup automatically by just changing mount type in adv_settings.yml - no need to install it manually
大佬这是什么情况
ERROR! The field 'loop' is supposed to be a string type, however the incoming data structure is a <class 'ansible.parsing.yaml.objects.AnsibleSequence'>
The error appears to have been in '/home/user1/cloudbox/roles/pre_tasks/tasks/subtasks/apt.yml': line 11, column 3, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
name: APT | Remove APT locks^ here
这个问题不清楚,没遇到过
大佬有出现 了新问题,配置plexdrive的时候
执行 user1@server1:~/cloudbox$ mv plexdrive-linux-amd64 /opt/plexdrive4/plexdrive
出现:mv: cannot move 'plexdrive-linux-amd64' to '/opt/plexdrive4/plexdrive': No such file or directory
咋办
明白了,估计是系统问题,我用的centos系统,有些命令没法执行
看说明,不支持centos
害,我用的乌班图也出现这个问题了
果然是挺强大的。
强大到玩不转。
你好,请问能否交换友联
可以去这个地方写一下信息,有空我会加上。https://www.moerats.com/links.html
所以,这就是个媒体服务的综合解决方案?可以将资源下载、媒体服务器管理、通知、转码等功能集成到cloudbox这一个容器中?
基本上是这样