Docker部署Nastool(含jellyfin、transmission)

先弄清楚原理

首先从【资源搜索】或者【推荐栏目】寻找自己想看的电影,执行订阅或者搜索资源启动下载,下载电影存放在downloads/mov目录下,【媒体整理】就是将mov子目录下电影文件复制到downloads/link子目录下,

默认情况下,nastool在link建7个中文的子目录,并且在整理过程中将不同类型的媒体文件“复制”到相应的子目录下,并且完成电影其它信息及字幕等的下载。

image

image

这里需要说明的是这个“复制”有很多种模式,其中硬链接是比较推荐使用的,他实际并没有真正复制整个文件过去,而是在源文件和文件名之间建立了一个链接,这样做的好处是在两个目录都能读到这个文件,在不影响原来目录结构情况下能有一个分类清楚的目录结构,方便查找相应的媒体文件。

image

之所以要做这样的整理也由于下载工具的要求,下载工具在完成下载后还需要进一些业务,就是所谓的 “做种” ,这样其它需要的客户从你这里直接下载,如果直接改变了存放目录,下载工具就无法找到这个文件了。这也体现的是p2p的分享理念。

【媒体整理】需要提前设置整理的目录,系统就会定时自动完成这个整理过程,只有无法识别的媒体才需要从【媒体整理】中手动执行。
image

整理好媒体文件存放在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是访问服务器的钥匙,像账户密码一样不能泄露给其它人。

image

部署下载工具 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地址、端口、用户名以及密码,同样需要测试显示测试成功才可。

image

nastool还需要进行的其它设置

image

  • 设置媒体库目录

image

这里的mov路径之所以是/media,是因为这个是从容器中看到的路径,他已经在docker run 命令中 -v 选项对应到了容器外的路径。
-v /mnt/disk8t1/nastools/downloads/:/media/

  • 设置同步目录

image

这几项设置完毕,nastool基本就可以运作起来了,去【资源搜索】或【推荐】选一部片子,去试试效果吧。

image

posted @ 2022-12-18 17:44  快乐起航2012  阅读(14338)  评论(0编辑  收藏  举报