【241104】Windows 自建媒体库全流程指北
pt吧
全部回复
仅看楼主
level 8
MrXuanYi 楼主
翻了翻吧里好像还没有人写这样的东西,虽然大部分佬们都是几十 T 的群晖起步,但是我相信也有很多人像我一样是用手头的电脑加块硬盘这么用的,那这种情况下很多基于群晖等NAS系统或者服务器环境的教程就不能直接用,我自己在部署的时候也踩了许多坑,故此想要出一篇这样的指北教程,希望能够帮助到有同样需求的人。
预计文章中包含以下部分的内容:
- Windows 下的环境准备 (wsl, 网络和 portainer)
- 媒体服务安装和配置优化 (MP, Jellyfin, qbittorrent, cookiecloud)
服务的部署倒是其次,因为网上有大把教程可以搜来补充,我更希望重点和大家唠唠过程中踩的一些坑(比如 wsl 配置代理,对外提供服务时候网络的选择,qb 的一些默认配置,web 串流格式),以及交流一些配置的优化项(Jellyfin 硬解杜比视界)这些
2024年11月04日 12点11分 1
level 8
MrXuanYi 楼主
二楼留给自己,不知道大家是否对这类内容感兴趣呢
另外因为是现写现发,可能没法一下更完
2024年11月04日 12点11分 2
感兴趣,想看看win能做到什么程度
2024年11月04日 14点11分
我会尽量按照章节划分,大家如果有配置过的部分(比如已经配置好 wsl 环境了)那么就可以跳过对应的章节
2024年11月04日 16点11分
前面 windows 专有的环境配置部分 (wsl + docker + portainer) 确实比较复杂,这篇等这篇更完了我计划单独出一个操作篇,搞个虚拟机给大家过一遍,搞些图来,不过 portainer 配置完成之后其他所有服务都很简单了,每个服务只需要几行配置文件,一键启动
2024年11月05日 01点11分
统一回复一下觉得很多服务都有 Windows 应用的朋友为什么不用,因为明显不是所有的服务都有(比如剩下的 Jellyfin, ddns, cookiecloud,甚至肥羊大佬的 allinone 等等),这种情况下我们是仍然避免不了通过 docker 起一些服务的,反而会造成管理上的混乱,并且每个服务还得套一个 GUI
2024年11月05日 01点11分
level 10
帮顶,为了防止占用楼层,后面的人可以都在这层楼回复,不影响观看楼主教程[太开心]
2024年11月04日 13点11分 4
level 9
插个眼,慢慢等楼主出教程
2024年11月04日 14点11分 5
level 11
真心需要
2024年11月04日 14点11分 6
好好好,有需要我就更新[吐舌]
2024年11月04日 16点11分
level 8
MrXuanYi 楼主
为什么玩 pt 这类的话我就不多说了,直接开始正文[哈哈]
在服务的部署上其实我们有很多的选择,楼上的老哥也说到一些服务是有自己的 Windwos 服务端应用的,包括 MP 应该也是有自己的 Windows 应用,但是很明显不是所有的服务都有(比如剩下的 Jellyfin, ddns 等等服务),这种情况下我们是仍然避免不了通过 docker 起一些服务的,反而会造成管理上的混乱
那么剩下的两种选择,一种是 Docker 目前主推的 Docker Desktop,一种是通过 wsl + portainer 管理 Docker,前者的优势很明显,安装方便配置简单,不用配置就有可视化界面,搜索框里搜索一下直接 pull image,进阶用户通过 cmd/power shell 也能通过 docker compose 一键拉起服务,因此我一开始也是选择的 Docker Desktop
但是[滑稽],但是来了,Docker Desktop 经过我一个月的使用有这些坑存在:
1. 首先 Docker Desktop 本身界面是没有集成 compose 本地容器编排的,这导致我们要么一个一个起服务,要么就得通过 cmd 命令行执行 docker compose,直接丧失了 Docker Desktop 有友好界面的优势,并且多个 compose 编排文件都要我们自己管理
2. Docker Desktop 对于容器的网络模式有限制,只有登陆的用户可以使用 network_mode=host 至于为什么我没有调查过,但是这直接导致每次机器重启的时候网络模式为 host 的服务都掉线了(毕竟梯子和 Docker 谁先启动不是我能决定的),必须登录后手动重启 docker engine,即使我电脑基本都是 7*24 小时开机的了,每次重启都要搞这么一趟还是很麻烦
3. 对于一些服务,其本身是需要和 docker 进程本身通信的,比如我们有时会见到 /var/run/docker.sock:/var/run/docker.sock 这样的映射,而对于这种服务,Windows 上的 Docker Desktop 目前是做不到的,没有这个 sock 文件或类似的其他方式(具体可以搜一下 stack overflow)
而且这些坑不是说靠一些配置或者方法能够解决和绕过去的,因此综合以上因素我最后选择了 wsl+portainer 进行服务的统一管理,优点基本就是上面几点反过来,界面好用,可以直接在界面上修改和更新 docker 编排文件,然后 wsl 基本配置也和服务器配置大差不差,99% 的 Linux 教程可以直接拿来用,目前也是用了一个月,感觉比较舒服,唯一一点不爽就是 wsl 本身和 Docker 类似也必须要维持一个进程,如果把窗口关了所有服务也停了,不过只要配置一个开机自动启动,平时窗口最小化也没什么影响
2024年11月04日 15点11分 7
level 8
MrXuanYi 楼主
补两张 portainer 管理界面的图,有多少 stack (多少组容器),容器数量,网络,volume 数量一清二楚
我自己流媒体服务器包含的所有容器服务,更新也是通过在界面上更新编排文件之后一键完成全部容器的更新
2024年11月04日 15点11分 8
level 8
MrXuanYi 楼主
讲到的东西,名词和概念之类的我会尽量做一些解释,但是不可避免有一些漏过的,大家可以直接在对应楼层问我,尽量给大家回复
2024年11月04日 15点11分 9
level 10
这么多字以后一定是精华
2024年11月04日 15点11分 10
借你吉言[吐舌]
2024年11月04日 16点11分
level 9
网上确实没搜到有,期待楼主的教程
2024年11月04日 16点11分 11
那太好了,我就是看那些教程太碎了,而且坑太多了哈哈
2024年11月04日 16点11分
level 8
MrXuanYi 楼主
说了半天还没到实际配置,废话是不是有点多哈哈
[吐舌]
安装 wsl 分两步,开启虚拟化和安装对应的 Linux 发行版
首先开启虚拟化需要在 bios 和 windows 两个地方完成:
1. BIOS 中开启 hyper-v,amd 和 intel 在 bios 中设置的位置不同,大家可以自己搜一下
2. 控制面板->程序->启用或关闭 windows 功能 ->开启 Windows 虚拟化和 Linux 子系统(WSL2)以及Hyper-V
接着是安装 Linux 发行版,没什么特殊需求的话就用 Ubuntu,用的人最多,现在安装发行版也比以前简单得多,直接去 Microsoft Store 里搜索 Ubuntu 下载想要的版本就好(我选择的是 Ubuntu 24.04.1 LTS),除了 Ubuntu 以外同时下载一个终端预览,相比默认的 cmd 或者 power shell 更好用,安装完成后终端上点击 + 旁边的小箭头,直接能看到我们安装的 Ubuntu,第一次打开会让创建一个用户,按自己喜好创建就好,别忘了密码
写到这里停下来看看自己写的又感觉太简略了[黑线]不过这段没图我就是写的再仔细也写不清楚,大家还是搜一搜 wsl 安装教程来装一下,我就站在巨人的肩膀上继续讲讲 wsl 的坑
wsl 的一个坑就在于其默认的网络模式是 nat,这个默认模式下 wsl 会将 windows 机器作为网关,也就是所有的应用都要先通过 windows 然后再向目标服务器发起请求,那对于我们的影响就是有两点
1. wsl 上起的服务隐藏在 nat 后,会导致服务的连通性变差,我虽然没测试过,但是我猜 qb/tr 等下载器在 nat 后是没法连到站点的,(除非 wsl 能配置端口转发,然后路由器再来一层转发[狂汗]),而且也不好对外提供服务
2. 最捞的一点,nat 模式下 wsl 每次重启这个子网地址都会随机变化,导致你配置的代理每次重启都失效,我之前是自己写了个脚本检测网关变化,然后每次自动修改 zsh,docker 还有个什么的包管理器配置的代理地址,然后重装系统没备份[喷]不想重写这玩意了
3. 升级 win11 之后我发现最新的 wsl 版本有一个提示,如果你开启了代理,他就会提示你 "检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。" 这个提示非常很烦人,而且这个问题不要去网上搜解决办法,按照我后面说的办法来解决,到时候会解释
-----------太长了分个行-------------
当我们安装好 Ubuntu 并且看到 "检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。" 这个提醒的时候很有可能会在网上搜索一下,然后就会看到清一水的教程让我们修改 wslconfig 配置文件,把网络模式改成 mirror 再加一个 autoproxy,这个是 wsl 更新之后才有的,但是不要这么改,因为我实测用了这个模式之后没法给局域网用户提供服务,所有的服务只能本机访问 (甚至只能 127.0.0.1 访问,本机 ip 都不行,除非你加另一个配置 hostAddressLoopback 把所有本机地址都映射到 locahost,但是局域网还是不能访问这些服务)。
因此我们选择第三种网络模式,也就是 bridge 模式,通过这种模式配置我们把 wsl 摆在和 windows 齐平的位置上,配置方法如下(觉得全是字不直观的话也可以去搜一下,教程很多):
首先在 Hyper-V 管理器中创建一个虚拟交换机,在 Actions -> Virtual Switch Manager -> New virtual network switch,选择外部网络和对应的网卡,名字叫做 wslBridge 即可
接着在 /mnt/c/Users/{用户}/ 目录下创建一个 .wslconfig 文件,添加以下内容:
----------------
[wsl2]
networkingMode=bridged
vmSwitch=wslBridge
----------------
重启 wsl 即可,这时路由器会将其认为是一个独立的设备并为其分配 ip,因此只需要将代理 ip 配置为 windows ip(注意在 windows 防火墙上开一个入站规则,允许访问代理端口)
最好通过路由器设置为 wsl 绑定一个静态 ip,方便之后访问服务[吐舌]
2024年11月04日 16点11分 12
level 8
大佬,图文教程好点,新手真看不懂
2024年11月04日 16点11分 13
哈哈哈好,主要我废话这么多其实就讲了一个安装wsl,后面尽量图文并茂
2024年11月04日 17点11分
新开了一贴图文纯操作教程的,可以去看看
2024年11月05日 03点11分
level 8
快更新[真棒]
2024年11月04日 18点11分 14
好好好
2024年11月05日 00点11分
level 9
能不能说一下mp的exe版配置教程 谢谢楼主[乖]
2024年11月04日 18点11分 15
没有选用 exe 版的方案哦,不过配置也大差不差,到时候更到了你可以借鉴一下,MP 基础配置不难的
2024年11月05日 00点11分
level 1
用的nastools然而却没有pt下载站账号[泪]
2024年11月05日 00点11分 16
吧里蹲一蹲很多小站就有了,不难的
2024年11月05日 00点11分
nastool也可以用来搜bt资源
2024年11月05日 01点11分
1 2 尾页