构建家庭NAS之三:在TrueNAS SCALE上安装qBittorrent

本系列文章索引:
构建家庭NAS之一:用途和软硬件选型
构建家庭NAS之二:TrueNAS Scale规划、安装与配置
构建家庭NAS之三:在TrueNAS SCALE上安装qBittorrent

大部分家庭NAS用户应该都会装一个下载工具。本篇以qBittorrent为例,说一下如何在TrueNAS SCALE上使用docker来安装应用。

1. 关于Docker

要顺利地使用docker,首先还是需要理解一些基本概念。

1.1 docker

什么是docker?简单地说,docker镜像(docker image)是自带运行环境的应用程序(本文会混合使用“docker镜像”和“docker应用”这两个词,表示的是同一个意思)。所以部署docker应用非常简单,把docker镜像下载下来直接运行就可以了,不需要传统应用那样复杂的安装过程。拿windows举例,安装一个应用通常需要复制文件到系统目录,安装和更新一些共享库(时不时造成软件冲突),还要修改注册表。卸载也同样麻烦。时间长了,系统里会留下很多垃圾文件和注册项,而这些问题在docker应用上都不存在。

可以把docker镜像理解成一个自带虚拟机的应用,或免安装版的应用。它运行需要的各种环境(依赖的库文件、需要创建的文件目录和配置文件、需要修改的系统文件和参数等)已经在docker镜像里设置好了,所以只需要把这个镜像像虚拟机一样运行起来就OK了。

实际上docker应用也是一个虚拟机,只不过相对于传统虚拟机,它有下面这几个特点。

  • 它很轻量,更节省资源。
  • 它可以和宿主机(运行TrueNAS的机器)共享文件夹,所以数据交换比起传统虚拟机方便很多。比如我们可以在docker里运行下载工具,下载的文件直接存放在nas的文件系统上。这是通过把宿主机上的文件夹映射到虚拟机里的一个文件夹来实现的。对于docker应用来说,它访问的是本虚拟机内部的一个文件夹和文件,实际上访问的是宿主机上的文件夹和文件。
  • 由于有这样的文件共享机制,docker应用的配置信息和数据通常都放在docker镜像外面(宿主机或者云上),所以应用升级非常简便,只需要下载一个升级版本的docker镜像再跑起来就行了。

TrueNAS SCALE支持docker以后,极大提升了系统的可定制性和稳定性。用户可以安装自己喜欢的docker镜像来扩展功能;同时TrueNAS系统本身不会被修改,从而保障系统稳定。

1.2 k8s/k3s

说完docker,再简单地说一下K8S/K3S。K8S全名叫做Kubernetes,因为单词比较长,所以习惯取头尾各一个字母加上中间的字母数量简写为K8S。类似命名还有i18n,是国际化(Internationalization)的缩写。

那么这个K8S究竟是个什么东西呢?K8S就是运行和管理docker应用的操作系统。Windows操作系统是管理单机的资源和应用,而k8s是用来管理云上的资源和应用(把docker镜像看成是云上的应用)。

至于k3s,是k8s的简化版。K8S用来在云上大规模部署和管理docker应用,在我们的nas系统上不需要这么强大和复杂的k8s,所以TrueNAS SCALE采用了一个简化版的k3s来管理和运行docker应用。

在实际使用TrueNAS的过程中,我们基本不会直接操作k8s/k3s,TrueNAS的管理界面把这些功能隐藏在后台了,所以只需要了解概念就好。

介绍完基本概念,我们就可以开始干活了,看看如何安装和运行qBittorrent。

2. 设置下载目录和权限

为了安装qBittorrent应用,首先需要在NAS的数据集里创建一个下载目录,用来存放下载文件,并设置好相应的权限。

2.1 用户和用户组设置

后续的操作都假设已经创建了下列用户和用户组:

  • 用户:lqy;用户ID:3000
  • 用户组:luoma;用户组ID:3000

2.2 创建存放下载文件的数据集

  1. 进入TrueNAS的WEB UI,点击左边菜单栏里的“数据集”。

  2. 在右边的数据集列表里选择(点击)一个顶层数据集(我选择“test”数据集),在数据集“详细信息”页面点击右上角的“添加数据集”
    在这里插入图片描述

  3. 输入数据集的名称(我的数据集名称是downloads),点击“保存”。这样我的数据集就创建好了。数据集的访问路径为:/mnt/test/downloads。

2.3 设置数据集的权限。

  1. 再次进入downloads数据集的“详细信息”页面。

  2. 下拉到“权限”部分,点击右上角的“编辑”。
    在这里插入图片描述

  3. 在“编辑ACL”部分,把所有者和所有者组改成上面预先创建好的用户和用户组,并勾选“申请所有者”和“应用于组”。
    在这里插入图片描述

  4. 拉到最下面,勾选“递归应用权限”和“将权限应用于子数据集”,并点击“保存访问控制列表”。
    在这里插入图片描述

这样,就把downloads数据集以及其下的子目录的用户和组修改好了。

3. 安装和使用qBittorrent

3.1 安装配置

TrueNAS SCALE的应用库里有好几个下载应用,我这里使用qBitttorent。
安装部署的步骤如下:

  1. 登录到Web界面,点击左边菜单栏里的“应用”,再点击右上角的“探索应用程序”
    在这里插入图片描述

  2. 搜索qBittorrent,点开应用,在应用的详情页面点击“安装”。

  3. 下拉到"User and Group Configuration",把“群组ID”设置为上面提到的"luoma"组的ID:
    在这里插入图片描述

  4. 下拉到“Network Configuration”,把“Host Network"勾上。
    在这里插入图片描述

  5. 在“Storage Configuration”区域:

  • “类型”选择“Host Path(Paht that already exists on the system)”。
  • 勾选“启用ACL”。
  • "Host Path"选择在“创建存放下载文件的数据集”部分创建的“/mnt/test/downloads”。
    在这里插入图片描述
  1. 在“ACL条目”部分:
  • 添加一条ACL,“ID Type”选择“Entry for a GROUP”,ID使用前面创建的luoma用户组的ID(3000),“访问”选择“FULL_CONTROL Access”。
  • 把下面的“Force Flag”勾选上。(如果/mnt/test/downloads文件夹里已经有文件,不选这个会报错)
    在这里插入图片描述
  1. 点击最下方的“安装”,等待安装完成。

3.2 管理qBittorent Web界面密码

3.2.1 查找初始密码

qBittorrent的初始用户名为admin,但初始密码是随机生成的。可以按如下方式找到初始密码:

  1. 在TrueNAS管理界面选择“应用”菜单,并在右边应用列表里点击 qBitTorrent 应用程序。

  2. 在工作负载部分,单击该部分右下角的查看日志图标。
    在这里插入图片描述

  3. 在“选择 Pod”部分,接受默认设置并单击“选择”。

  4. 查找日志中包含password的行并复制密码。

  5. 返回应用程序界面,然后转到“应用程序信息”部分,然后单击“Web Portal”图标打开qBittorrent管理应用。

  6. 使用用户名admin和步骤4中的密码登录。

3.2.2 更改qBitTorrent登录密码

  1. 登录 qBitTorrent 管理应用。
  2. 转到工具→选项。
  3. 单击“Web UI”选项卡。
  4. 在“验证”部分,设置新的用户名和密码并记下来。
  5. 向下滚动并单击“保存”。

3.2.3 关闭身份验证

关闭身份验证之后,登录qBittorrent就不需要输入用户名和密码了。

首先需要知道你自己的IP地址和子网掩码。我自己的ip地址/子网掩码为192.168.1.XXX/255.255.255.0,因此我输入的实际IP地址是192.168.1.0/24。读者可以根据自己的网络地址进行调整。

  1. 登录 qBitTorrent 应用程序。
  2. 转到工具→选项。
  3. 单击“Web UI”选项卡。
  4. 转到“验证”部分。
  5. 勾选“对IP子网白名单中的客户端跳过身份验证”
  6. 在下面的框中输入您的网络地址。(例如192.168.1.0/24)
  7. 向下滚动并单击“保存”。

4. 小结

这样qBittorrent就安装好了。可以愉快地找下载种子玩耍了。

安装配置要点如下:

  • 下载目录(/mnt/test/downloads)的所有者ID/用户组ID分别设置为3000/3000(详见“设置下载目录和权限”部分),权限设置为同组用户可读、写和执行。
  • 运行qBittorrent的用户组ID也设置为3000,因此对/mnt/test/downloads目录具有读、写和执行权限。这里的用户ID不重要,保留系统默认设置。
  • 网络要配置成“host network”(见“安装配置部分”第4步)。

如果出现问题,可以再检查一下这几项设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/744986.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何使得Macos的剪切板感知fileURL并当fileURL被执行paste 动作时 回调到某个监听的函数 从而来填充file content

问题及尝试: 我在做一个跨平台文件拷贝的功能,文件可能是从其他操作系统比如Linux 或者Windows 拷贝到Macos上, 但是我试过所有可以hook NSPasteboard的方法,确实没有找到可以监听macos 剪切板的方法,因为fileURL 确实…

基于STM32设计的智能家居远程调温系统(通过红外线控制空调)_75

文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 设计的意义1.4 开发工具的选择1.5 系统框架图1.6 系统功能总结1.7 原理图二、硬件选型2.1 ESP8266-串口WIFI2.2 STM32F103C8T6开发板2.3 红外学…

YoloV7改进策略:SPD-Conv加入到YoloV7中,让小目标无处遁形

摘要 SPD-Conv是一种新的构建块,用于替代现有的CNN体系结构中的步长卷积和池化层。它由一个空间到深度(SPD)层和一个非步长卷积(Conv)层组成。 空间到深度(SPD)层的作用是将输入特征图的每个空…

文华WH7主图多空预警系统指标公式源码

RSV:(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;//收盘价与N周期最低值做差,N周期最高值与N周期最低值做差,两差之间做比值定义为RSV K:SMA(RSV,3,1);//RSV的移动平均 D:SMA(K,3,1);//K值的移动平均 DIFF : EMA(CLOSE,12) - EMA(CLOSE,26); D…

1uH电感SK6615电流1.5A频率2MHz输入5.5V同步降压转换器

SK6615C 1.5A 2MHz 5.5V同步降压转换器 SK6615 SOT23-5封装和丝印LA 描述 该SK6615C是一款高效、DC-DC降压型开关稳压器,能够提供高达1.5A的输出电流。该器件的工作输入电压范围为 2.6V 至 5.5V,输出电压范围为 0.6V 至 VIN。工作频率为2MHz&#xff0c…

神经网路学习7-线性模型

一个最简单的线性模型,w是权重,一般来说会取随机值,然后不断学习直到与预期相同 如此以此取每个值与真实值的差值,即评估误差 即找一个合适的权重w,使得平均误差最小 上面的是针对单个样本的,后面的是对…

30-33、SpringBoot项目部署\属性配置方式\多环境开发(一个文件)\多环境分组(多个文件)

1、打包插件:和springboot的版本保持一致 根pom <build><plugins><!--打包插件--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>3.1.3</versi…

urfread刷算法题day7|118. 杨辉三角

观察可得&#xff1a;每行第一个和最后一个&#xff0c;都是1. 而且每行的元素个数也是只比上一行多1个 中间的元素计算的时候&#xff0c;值为它上一行相邻两个元素的和。 考验ArrayList基本功 class Solution {public List<List<Integer>> generate(int numRow…

并发编程理论基础——合适的线程数量和安全的局部变量(十)

多线程的提升方向 主要方向在于优化算法和将硬件的性能发挥到极致想要发挥出更多的硬件性能&#xff0c;最主要的就是提升I/O的利用率和CPU的利用率以及综合利用率操作系统已经解决了磁盘和网卡的利用率问题&#xff0c;利用中断机制还能避免 CPU 轮询 I/O 状态&#xff0c;也提…

【算能全国产AI盒子】基于BM1688CV186AH+FPGA智能物联工作站,支持差异化泛AI视觉产品定制

在数据呈现指数级增长的今天&#xff0c;越来越多的领域和细分场景对实时、高效的数据处理和分析的需求日益增长&#xff0c;对智能算力的需求也不断增强。为应对新的市场趋势&#xff0c;凭借自身的硬件研发优势&#xff0c;携手算能相继推出了基于BM1684的边缘计算盒子&#…

VS Code 配置cmake(Linux环境)

通过sudo apt install cmake在linux上安装cmake 在Vs Code中安装这两个插件 通过命令whereis cmake获取linux中cmake的路径信息 右键CMake Tools右下角齿轮标志&#xff0c;选择扩展设置&#xff08;Extension Settings&#xff09; 注意要设置的是本地&#xff0c;还是远程连接…

如何在FastAPI服务器中添加黑名单和白名单实现IP访问控制

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 添加黑名单功能步骤1:安装依赖步骤2:创建FastAPI应用步骤3:添加黑名单📝 添加白名单功能步骤1:创建白名单列表步骤2:添加白名单检查⚓️ 相关链接 ⚓️📖 介绍 📖 在现代网络应用开发中,为了增强…

(9)农作物喷雾器

文章目录 前言 1 必要的硬件 2 启用喷雾器 3 配置水泵 4 参数说明 前言 Copter 包括对农作物喷雾器的支持。该功能允许自动驾驶仪连接到一个 PWM 操作的泵和&#xff08;可选&#xff09;旋转器&#xff0c;根据飞行器速度控制液体肥料的流动速度。 稍微过时的视频显示了…

【PB案例学习笔记】-24创建一个窗口图形菜单

写在前面 这是PB案例学习笔记系列文章的第24篇&#xff0c;该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上传到了gite…

第一百二十九节 Java面向对象设计 - Java枚举比较

Java面向对象设计 - Java枚举比较 您可以通过三种方式比较两个枚举常量&#xff1a; 使用Enum类的compareTo()方法使用Enum类的equals()方法使用运算符 Enum类的compareTo()方法比较同一枚举类型的两个枚举常量。它返回两个枚举常量的序数差。如果两个枚举常量相同&#xff0…

《山西化工》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《山西化工》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定学术期刊。 问&#xff1a;《山西化工》级别&#xff1f; 答&#xff1a;省级。主办单位&#xff1a;山西省工业和信息化厅 主管单位&#xff1a;山…

基于SaaS平台的iHRM管理系统测试学习

目录 目录 1、登录模块 2、员工管理模块 3、Postmannewman软件的安装&#xff0c;学习 1、Postman的使用 2、Postman断言 3、全局变量和环境变量 4、请求时间戳 5、Postman关联 6、批量执行测试用例 7、Postman生成测试报告 8、Postman读取外部数据文件&#xff08…

Java——IO流(一)-(7/8):字节流-FileOutputStream、字节流完成文件拷贝

目录 文件字节输出流&#xff1a;写字节出去 构造器及常用方法 实例演示 案例&#xff1a;文件复制 过程分析 复制照片 复制文件 文件字节输出流&#xff1a;写字节出去 FileOutputStream&#xff08;文件字节输出流&#xff09; 作用&#xff1a;以内存为基准&#x…

如何提高pcdn技术的传输效率?

提高PCDN技术的传输效率是一个复杂且多层面的任务&#xff0c;涉及多个关键策略和方法的结合。以下是一些具体的建议和措施&#xff0c;有助于提升PCDN技术的传输效率&#xff1a; 一&#xff0e;优化缓存策略&#xff1a; 精准定位热点内容&#xff0c;优先将这部分内容缓存…

《数字图像处理》实验报告四

一、实验任务与要求 对 Fig0403.tif 进行傅里叶变换并显示其频谱图像&#xff1b;fft2(x) 对 Fig0405.tif 图像进行填充和非填充的高斯滤波&#xff0c;并观察其不同&#xff1b;paddedsize&#xff0c;fft2&#xff08;x,m,n&#xff09; 由 sobel 空间滤波算子生成相应的频率…