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

news2024/10/7 4:22:08

本系列文章索引:
构建家庭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步)。

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux-笔记 全志T113移植正点4.3寸RGB屏幕笔记

目录 前言 线序整理 软件 显示调试 触摸调试 背光调试 前言 由于手头有一块4.3寸的RGB屏幕(触摸IC为GT1151),正好开发板上也有40Pin的RGB接口,就想着给移植一下,前期准备工作主要是整理好线序,然后用转接板与杜邦线连接验证好…

MySQL 外连接、内连接与自连接的区别?

引言:本文将深入探讨这些连接类型的概念、语法及其应用场景,帮助读者全面理解如何利用这些技术实现复杂的数据查询和分析。在数据库查询中,连接操作使得我们可以根据指定的关联条件(join condition)联合两个或多个表中…

vuex的actions返回结果类型是promise及actions方法互相调用

this.$store.dispatch(‘logout’)返回的结果是Promise类型的 调用成功的情况下,返回状态为fulfilled,值为undefined。 所以可以直接进行.then操作: this.$store.dispatch(logout).then((result) > {console.log(result); });因为 Vuex …

Python读取中文路径,出现乱码问题解决方案

Python读取中文路径,出现乱码问题解决方案 一、问题描述二、问题解决 欢迎学习交流! 邮箱: z…1…6.com 网站: https://zephyrhours.github.io/ 一、问题描述 笔者在使用opencv读取带有中文路径的图片时,发现会出现乱…

【操作系统】信号处理与阻塞函数|时序竞态问题

🔥博客主页: 我要成为C领域大神🎥系列专栏:【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 关于阻塞函数和…

免费领!系统学习上位机编程的流程与基础教程

上位机电气自动化plc编程全套入门教程工具 华山编程导师根据当前招聘需求的关键点,原创录制了一套系统的学习流程和基础教程,帮助你从快速入门到掌握上位机编程的技能。 二. 学习准备 为了更好地学习并实现80%以上的代码运行,建议准备一个工…

线程安全问题(一)——锁的简单使用

多线程安全问题 线程安全问题的引入案例引入多线程指令排序问题 线程不安全的原因解决线程不安全的方法锁的引入上锁和解锁过程一个简单的锁Demo对这个案例进行几次修改 总结 线程安全问题的引入 在前面的博文中,我们了解到通过Thread.join()的方法让线程进入等待&…

谷歌云(GCP)4门1453元最热门证书限时免费考

谷歌云(GCP)最新活动,完成免费官方课程,送4门最热门考试免费考试券1张(每张价值200刀/1453元),这4门也包括最近大热的AI/ML考试,非常值得学习和参加,活动7/17截止 谷歌云是全球最火的三大云计算厂商(前两名AWS, Azure…

Electron 整理文档

Electron 简介 Electron 是一个使用 JavaScript、 HTML 和 CSS 构建桌面应用程序的框架。通过将 Chromium 和 Node.js 嵌入到它的二进制文件中,Electron 允许你维护一个 JavaScript 代码库,并创建可以在 Windows、 macOS 和 Linux 上运行的跨平台应用程序…

pandas将dataframe展开/拉伸成一个series

pandas提供了一个函数实现这个操作: dataframe.stack()示例程序: import pandas as pd import numpy as npdf pd.DataFrame(np.random.randint(0, 10, size(2, 4)), columns[col_1, "col_2", "col_3", "col_4"]) # 展…

详解 ClickHouse 的分片集群

一、简介 分片功能依赖于 Distributed 表引擎,Distributed 表引擎本身不存储数据,有点类似于 MyCat 之于 MySql,成为一种中间件,通过分布式逻辑表来写入、分发、路由来操作多台节点不同分片的分布式数据 ClickHouse 进行分片集群的…

优雅谈大模型13:LangChain Vs. LlamaIndex

实时了解业内动态,论文是最好的桥梁,专栏精选论文重点解读热点论文,围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技(Mamba,xLSTM,KAN)…

算法训练营day20--235. 二叉搜索树的最近公共祖先+701.二叉搜索树中的插入操作 +450.删除二叉搜索树中的节点

一、235. 二叉搜索树的最近公共祖先 题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/ 文章讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E8%BF%91…

小阿轩yx-用户管理与高级SQL语句

小阿轩yx-用户管理与高级SQL语句 MySQL 进阶查询 运维工作中可以提供不小的帮助,运维身兼数职,可能会有不少数据库的相关工作 常用查询介绍 对查询的结果集进行处理 按关键字排序 使用 SELECT 语句可以将需要的数据从 MySQL 数据库中查询出来 对结…

调幅信号AM的原理与matlab实现

平台:matlab r2021b 本文知识内容摘自《软件无线电原理和应用》 调幅就是使载波的振幅随调制信号的变化规律而变化。用音频信号进行调幅时,其数学表达式可以写为: 式中,为调制音频信号,为调制指数,它的范围在(0&…

攻克PS之路——Day1(A1-A8)

#暑假到了,作为可能是最后一个快乐的暑假,我打算学点技能来傍身,首先,开始PS之旅 这个帖子作为我跟着B站up主学习PS的记录吧,希望我可以坚持下去! 学习的链接在这里:A02-PS软件安装&#xff0…

Linux显示服务器Wayland切换到X11

1、临时切换 : 注销当前用户账户,返回到登录屏幕。 在登录屏幕上,选择您要登录的用户账户。 在输入密码之前,在登录屏幕的右下角可能有一个齿轮图标,点击它以展开更多选项。 在选项中选择“Ubuntu on Xorg”或“Ubu…

Matlab|风光及负荷多场景随机生成与缩减

目录 1 主要内容 计算模型 场景生成与聚类方法应用 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序方法复现了《融合多场景分析的交直流混合微电网多时间尺度随机优化调度策略》3.1节基于多场景技术的随机性建模部分,该部分是随机优化调度的重要组成部分…

web自动化(一)selenium安装环境搭建、DrissionPage安装

selenium 简介 selenium是企业广泛应用的web自动化框架 selenium 三大组件 selenium IDE 浏览器插件 实现脚本录制 webDriver 实现对浏览器进行各种操作 Grid 分布式执行 用例同时在多个浏览器执行,提高测试效率 问题:环境搭建复杂,浏览器版…