近期打算搭建一个视频库,做一个完整的教程,之前合在nas里,现在详细的说一下搭建的全过程。这里我全部采用docker的方式部署。我这里选用的工具是
- 下载工具——Transmission
- 视频播放器——jellyfin
- 媒体工具——nastool
- 资源搜索工具——jacktt
这里介绍下我的资源目录,特别的是link里面还有一套和外面一模一样的文件夹,因为我有玩pt,所以不能随意修改文件名称,所以未来nastool整理过后的会存在link里,真实的目录是还是在外面,我们jellyfin访问的时候也是把link里的当做影视库。
1.Transmission
先下载才有资源看,所以我这里先介绍docker安装Transmission 。直接去官网推荐啥用啥。
创建一个transmission用户,然后接下来你要存放种子的文件夹都给他读写权限,包括docker底下安装软件的文件夹也给他读写权限。在docker底下创建transmission文件夹及其子文件用来作映射
这里点一下主页直接教你安装,我这边就是主页粘贴来的,按照有需要的改。
docker run -d \ --name=transmission \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e TRANSMISSION_WEB_HOME= `#optional` \ -e USER= `#optional` \ -e PASS= `#optional` \ -e WHITELIST= `#optional` \ -e PEERPORT= `#optional` \ -e HOST_WHITELIST= `#optional` \ -p 9091:9091 \ -p 51413:51413 \ -p 51413:51413/udp \ -v /path/to/data:/config \ -v /path/to/downloads:/downloads \ -v /path/to/watch/folder:/watch \ --restart unless-stopped \ lscr.io/linuxserver/transmission:latest
我主要介绍界面化安装,这种比较适合大多数人。
PUID和PGID要查看下。我这里是专门给transmission创建了一个用户,输入下id transmission即可查看 。
这里downloads那个参数最好改一下,左边是你要下载的位置,我这里主要拿来下电视,改成了video。
这里切记把你镜像内的地址也改成/video,不要像我这样用/downloads,尽量跟后面的nastools保持一致,最后下载的时候才能去你想去的目录。
下面的环境的话使用下面的即可。
PUID=1028 PGID=100 USER=admin PASS=password TZ=Asia/Shanghai TRANSMISSION_WEB_HOME=/html
启动完就安装完了,但是界面太丑了根本没法用,去github上下个皮肤。下载传送门
主要就是把下载的src文件夹底下的东西都放到虚拟机下的/html文件夹里。我这里是直接连接虚拟机操作的。
cd /html wget https://github.com/ronggang/transmission-web-control/archive/refs/tags/v1.6.1-update1.tar.gz tar -zxvf v1.6.1-update1.tar.gz cd transmission-web-control-1.6.1-update1/src/ cp -rd * /html
别慌你已经成功了,设置下变成中文就好了。
因为我用ipv6做了ddns,所以一定要设置密码,直接内网访问ip不需要密码,但是我用公网域名访问这时密码正常弹出,放心了。
2.媒体播放方案
下载器安装好了,现在我们安装个播放器。因为jellfyfin是免费的所以这里选择安装他,之前是用emby,ios客户端要收费,果断放弃。
2.2emby
不得不说发现自己海鲜市场买到的是J1900那硬件解码太难看了,用emby还比较流畅,这里只能吃个回头草装一个emby的开心版。
这里还是docker-compose安装,感觉非常香。
version: '3' services: emby: image: zishuo/embyserver:latest container_name: happy-emby environment: #这里就是id xxx之后照着写 UID: 1035 GID: 100 GIDLIST: 100,65537 volumes: - /volume1/docker/happy-emby/config:/config - /volume1/docker/happy-emby/mnt/share1:/mnt/share1 - /volume1/docker/happy-emby/mnt/share2:/mnt/share2 - /volume1/pt:/pt #小姐姐别忘记映射 devices: - /dev/dri:/dev/dri #核显透传 ports: - "8098:8096" restart: always
映射完直接访问端口地址,进行配置就好,切换成中文一步一步往下就行
2.2jellyfin
docker下建议用这个大佬编译好的,之前用官方版本太新可能会有bug之类的,会出现一些奇奇怪怪的问题。
老规矩先创建个jellyfin用户,给该给的文件夹权限,我一般都是docker下创建个同名文件夹用来映射。
这里一定要使用docker-compose安装,要不然没办法给jellyfin容器透传你的核显,可以选择用命令行但是很麻烦,直接采用这种安装方式。
有个注意事项,如果你cpu比较旧,在镜像img那里换成,大佬教的没法验证了,因为我播放啥视频都错误,请大家指正。image: nyanmisaka/jellyfin:latest-legacy
version: '3' services: jellyfin: image: nyanmisaka/jellyfin:latest container_name: jellyfin user: "1032:100" #用户权限 volumes: - /volume1/docker/jellyfin/config:/config - /volume1/docker/jellyfin/cache:/cache - /volume1/video:/media #视频目录 devices: - /dev/dri:/dev/dri #核显透传 ports: - "8097:8096" restart: always
然后下一步直接运行,等待一下,然后访问即可,不行就多刷新两下,启动需要时间。
其他的就是正常下一步,我这里介绍下添加媒体库,记得路径选link里面的。
非常关键,设置硬件解码,虽然gpu很拉垮,不想cpu占用率百分百就开一下。
后面保持默认即可,然后在控制台创建一个属于自己的观影用户。只需要设置账号密码、可以访问的资源库即可。
3.NASTool
前置条件备齐了,今天的重头戏,NASTool来了。下载2.9.1的未阉割版,或者下载3.2.2最后开源版。
有几个坑:
- 官方的最新版本进去如果你没有pt站的用户,就用不了完整的功能。
- 官方的2.9.1下载部署完会自动变成2.9.2不提供别的内置索引器,对于想使用jackett玩站点的兄弟不友好
所以我这里最后选择下载了其他大神的2.9.1存档版本。
创建nastools用户,然后给文件夹权限。在docker底下创建nastools文件夹,然后再建1个config文件夹
最关键的变量用户权限的
#xhsell 连接群辉就好 id nastools
访问端口,默认密码admin——password
接下来要开始配置NASTool,步骤比较多。
修改密码
弹出警告那我们先改个密码,加个TMDB的API KEY
增加TMDB密钥
网址在这里,直接去注册个。https://www.themoviedb.org/login
注册很简单,我这里是用163邮箱注册的。
Application summary please elaborate on how you plan to use our API
每一个都要填,我直接去网上随便找了个在线生成的。
BT保种
我这边有玩pt,所以要改成硬链接,实现BT保种
设置媒体库
还记得最早我们预留了一个link文件夹,就是为了保种,接下来我们在媒体库都设置link文件夹底下的目录。
新增目录同步
跟上述的类似,就是把真实目录的资源改名后同步到目的目录,依次设置电影和电视剧。
配置下载器
配置媒体服务器
然后复制,到nastools准备粘贴
配置消息通知
企业微信
我这里只试了企业微信这种,必须有固定的公网ip(自己家的v4地址或买个云服务器代理)。我这里只是用云服务的公网进行测试,介绍下流程:
- 先去企业微信注册一个账号,传送门
- 通过企业微信创建一个应用
- frp把你局域网里的nastool穿透出去
- 由于微信限制所以还要配置代理
- 在nastool里面创建一个应用
- 企业微信进行回调配置
- 企业微信开放白名单
- nastool测试连接
#nginx里自己配置下微信的代理 server { listen 7006; location /cgi-bin/gettoken { proxy_pass https://qyapi.weixin.qq.com; } location /cgi-bin/message/send{ proxy_pass https://qyapi.weixin.qq.com } }
拉倒最下面拿到企业id
点击应用管理,创建一个应用
新增一个消息通知,主要取个名字,不知道的可以先不填保存。
编辑api配置,主要是url,用你frp穿透出来的公网地址加上/你的消息通知的名称。
回到nastool,开始填写参数
配置完成点击微信插件,扫描关注,然后点击nastool的测试成功就可以看到消息了。
然后开始自动下载了。
Synology Chat
使用群辉自带的机器人,已经下架了,可以从这里下载到,然后手动安装。
https://global.synologydownload.com/download/Package/spk/Chat/2.4.2-22125/Chat-x86_64-2.4.2-22125.spk?model=DS920%2B&bays=4&dsm_version=7.2.1&build_number=69057
【右上角头像】【整合】【机器人】【创建】
在传出url那里填写nastool的访问地址加上/synology,机器人传入url和token就到nastool那里填写就好。
【nastool】【基础设置】【安全选项】改成0.0.0.0/0
4.jackett
这个主要是给玩种子站的兄弟准备的,内置索引器往往资源不够,所以用jackett来实现索引。
然后就是启动访问端口就好,然后都是中文界面自行操作。
5.子标题
正文
在这里插入代码片