Docker部署Nastool(含jellyfin、transmission)
先弄清楚原理
首先从【资源搜索】或者【推荐栏目】寻找自己想看的电影,执行订阅或者搜索资源启动下载,下载电影存放在downloads/mov目录下,【媒体整理】就是将mov子目录下电影文件复制到downloads/link子目录下,
默认情况下,nastool在link建7个中文的子目录,并且在整理过程中将不同类型的媒体文件“复制”到相应的子目录下,并且完成电影其它信息及字幕等的下载。
这里需要说明的是这个“复制”有很多种模式,其中硬链接是比较推荐使用的,他实际并没有真正复制整个文件过去,而是在源文件和文件名之间建立了一个链接,这样做的好处是在两个目录都能读到这个文件,在不影响原来目录结构情况下能有一个分类清楚的目录结构,方便查找相应的媒体文件。
之所以要做这样的整理也由于下载工具的要求,下载工具在完成下载后还需要进一些业务,就是所谓的 “做种” ,这样其它需要的客户从你这里直接下载,如果直接改变了存放目录,下载工具就无法找到这个文件了。这也体现的是p2p的分享理念。
【媒体整理】需要提前设置整理的目录,系统就会定时自动完成这个整理过程,只有无法识别的媒体才需要从【媒体整理】中手动执行。
整理好媒体文件存放在downloads/link目录下,媒体服务其就可以从这里读取文件,提供媒体的播放等服务了。
建三个目录
涉及到不同的系统共享文件以及docker内外关系,文件目录问题一直困扰了我好久,是安装失败的主要原因,所以有必要在一种相对简单的状态下先把系统跑起来,细节了解以后可以进一步调整,否则极其有可能半途而废了。所以先在准备存放媒体盘上建立以下三个目录:
/mnt/disk8t1/nastools/downloads/link #用于存放硬链接的link目录
/mnt/disk8t1/nastools/downloads/mov #用于存放电影文件的mov目录
/mnt/disk8t1/nastools/sys #各个系统存放配置文件的目录
部署nastool
打开ssh工具,我这里经常使用的是FinalShell还是很方便的,输入以下命令,注意有时往往需要超级管理员才有权限执行,所以需要先 sudo -i 进入超级管理员模式。
docker run -d \
--name nas-tools \
--hostname nas-tools \
-p 3000:3000 `# 默认的webui控制端口` \
-v /mnt/disk8t1/nastools/sys/nastool:/config/ `# 冒号左边请修改为你想在主机上保存配置文件的路径` \
-v /mnt/disk8t1/nastools/downloads/:/media/ `# 媒体目录,多个目录需要分别映射进来` \
-e PUID=1000 `# 想切换为哪个用户来运行程序,该用户的uid,详见下方说明` \
-e PGID=1000 `# 想切换为哪个用户来运行程序,该用户的gid,详见下方说明` \
-e UMASK=000 `# 掩码权限,默认000,可以考虑设置为022` \
-e NASTOOL_AUTO_UPDATE=false `# 如需在启动容器时自动升级程程序请设置为true` \
--restart unless-stopped \
jxxghp/nas-tools
正常就可以从以下网址方位nastool了。
http://192.168.1.201:3000/
部署jellyfin
这是本人选择的媒体服务软件,Nastool还支持Emby和Plex的接入。在docker安装基本就是分两步:
- 1、拉镜像
docker pull nyanmisaka/jellyfin
- 2、启动容器
sudo docker run -d \
--name=jellyfin \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e JELLYFIN_PublishedServerUrl=http://192.168.1.201 `#optional` \
-p 8096:8096 \
-p 8920:8920 `#optional` \
-p 7359:7359/udp `#optional` \
-p 1901:1901/udp `#optional` \
-v /mnt/disk8t1/nastools/sys/jellyfin:/mnt/disk8t1/nastools/sys/jellyfin \
-v /mnt/disk8t1/nastools/downloads/link/:/mnt/disk8t1/nastools/downloads/link/ \
--restart unless-stopped \
nyanmisaka/jellyfin
好了,正常就可以通过以下网址访问jellyfin了,初次进入需要进行一些列的设置。
http://192.168.1.201:8096/
在Nastool里【设置】【媒体服务器】里面填写服务器地址和Api Key,点击测试按钮,如何显示测试成功,说明jellyfin已经成功连接到nastool了。这里要注意的是Api Key是访问服务器的钥匙,像账户密码一样不能泄露给其它人。
部署下载工具 transmission
这回就下面一条指令就可以,他发现没有镜像就会先去dockerhub.com拉下镜像,然后启动容器。
docker run \
-d \
--name transmission \
-p 9091:9091 \
-p 51413:51413 \
-v /mnt/disk8t1/nastools/sys/transmission:/config \
-v /mnt/disk8t1/nastools/downloads/mov:/data/downloads \
-e USERNAME=usr \
-e PASSWORD=password \
-e PUID=1000 \
-e PGID=1000 \
--restart unless-stopped \
gists/transmission
同样,正常的话就可以访问transmission了
http://192.168.1.201:9091
在Nastool里【设置】【下载器】进行设置,填号IP地址、端口、用户名以及密码,同样需要测试显示测试成功才可。
nastool还需要进行的其它设置
- 你需要注册一个TMDB的账号,https://www.themoviedb.org 将相应的API key设置到Nastool里。
- 设置媒体库目录
这里的mov路径之所以是/media,是因为这个是从容器中看到的路径,他已经在docker run 命令中 -v 选项对应到了容器外的路径。
-v /mnt/disk8t1/nastools/downloads/:/media/
- 设置同步目录
这几项设置完毕,nastool基本就可以运作起来了,去【资源搜索】或【推荐】选一部片子,去试试效果吧。