先弄清楚原理

首先从【资源搜索】或者【推荐栏目】寻找自己想看的电影,执行订阅或者搜索资源启动下载,下载电影存放在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还需要进行的其它设置

  • 设置媒体库目录

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

-v /mnt/disk8t1/nastools/downloads/:/media/

  • 设置同步目录

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

Docker部署Nastool(含jellyfin、transmission)的更多相关文章

  1. 阿里云服务器centos7,docker部署mysql+Redis+vue+springboot+Nginx+fastdfs,亲测可用

    一.购买云服务器 我是今年双十一期间在阿里云购买的服务器, 简单配置2核_4G_40G_3M,三年用了不到800块,不过当时我记得腾讯云更便宜,个人感觉,阿里的云服务器更加的稳定, 毕竟身经百战, 经 ...

  2. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

  3. Docker部署Hadoop集群

    Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...

  4. 程序开发使用docker部署

    我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...

  5. 我使用celery以及docker部署遇到的问题

    首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...

  6. Docker部署SDN环境

    2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...

  7. 在生产环境使用Docker部署应用

    导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...

  8. Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...

  9. NET Core Docker部署

    NET Core Docker部署 前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行 ...

  10. 我使用 Docker 部署 Celery 遇到的问题

    问题1 - Sending due task 本机测试时没有问题的,但是在线上 docker 中,任务一直显示 "Sending due task".超时的任务是 Django O ...

随机推荐

  1. 一、100ASK_IMX6ULL嵌入式裸板学习_LED实验(中)

    以C语言方式驱动(例程与代码分析) 韦东山的例程: start.s部分: .text .global _start @全局标号 _start: //设置栈 ldr sp,=0x80200000 @设置 ...

  2. [洛谷/题目] P1562 还是N皇后

    声明 关于科学道理都会放进代码中,但是我们需要先了解一下位运算解这道题目的基础知识 我不是很会专业词语,所以仅介绍原理 位运算基础 众所周知,二进制是0和1 2^3 2^2 2^1 2^0 8 4 2 ...

  3. sql执行多条语句

    问题背景: 今天想在xml里面写一个sql,执行批量修改, update question_rules set score=${rule.score}, data_describe=#{rule.da ...

  4. SQL数学函数学习

    笔记来自如鹏网杨中科老师所著的 <程序员的SQL金典>#创建数据库表 CREATE Table T_Person ( FIdNumber VARCHAR(20), FName varcha ...

  5. hdu 1516 String Distance and Transform Process

    Problem DescriptionString Distance is a non-negative integer that measures the distance between two ...

  6. [Oracle19C 数据库管理] 管理PDB

    更改PDB的打开模式 RESTRICT模式 维护时使用,可以让只有RESTRICT权限的用户才能连接到数据库,其他用户无法连接. ALTER PLUGGABLE DATABASE 数据库名 CLOSE ...

  7. 从FGUI中取一张图片并返回一个Sprite

    从Fgui中的图集中取一个图素,把图素用到场景等非UI的地方. 此操作会动态创建一个Sprite对象,效率不好,不适合大量使用. private static Dictionary<string ...

  8. k8s_使用k8s部署博客系统svc、secret、configmap(三)

    service service是抽象Pod对外提供服务的地址,将其固化的作用:屏蔽因pod的创删以及扩缩容带来ip变化.service通过自身定义文件的selector的标签配置匹配到需要提供服务的对 ...

  9. SQLite检查表是否存在

    通过检索SQLite的内置表sqlite_master,查询是否有需要检索的表信息,即可得出该表是否存在. SELECT * FROM sqlite_master WHERE type='table' ...

  10. Anaconda配置环境变量

    环境变量里写自己的Anaconda下载目录,找到对应的文件位置,然后把这三个上移到最上面,点击确定即可配置完成 出现这个环境变量就成功啦 在输入conda 出现这个就表明你的Anaconda已经好了