玩机日记 14 飞牛fnOS部署qBittorrent、AList、Jellyfin,实现下载、存取、刮削、观看一体的家庭影音中心

目录

观前提示:

1、前置条件

2、安装配置qBittorrent

简单配置

延时启动

配置AList的离线下载

配置qBittorrent不走代理

3、安装配置Jellyfin

建立媒体库目录

安装Jellyfin

配置Jellyfin媒体库

打开硬件解码

启用备用字体

配置Jellyfin的SSL


观前提示:

AList的配置在上一篇

玩机日记 13 飞牛部署AList并配置SSL,使用rclone挂载到本地-优快云博客

1、前置条件

检查一下你的飞牛共享文件夹是否挂载到了Windows11

检查一下AList网盘是否挂在到了共享文件夹

如果没有完成上述挂载,请回看

玩机日记 10 fnOS 开启文件传输服务挂载到手机/电脑,测试传输性能-优快云博客

玩机日记 13 飞牛部署AList并配置SSL,使用rclone挂载到本地-优快云博客

2、安装配置qBittorrent

为什么不在Windows11中安装qBittorrent?rclone+AList的性能损耗已经很大了,再套一层smb传输的话,亲测会卡到怀疑人生

简单配置

打开之后配置一下账号密码还有ssl证书

我们希望尽可能减少在网盘内的读写来提高性能。因此下载未完成之前我建议可以保存在本地,下载完成后再移动到网盘。可以像这样设置

记得给qBittorrent文件夹的读写权限!!!

强烈建议限制上传速度。qb的做种会占用我们往网盘里传文件的带宽,如果qb上传占用了太多带宽,rclone就需要更多时间才能将本地文件上传到网盘(在此期间会消耗系统性能,而且如果群晖关机的话,尚未上传的缓存内的数据就丢失了)

务必设置自动停止做种

从网盘做种,实际上并不是读取网盘的文件,而是读取本地的vfs缓存。如果一直读取,vfs缓存就永远不会过期,就会越来越大,占用越来越多的硬盘空间。所以不能让qb的做种行为一直读取网盘文件。

重启qb

延时启动

如果使用qBittorrent下载资源到AList挂载的网盘中,重启飞牛过后,会报错丢失文件

如果出现这种情况,全选文件然后点继续即可恢复

我在上一篇rclone挂载AList的时候有提到,AList作为开机自启的套件,需要一些时间完成启动。因此rclone不会立刻挂载,而是等AList启动完毕后才挂载。

但是qBittorrent同样作为套件,它和AList是同时启动的。也就是说,在qBittorrent启动完成过后,它会尝试继续做种,但此时rclone还没有把AList挂载到本地,qBittorrent一时间找不到之前下载的文件,便会报错丢失文件。

为了解决这个问题,我们可以编辑qBittorrent的启动脚本,让它检测rclone挂载好了再启动。

nano /var/apps/qBittorrent/cmd/common

找到  start_daemon ()  ,在合适的位置插入延时启动


# 检查AList是否准备就绪
    while [ ! -d "/vol2/1000/飞牛网盘/AList/天翼云盘" ]; do
        sleep 1
    done




#上述代码段通过检查AList中的网盘目录是否出现,来判断延时启动
#我的AList挂载在/vol2/1000/飞牛网盘/AList/,在AList启动后里面会出现 天翼云盘
#假设你的AList挂载在/vol1/AList/,里面有一个百度网盘,那么双引号""里面就填 /vol1/AList/百度网盘

配置AList的离线下载

既然已经配置了qBittorrent,顺便配置一下AList的离线下载功能吧。

由于qBittorrent配置了ssl证书而AList会检查ssl证书,证书又绑定了域名。因此这里要输入

https://qb账号:密码@你的.域名:8085

比如账号是123,密码是456,域名是www.baidu.com,那就输入

https://123:456@www.baidu.com:8085

然后点击设置qBittorrent,看看能不能连接成功。

设置好之后就可以使用离线下载了。

配置qBittorrent不走代理

插件设置往下拉,内部端口30000-65535

3、安装配置Jellyfin

建立媒体库目录

我们下载下来的资源,有时候标题会带一些奇奇怪怪的特殊符号,文件夹里面会有一些特典、扫描、主题曲等等,这些东西都会干扰Jellyfin的识别。但是如果直接修改文件名、目录结构、删除子文件夹等等,又会导致qBittorrent报错丢失文件。

当然你可以用qBittorrent自带的重命名功能这样就不会丢失文件了,但是我操作了一下感觉极其的麻烦,在有大量媒体文件时会消耗大量时间和精力。

我想到的解决方案是建立软连接,把文件夹还有子文件夹下的文件都保存原本的目录结构链接到群晖的共享文件夹内,然后删除不需要的链接并修改链接的名字,调整目录结构,这样不会对原文件产生影响。

新建link_files.sh

vim /usr/local/bin/link_files.sh


#输入以下内容






#!/bin/bash

# 检查参数
if [ "$#" -ne 2 ]; then
    echo "用法: $0 <源文件夹> <目标文件夹>"
    exit 1
fi

src_dir=$(realpath "$1")   # 获取源文件夹的绝对路径
dest_dir=$(realpath "$2")  # 获取目标文件夹的绝对路径

# 确保源文件夹存在
if [ ! -d "$src_dir" ]; then
    echo "错误: 源文件夹 '$src_dir' 不存在!"
    exit 1
fi

# 遍历源文件夹中的所有文件
find "$src_dir" -type f | while IFS= read -r file; do
    # 计算相对路径
    rel_path="${file#"$src_dir"/}"
    dest_path="$dest_dir/$rel_path"

    # 创建目标目录(如果不存在)
    mkdir -p "$(dirname "$dest_path")"

    # 创建符号链接
    ln -s "$file" "$dest_path"
done

echo "所有文件已成功链接到 $dest_dir"






#输入完成,按Esc :wq回车保存并退出


chmod +x /usr/local/bin/link_files.sh   #给予可执行权限

#假设你想把 /vol1/A/ 文件夹下的所有文件都链接到 /vol1/B/ 文件夹下
link_files.sh /vol1/A/ /vol1/B/


#如果文件夹名字太长且带有特殊符号不方便输入怎么办?善用Tab键命令补全,
#输入前几个标点和字符,然后按一下Tab即可补全路径

示例用法:

我直接把qb的下载目录  /vol2/1000/飞牛网盘/AList/天翼云盘/qbdownload 下面的所有文件全部链接到 /vol2/1000/飞牛网盘/video

100G的文件,只需要几秒钟就可以连接完成

回到Windows11上可以看到两个目录下出现了一模一样的文件

大小还是100g

而且也可以正常播放

接下来需要批量修改文件名。应该有很多工具可以实现吧。我比较习惯使用手机上的MT管理器。之前已经用sftp连接上了飞牛网盘玩机日记 10 fnOS 开启文件传输服务挂载到手机/电脑,测试传输性能-优快云博客

改完之后绝对不会影响识别了,而且也非常一目了然

把你的所有节目和电影分两个文件夹整理好

整理的时候会遇到一些字体文件的压缩包,找个文件夹全部解压进去,后面有用

安装Jellyfin

添加访问权限

配置Jellyfin媒体库

建立第一个节目文件夹,把你的文件夹添加进去,开启实时监控,把元数据下载器都勾上

在配置了网络代理或者修改了hosts的前提下,Jellyfin会自动扫描并刮削元数据

如果有识别错误的可以手动重新识别

扫描、识别完成后的效果展示

连小众番剧都能达到这么好的识别效果,还要啥TMM(TinyMediaManager)呢?

同样的方法添加电影媒体库

等待扫描完成

完成效果

打开硬件加速解码

我的uhd730不支持av1编解码所以av1相关的不开,否则会报错。记得拉到最下面点保存!

启用备用字体

播放一个视频试试看

什么情况,这字幕为啥都是方框?

这是因为Jellyfin没有内置字幕用到的字体文件,所以无法显示。

还记得我们之前解压的字体文件夹吗?把它添加到备用字体路径,启用备用字体。

再次播放,这样就正常显示了

配置Jellyfin的SSL

启用https

配置pfx证书和密码

玩机日记 1 前期准备工作:申请公网ipv4、购买域名、申请SSL证书-优快云博客

在日记8中我们下载了pfx证书

玩记日记 8 PC使用moonlight远程连接PVE上的Windows11,开启Windows11的远程桌面和ssh并添加转发,给远程桌面添加ssl证书-优快云博客

修改fnos中jellyfin的启动url

然后重启jellyfin

重启完成后从fnos打开jellyfin,正常访问,而且已经启用了https,没有红叉

测试硬件加速转码

手机jellyfin客户端打开一个hevc视频,电脑打开网页端控制台就可以看到转码了

下载手机jellyfin客户端jellyfin/jellyfin-android: Android Client for Jellyfin

我的fnos上运行了一些进程,闲置时cpu也有10%以上的占用。转码的时候帧率很高而且cpu占用也没怎么上涨,说明确实是在用硬件加速转码了。

<think>好的,我现在要帮助用户解决在FNOS部署Seafile的问题。首先,我需要确认用户的需求,他们想要一个详细的部署方法教程。根据用户提供的示例,回答需要结构清晰,分步骤说明,同时引用相关的参考资料。 首先,我需要回忆一下如何在Linux系统上部署Seafile。Seafile通常使用Docker进行部署,所以可能需要安装Docker和Docker Compose。不过用户提到的FNOS可能已经内置了一些工具,比如rclone,但不确定是否包含Docker。根据用户提供的引用[1],FNOS默认内置了rclone,如果需要安装其他软件,可以使用apt命令,比如安装rclone和fuse3。不过部署Seafile可能需要不同的组件。 接下来,我需要分步骤考虑部署流程: 1. 环境准备:安装必要的依赖,如Docker和Docker Compose。可能需要检查系统是否已安装这些工具,如果没有,通过apt安装。 2. 下载Seafile的Docker镜像,或者使用Docker Compose配置文件。 3. 配置Seafile的相关设置,如数据库(MariaDB/MySQL)、存储路径、端口映射等。 4. 启动容器并验证安装是否成功。 5. 可能还需要配置SSL证书,以确保安全访问,类似于引用[1]中提到的配置SSL的步骤。 6. 最后,可能需要配置反向代理或防火墙设置,以便外部访问。 需要注意的是,用户可能对Docker操作不太熟悉,所以步骤需要详细,包括具体的命令和配置文件示例。同时,引用用户提供的参考资料,比如使用apt安装软件的部分,可以引用[^1]。 在撰写过程中,要确保使用正确的中文表达,避免技术术语错误,并且按照用户的要求,使用行内公式的格式(虽然这个问题可能不涉及数学公式,但如果有版本号之类的需要强调,可以使用$...$)。同时,生成的相关问题需要与部署Seafile相关,可能涉及优化、备份、与其他工具的整合等。 需要验证步骤的正确性,例如Docker Compose的配置是否适用于最新版本的Seafile,以及端口是否冲突等问题。如果有不确定的地方,可能需要建议用户参考官方文档或社区支持。 最后,确保回答结构清晰,每个步骤有明确的标题和说明,代码块使用正确的语法高亮,并正确添加引用标记。生成的相关问题要具体,能够帮助用户进一步了解Seafile的使用和优化。</think>### FNOS 部署 Seafile 分步教程 #### 一、环境准备 1. **更新系统软件包** ```bash sudo apt update && sudo apt upgrade -y ``` 2. **安装必要依赖** - Docker 与 Docker Compose(若未预装): ```bash sudo apt install docker.io docker-compose -y ``` - 验证 Docker 安装: ```bash sudo docker --version ``` #### 二、配置 Seafile 服务 1. **创建项目目录** ```bash mkdir ~/seafile && cd ~/seafile ``` 2. **编写 Docker Compose 文件** 创建 `docker-compose.yml`,内容如下: ```yaml version: '3' services: db: image: mariadb:10.5 container_name: seafile-mysql volumes: - ./data/mysql:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=your_root_password - MYSQL_DATABASE=seafile - MYSQL_USER=seafile - MYSQL_PASSWORD=your_seafile_db_password networks: - seafile-net seafile: image: seafileltd/seafile-mc:latest container_name: seafile-server ports: - "8080:80" volumes: - ./data/seafile:/shared environment: - DB_HOST=db - DB_ROOT_PASSWD=your_root_password - TIME_ZONE=Asia/Shanghai depends_on: - db networks: - seafile-net networks: seafile-net: ``` > 替换 `your_root_password` 和 `your_seafile_db_password` 为实际密码。 3. **启动容器** ```bash sudo docker-compose up -d ``` #### 三、验证部署 1. **检查容器状态** ```bash sudo docker ps # 应显示 seafile-mysql 和 seafile-server 正常运行 ``` 2. **访问 Web 界面** 浏览器输入 `http://服务器IP:8080`,按提示初始化管理员账号和配置。 #### 四、配置 SSL 加密(可选) 参考 FNOSSSL 配置方法,使用 Let's Encrypt 或自定义证书: ```bash # 示例:使用 Let's Encrypt(需域名已解析) sudo apt install certbot python3-certbot-nginx -y sudo certbot certonly --nginx -d your-domain.com ``` 随后修改 Nginx/Apache 反向代理配置,将 HTTP 流量重定向到 HTTPS。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值