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基本就可以运作起来了,去【资源搜索】或【推荐】选一部片子,去试试效果吧。
Docker部署Nastool(含jellyfin、transmission)的更多相关文章
- 阿里云服务器centos7,docker部署mysql+Redis+vue+springboot+Nginx+fastdfs,亲测可用
一.购买云服务器 我是今年双十一期间在阿里云购买的服务器, 简单配置2核_4G_40G_3M,三年用了不到800块,不过当时我记得腾讯云更便宜,个人感觉,阿里的云服务器更加的稳定, 毕竟身经百战, 经 ...
- ASP.NET Core开发-Docker部署运行
ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...
- Docker部署Hadoop集群
Docker部署Hadoop集群 2016-09-27 杜亦舒 前几天写了文章"Hadoop 集群搭建"之后,一个朋友留言说希望介绍下如何使用Docker部署,这个建议很好,Doc ...
- 程序开发使用docker部署
我们公司自己研发了一套 grand-line 系统,使用 docker 来部署项目. 我是第一批小白鼠,一开始网络差,build 一次要半个小时,连接进入 web shell 也很慢,部署一个微信项目 ...
- 我使用celery以及docker部署遇到的问题
首先我本机测试时没有问题的,但是在线上docker中,任务一直显示 "Sending due task".超时的任务是 django orm update 操作,本地不会出现这样的 ...
- Docker部署SDN环境
2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有 ...
- 在生产环境使用Docker部署应用
导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产 ...
- Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈
版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98 来源:腾云阁 https://www.qclou ...
- NET Core Docker部署
NET Core Docker部署 前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行 ...
- 我使用 Docker 部署 Celery 遇到的问题
问题1 - Sending due task 本机测试时没有问题的,但是在线上 docker 中,任务一直显示 "Sending due task".超时的任务是 Django O ...
随机推荐
- 最新2019Java调用百度智能云人脸识别流程
首先先注册账户 https://console.bce.baidu.com/?fromai=1#/aip/overview 点击链接 有账户直接登录 如无 则注册 进入控制台后 点击人脸识别 随便选 ...
- Win11 win10系统分区时出现defrag事件怎么解决?
Win11系统分区时出现defrag事件怎么解决?最近有用户反映这个问题,在重新整理磁盘分区的时候,遇到出现了defrag事件,不知道怎么解决,针对这一问题,本篇带来了详细的Win11系统分区时出现d ...
- SQL Server FOR XML EXPLICIT 一步步学习
查看网址:https://www.itdaan.com/blog/2015/05/05/510cd42eb587c98bcd25ef0e5b687fd1.html
- pkill 直接对进程对名字进行操作,可以同时杀死多个进程。
Linux pkill 命令 Linux 命令大全 Linux pkill 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程,类似于 killall 命令. kill 命令杀死指定 ...
- PHP-循环文件夹-yield-生成器
<?php define(DS, DIRECTORY_SEPARATOR); function gen_dir($path='.'){ $c_dir = opendir($path); whil ...
- 南大ics-pa/PA1.1过程及感想
1.1 一.在红白模拟器上运行超级马里奥游戏 1.将游戏rom文件mario.nes移至~/ics2022/fceux-am/nes/rom文件下,并回到~/ics2022/fceux-am下执行ma ...
- (原创)odoo动态设置树形视图中的字段,每个用户可定制自己要显示的字段
模块详情
- oracle排查慢sql
查询最慢的SQL select * from (select sa.SQL_TEXT, sa.SQL_FULLTEXT, sa.EXECUTIONS "执行次数", round(s ...
- php textarea根据回车转换成数组
$val是textarea文本框的内容 假如是:张三/32岁/男 李四/28岁/男 $arr=explode("\n",$val); $arr2 = array(); foreac ...
- shell脚本,shell语法和结构(以Cshell/TC shell为例)
1.C shell/TC shell常用语法和结构 (1) shbang行: #!/bin/sh,通知内核使用哪种内核解释脚本; #!/bin/csh 或 #!/bin/tcsh (2) 注释: 以# ...