部署参考,以及部署效果展示:https://www.bilibili.com/video/BV1wD4y1B7xZ

原视频是使用群晖nas进行部署,本文使用ubuntu上安装

一共需要安装三个软件:nas-tools(管理器), Emby(媒体播放器), qBittorrent(下载器)

挂载nas到ubuntu

把局域网的Nas设备挂载到Ubuntu电脑上

单次挂载

首先在Ubuntu 的 /mnt 目录下新建一个 NAS 挂载目录 nas

1
2
3
sudo mkdir /mnt/nas
# 下面这个命令是为了共享时,允许匿名直接访问,解决权限问题
sudo chmod 777 /mnt/nas

安装 cifs-utils

1
sudo apt-get install cifs-utils

查看用户的 uidgid

1
id root

运行下面的命令,完成单次挂载

1
sudo mount -t cifs -o uid=root,username=admin,password=xxxx,iocharset=utf8,file_mode=0777,dir_mode=0777 //192.168.6.154/public /mnt/nas/ 
  • uid 选择ubuntu系统上普通用户或root
  • username 是nas上的用户名
  • password 是nas上的密码
  • iocharset=utf8 防止有中文路径
  • //192.168.6.154/public 是nas下的public目录
  • /mnt/nas/ 挂载到ubuntu的这个目录下
  • file_mode=0777,dir_mode=0777 权限全开

开机自动挂载

编辑启动挂载文件 fstab

1
sudo vim /etc/fstab

在文件最后追加一行

1
2
3
4
5
6
# 仅给root用户全部权限
//192.168.6.154/public /mnt/nas/ cifs uid=root,username=admin,password=xxx,iocharset=utf8 0 0


# 下面这行是将权限全部开放
//192.168.6.154/public /mnt/nas cifs uid=root,username=admin,password=xxxx,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

在重启之前,你可以手动测试这个配置是否有效。

首先,卸载之前可能已经手动挂载的共享:

1
sudo umount /mnt/nas/

运行以下命令来挂载所有在/etc/fstab中定义的文件系统:

1
sudo mount -a

如果没有错误提示,说明配置成功。

重启系统,并检查CIFS共享是否自动挂载了。

通过上述步骤,每次系统启动时,CIFS共享就会自动挂载到指定的挂载点。如果遇到问题,检查日志文件(如/var/log/syslog)中的错误信息

Ubuntu共享文件

ubuntu共享其目录给局域网内的其它设备

通过 Samba 共享目录

安装samba

1
sudo apt install samba

编辑 Samba 配置文件:

1
sudo vim /etc/samba/smb.conf

在文件末尾添加以下内容:

1
2
3
4
5
6
7
8
[nas]
path = /mnt/nas
browseable = yes
read only = no
guest ok = yes
force user = nobody
create mask = 0777
directory mask = 0777

重启 Samba 服务

每次修改配置文件后,都需要重启 Samba 服务以使更改生效:

1
sudo systemctl restart smbd

测试 Samba 共享

你现在可以从其他计算机访问共享目录。比如在 Windows 上,通过文件资源管理器访问:

1
\\your_ubuntu_ip\nas

在 Linux 上,可以使用以下命令挂载共享目录:

1
sudo mount -t cifs //your_ubuntu_ip/nas /path/to/mount -o guest

nas-tools安装

nas-tools安装参考:https://github.com/hsuyelin/nas-tools

安装

方式一:Docker拉镜像安装

1
docker pull hsuyelin/nas-tools:latest

教程见 这里

如无法连接Github,注意不要开启自动更新开关(NASTOOL_AUTO_UPDATE=false),将NASTOOL_CN_UPDATE设置为true可使用国内源加速安装依赖。

查看所有镜像

1
docker images

镜像pull后再运行nas-tools

1
2
3
4
sudo docker run -p 3333:3000 -d \
-v /mnt/nas/wan/Videos/:/mnt/nas/wan/Videos \
-v /docker/nastools/config/:/config \
镜像id
  • -p 3333:3000 把容器的3000端口映射到外面的3333端口
  • -v /docker/nastools/config/:/config 使用外部的配置文件
  • -v /mnt/nas/wan/Videos/:/mnt/nas/wan/Videos 将视频路径映射

方式二:Docker-compose直接运行

可以新建一个nas-tools目录,在这个目录下,创建docker-compose.yml文件,将下面的内容修改好填写进去

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: "3"
services:
nas-tools:
image: hsuyelin/nas-tools:latest
ports:
- 3333:3000 # 默认的webui控制端口是3000,这里修改成3333
volumes:
- /docker/nastools/config:/config # 冒号左边请修改为你想保存配置的路径
#- /你的媒体目录:/你想设置的容器内能见到的目录 # 媒体目录,多个目录需要分别映射进来,需要满足配置文件说明中的要求
- /home/lthero/Videos/Movies:/data/movies
- /home/lthero/Videos/Series:/data/series
environment:
- PUID=100 # 想切换为哪个用户来运行程序,该用户的uid
- PGID=100 # 想切换为哪个用户来运行程序,该用户的gid
- UMASK=000 # 掩码权限,默认000,可以考虑设置为022
- NASTOOL_AUTO_UPDATE=true # 如需在启动容器时自动升级程程序请设置为true
#- REPO_URL=https://ghproxy.com/https://github.com/jxxghp/nas-tools.git # 当你访问github网络很差时,可以考虑解释本行注释
restart: always
network_mode: bridge
hostname: nas-tools
container_name: nas-tools

随后运行

1
docker compose up -d

在本地输入服务器IP:端口3333,就可以顺利登录nas-tools,默认用户名admin,默认密码password。

设置

开始基础设置,需要先设置TMDB API Key,不然有本身功能可能无法正常运行,请从TMDB网站注册帐号,并申请API,目前申请还是比较容易,信息填写尽量用英文,用中文可能会出现错误,无法申请成功,这里就不做演示。

TMDB API Key

设置好后,请重启服务

重启按键位置

设置媒体库

依次新增目录,目录是docker容器内目录,而不是实际路径

新增目录

路径增加

下载器设置

这里就按照qbittorrent为例

下载器设置

设置地址,登录帐号密码,目前应该有bug,无论怎么设置地址都能测试成功。建议设置IP地址为实际qbittorrent服务器(不是127.0.0.1)。

设置qbittorrent

jellyfin设置

服务器地址请选择实际媒体服务器地址,而不一定127.0.0.1

如果在docker中运行nastools,这里请填写宿主机的局域网ip地址

如果做了Frp的映射,这里Jellyfin的ip地址和端口,就是映射后的公网ip:端口,后面的qBittrorent同理

媒体服务器设置

jellyfin设置

在jellyfin中控制台–高级–API密钥,进行添加

添加api

复制api

复制到nas-tools媒体服务器页面即可,测试成功后,回到开始页面,既可以看到相关数据了

信息关联

后续的设置参考:

https://post.smzdm.com/p/aev09ngz/


下载器安装

qBittorrent和transmission安装一个即可,从功能上来说,qBittorrent更全

(推荐)qBittorrent安装与配置

安装qBittorrent

使用Ubuntu的官方仓库安装qBittorrent

Ubuntu的官方仓库通常包含qBittorrent的稳定版本,只需打开终端并执行以下命令即可:

1
2
sudo apt update
sudo apt install qbittorrent-nox

开机自启qBittorrent

/etc/systemd/system/qbittorrent-nox.service添加下面的内容,作为开机自动启动的服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=qBittorrent Command Line Client
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/qbittorrent-nox
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

随后执行下面两条命令

1
2
3
4
# 
sudo systemctl daemon-reload
#
sudo systemctl enable qbittorrent-nox.service

建议先运行一遍qbittorrent-nox,将端口设置为9090(可以为其它的端口号)【因为它需要你输入一个’y’,哎……新版本的要求】

1
sudo qbittorrent-nox --webui-port=9090

进入网页后,建议将用户名、密码修改完成后,再将进行关掉,使用systemctl方式重启进程

1
2
# 如果直接运行,因为无法输入'y',从而无法进入网页
sudo systemctl start qbittorrent-nox.service

其它相关命令

1
2
3
4
# 查看状态
sudo systemctl status qbittorrent-nox.service
# 停止
sudo systemctl stop qbittorrent-nox

修改qBittorrent端口

  1. 停止qBittorrent-nox服务(如果正在运行):

    1
    sudo systemctl stop qbittorrent-nox

    如果你没有将qBittorrent-nox作为服务运行,而是直接在终端中运行,你可以直接关闭它。

  2. 编辑qBittorrent配置文件: qBittorrent-nox的配置文件通常位于~/.config/qBittorrent/qBittorrent.conf

    1
    vim ~/.config/qBittorrent/qBittorrent.conf

    如果qBittorrent-nox是以不同的用户运行,你可能需要切换到相应用户的家目录,或者根据实际情况调整路径。

  3. 在配置文件中找到WebUI\Port=8080这一行(如果没有这一行,你需要添加它),将8080更改为你想要的端口号。例如,如果你想将端口改为9090,则修改为:

    1
    WebUI\Port=9090

    保存并关闭文件。

  4. 重新启动qBittorrent-nox

    1
    sudo systemctl start qbittorrent-nox

qBittorrent常用命令

启动Qbittorrent:

1
qbittorrent-nox

在后台启动Qbittorrent:

1
qbittorrent-nox -d

查看Qbittorrent版本:

1
qbittorrent-nox -v

启动 Qbittorrent 并指定 Web 面板的端口:

1
qbittorrent-nox --webui-port=xxxx

查看帮助:

1
qbittorrent-nox -h

添加tracker

https://jsd.cdn.zzko.cn/gh/XIU2/TrackersListCollection/best.txt

transmission安装

使用官方PPA

  1. 打开终端。

  2. 添加Transmission的官方PPA(请在执行前确认PPA地址是最新的):

    1
    2
    bashCopy code
    sudo add-apt-repository ppa:transmissionbt/ppa
  3. 更新软件包列表:

    1
    2
    sqlCopy code
    sudo apt update
  4. 安装Transmission:

    1
    2
    Copy code
    sudo apt install transmission

但安装完成后,可能为3.0版本,如果需要安装4.0版本,参考:https://launchpad.net/ubuntu/+source/transmission

添加tracker

https://jsd.cdn.zzko.cn/gh/XIU2/TrackersListCollection/best.txt


Emby安装

安装参考

https://emby.media/linux-server.html

安装完成后

使用下面命令控制emby-server的进程活动

1
2
3
4
5
6
# 启动
systemctl start emby-server
# 停止
systemctl stop emby-server
# 查看状态
systemctl status emby-server

Emby设置访问权限

确定Emby用户

Emby可能会使用embyemby-server作为默认用户

1
ps aux | grep emby

这条命令应该会显示Emby进程,以及它们是由哪个用户启动的。

如果Emby服务是以emby用户身份运行的。这意味着为了让Emby能够正确访问和读取你的媒体文件存储位置,你需要确保emby用户至少拥有读取权限。

假设你的媒体文件存储在某个目录中,比如/media/emby,你可以按照以下步骤来授予emby用户对该目录的访问权限。

(推荐)方法一:使用访问控制列表(ACL)

如果不想改变文件和目录的所有者,你可以使用ACL来为emby用户添加额外的权限,而不会影响其他用户的权限。首先,安装ACL工具(如果你的系统还没有安装):

1
sudo apt-get install acl

然后,设置ACL:

1
sudo setfacl -R -m u:emby:rXw /media/emby

这会递归地为emby用户授予对/media/emby目录及其内容的读写和执行权限。

方法二:授予读写权限

你可以使用chmodchown命令来更改目录的权限和所有权,以确保emby用户能够访问该目录。考虑到安全和实用性,推荐的做法是让emby用户成为目录的所有者或确保emby用户是访问该目录的组的一部分。

如果改变目录的所有者对你来说是可行的,你可以执行:

1
sudo chown -RW emby:emby /media/emby

这会将/media/emby目录及其子目录和文件的所有权更改为emby用户和组。

接下来,确保目录具有正确的权限:

1
sudo chmod -RW 755 /media/emby

这会设置目录的权限,使得所有者有读、写和执行权限,而组用户和其他用户有读和执行权限。

验证权限

完成上述步骤后,你可以使用getfacl命令来检查目录的访问控制列表,确保emby用户已被正确授权:

1
getfacl /media/emby

这应该会显示emby用户的权限,从而验证设置是否正确。

确保Emby服务已经重新启动,以应用任何权限变更:

1
sudo systemctl restart emby-server

通过以上步骤,Emby应该能够访问指定目录下的媒体文件了。如果仍然遇到权限问题,确保检查所有上级目录也对emby用户开放了至少读取的权限。


将上述三者安装好后,如果需要将影片存放在本地nas中,仅需将对应的目录修改成nas中的目录即可