前言
随着网络视频资源的丰富,搭建私人影视库变得越来越受欢迎。本文将介绍如何搭建一个全自动化的影视库系统,从资源获取到观看体验,实现完全自动化的流程。
方案概述
本文将介绍两种方案:
- 本地 NAS 存储方案
- 网盘存储方案
所需组件及其作用
基础设施
- NAS/VPS:作为整个系统的硬件基础
- NAS:本地存储服务器,用于存储影视文件
- VPS:云服务器,用于运行各种服务
- Docker:容器化平台,用于统一管理和部署各种服务
媒体管理
- Emby:媒体服务器,提供影视内容的展示、播放和管理界面
- MoviePilot:自动化下载工具,支持订阅电影、剧集,自动搜索和下载资源
下载工具
网盘方案专用组件
两种方案所需组件对比
本地NAS方案需要:
- NAS
- Docker
- Emby
- MoviePilot
- qBittorrent
- ani-rss
- BT/PT资源
网盘方案需要:
- VPS
- Docker
- Emby
- MoviePilot
- AutoFilm
- Alist
- Rclone
- qBittorrent
- ani-rss
- BT/PT资源
我这里主要是使用得网盘方案,nas的方案直接删除对应的几个组件即可。
详细配置步骤
1. 基础环境配置
首先需要在VPS上安装Docker:
# 安装Docker
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
#跟着脚本提示走即可安装完毕。
2. 下载工具配置
2.1 qBittorrent安装
qBittorrent用于下载BT/PT资源:
docker run -d \
--name=qbittorrent \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e WEBUI_PORT=58427 \
-e TORRENTING_PORT=54628 \
-p 58427:58427 \
-p 54628:54628 \
-p 54628:54628/udp \
-v /root/qbit/config:/config \
-v /root/qbit/downloads:/downloads \
--restart unless-stopped \
linuxserver/qbittorrent:latest
安装完成后访问 http://your-ip:58427
进行配置,然后使用docker logs -f qbittorrent
来查看生成的密码,默认账户时admin
2.2 Ani-RSS安装
蜜柑计划:官网
用于自动追番的工具:
docker run -d \
--name ani-rss \
-v /root/ani-rss/config:/config \
-v /root/qbit/downloads:/Media \
-p 7789:7789 \
-e PORT="7789" \
-e CONFIG="/config" \
-e TZ=Asia/Shanghai \
--restart always \
wushuo894/ani-rss
访问 http://your-ip:7789
进行配置,可以添加蜜柑计划的RSS订阅。
默认配置
名称 | 参数 |
---|---|
端口 | 7789 |
用户名 | admin |
密码 | admin |
这里主要讲一下保存位置,这里填写的时推送到qb下载器的保存位置,也就是你qb的额下载位置。
具体的设置文档参考:官方文档
到这里其实你就已经完整了自动化追番的一步了。附完成界面。
3. 媒体管理工具
3.1 MoviePilot安装
自动化媒体管理工具:
docker run -itd \
--name moviepilot-v2 \
--hostname moviepilot-v2 \
--network host \
-v /root/qbit/downloads:/media \
-v /moviepilot-v2/config:/config \
-v /moviepilot-v2/core:/moviepilot/.cache/ms-playwright \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-e 'NGINX_PORT=3000' \
-e 'PORT=3001' \
-e 'PUID=0' \
-e 'PGID=0' \
-e 'UMASK=000' \
-e 'TZ=Asia/Shanghai' \
-e 'SUPERUSER=admin' \
--restart always \
jxxghp/moviepilot-v2:latest
访问 http://your-ip:3000
进行配置。,默认账户admin,密码:需要你去查看/config/logs/moviepilot.log。里面有密码,注意登录之后修改掉哦。
这里还需要注意的点呢就是,mp需要你有pt的认证站点才可以使用里面的功能,没有或者你不知道什么时pt的话,你就去谷歌或者百度吧。
详细设置教程:官方文档
4. 网盘工具配置
4.1 Alist安装
网盘挂载工具:
docker run -d --restart=unless-stopped \
-v /etc/alist:/opt/alist/data \
-p 5244:5244 \
-e PUID=0 \
-e PGID=0 \
-e UMASK=022 \
--name="alist" \
xhofe/alist:latest
访问 http://your-ip:5244
进行配置,默认账号密码在容器日志中查看。或者使用脚本安装curl -fsSL "https://alist.nn.ci/v3.sh" -o v3.sh && bash v3.sh
然后在alist里面添加对应的存储即可,官方文档
4.2 Rclone安装
sudo -v ; curl https://rclone.org/install.sh | sudo bash
安装后需要配置网盘:
rclone config
这里其实很重要的,也就是整个网盘形式影视库的重点,涉及到了文件的上传,这里我简述一下具体操作。首先rlcone添加你的网盘,然后把网盘挂载到qb的下载路径下,也就是/root/qbit/downloads/xxx
,这里的xxx就是对应的网盘挂载名称。挂载命令可以参考:
vim /etc/systemd/system/rclone-dianyin.service
#填写内容如下
[Unit]
Description=Rclone Dianyin Mount
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/rclone mount xxx:/ /root/qbit/downloads/dianyin/ \
--allow-other \
--allow-non-empty \
--vfs-cache-mode writes \
--transfers 8 \
--buffer-size 64M \
--dir-cache-time 12h \
--vfs-read-chunk-size 32M \
--vfs-read-chunk-size-limit off \
--vfs-cache-max-age 12h \
--log-file /tmp/rclone-dianyin.log \
--log-level INFO
ExecStop=/bin/fusermount -u /root/qbit/downloads/dianyin/
Restart=on-failure
RestartSec=30
User=root
[Install]
WantedBy=multi-user.target
完成退出
执行如下:
# 重新加载systemd配置
systemctl daemon-reload
# 启用服务
systemctl enable rclone-dianyin
# 启动服务
systemctl start rclone-dianyin
这样就把网盘挂载到了本地,使用ans和mp的时候设置好下载路径到那个位置就可以了,rclone还需要安装fuse
对于 Ubuntu/Debian 系统:
apt-get update
apt-get install fuse
对于 CentOS/RHEL 系统:
yum install fuse
安装完成后,需要确保 fuse 模块已经加载:
modprobe fuse
你可以通过以下命令检查 fuse 是否正确加载:
lsmod | grep fuse
如果一切正常,就可以使用前面创建的 systemd 服务来挂载远程存储了。
4.3 AutoFilm安装
用于生成STRM文件:
mkdir /root/autofilm
cd /root/autofilm
docker run -d \
--name autofilm \
-v ./config:/config \
-v ./media:/media \
-v ./logs:/logs \
akimio/autofilm
这里之前呢,你需要修改配置文件config.yaml
文件。
vim /root/autofilm/config/config.yaml
#内容如下
Settings:
DEV: False
Alist2StrmList:
- id: 电视剧
cron: "0 */2 * * *"
url: http://xxxxx
token: alist-xxx
source_dir: /影视/dramas
target_dir: /media/TVShows
flatten_mode: False
subtitle: True
image: False
nfo: False
mode: AlistURL
overwrite: False
sync_server: True
max_workers: 30
- id: 动漫
cron: "0 */1 * * *"
url: http://xxxxx
token: alist-xxx
source_dir: /影视/anime
target_dir: /media/Anime
flatten_mode: False
subtitle: True
image: False
nfo: False
mode: AlistURL
overwrite: False
sync_server: True
max_workers: 30
- id: 电影
cron: "0 */2 * * *"
url: http://xxxxx
token: alist-xxx
source_dir: /影视/movie
target_dir: /media/Movies
flatten_mode: False
subtitle: True
image: False
nfo: False
mode: AlistURL
overwrite: False
sync_server: True
max_workers: 30
记得先创建config.yaml
然后在启动容器哦,已经创建的重启即可。里面的alist地址和token你需要换成自己的。具体文档参考:官方文档
你说得对,我来补充 Emby 的部署部分:
4.4 Emby安装
媒体服务器,用于播放和管理媒体文件:
docker run -d \
--name emby \
--volume /path/to/config:/config \
--volume /root/autofilm/media:/media \
--publish 8096:8096 \
--publish 8920:8920 \
--env UID=1000 \
--env GID=1000 \
--env GIDLIST=1000 \
--restart unless-stopped \
emby/embyserver:latest
安装完成后:
- 访问
http://your-ip:8096
进行初始配置 - 添加媒体库时,选择
/media
目录(这个目录对应的是 AutoFilm 生成 STRM 文件的目录) - 扫描媒体库,Emby 会自动识别 STRM 文件并展示对应的影视内容
5. 使用流程
- 通过
MoviePilot
orani-rss
订阅想看的影视剧or
番剧 - MoviePilot和ani-rss自动搜索资源并通过qBittorrent下载
- 下载完成后自动整理
- rclone挂载的地址进行上传网盘
- AutoFilm扫描alit目录生成STRM文件
- 通过Emby观看影片
注意事项
- 确保各个容器的目录权限正确
- 网盘方案需要考虑带宽和流量问题
- PT使用需要注意分享率
- 建议使用域名并配置SSL证书
- 定期备份重要配置文件
结语
通过以上配置,我们就完成了一个基于网盘的全自动化影视库的搭建。系统可以自动下载、整理、播放影视资源,大大简化了管理流程。对于NAS方案,只需要去除网盘相关的组件(Alist、Rclone、AutoFilm),其他配置基本相同。
📮评论