一、前言

大家好,我是攻城狮阿程,由于小雅超集的重心从更新自身版本转为同 EMBY 整合,于是打算讲讲如何在极空间上实现部署,结合网上各类零碎教程和个人搭建经验,帮助大家捋顺安装逻辑,全面的讲讲如何在极空间上通过虚拟机搭建 Ubuntu 桌面操作系统并通过 1Panel 平台实现小雅 EMBY 全家桶的布置,其他 NAS 及服务器系统也可以参考本文思路进行配置。

码字不易,喜欢我的教程欢迎各位多提建议多评论,畅所欲言,涉及破解、打倒美帝走近科学和资源分享的教程容易被和谐,也欢迎各位关注我的公众号和博客,以防走丢。

公众号:攻城狮阿程

博客:strider1230.cn

淘宝店:阿程数码

小红书:阿程数码

知识星球:阿程的资源社区

1.1 前期准备

  • 硬件环境:极空间Z4 8G(Z4 Pro 性能版及以上 效果更好)

  • 系统环境:Ubuntu 22.04.3 桌面版、1Panel 平台

  • 系统容量:至少大于 170 GB

  • 网络需求:极空间或全屋设备能够科学上网

  • 软件需求:注册后的阿里云盘

  • 令牌:阿里云的 Token、Open Token 等

1.2 令牌获取

打开以下 URL,点击获取 Token,使用阿里云盘手机 app 扫码,扫码后再次点击,将页面获取到的 refresh token 保存到 mytoken.txt 中备用。

https://alist.nn.ci/zh/guide/drivers/aliyundrive.html

再打开以下 Url,选择 Scan QrCode,依然是使用阿里云盘 app 扫描,扫描完成后点击 I have scan。

https://alist.nn.ci/tool/aliyundrive/request.html

将得到的这一长串 token 保存到 myopentoken.txt 中备用。

接下来到阿里云盘的资源库中新建一个目录用以转存缓存文件,只要是在资源盘就可以,名称和具体的路径都没关系,创建完成后进入目录内,将 url 最后的一串字符串保存到 temp_transfer_folder_id.txt 备用。

将所需令牌再做一个表格总结:

文件名

对应文件路径

获取方式

mytoken

/etc/xiaoya/mytoken.txt

https://aliyuntoken.vercel.app/
https://alist.nn.ci/zh/guide/drivers/aliyundrive.html

myopentoken

/etc/xiaoya/myopentoken.txt

https://alist.nn.ci/zh/guide/drivers/aliyundrive_open.html

temp_transfer_folder_id

/etc/xiaoya/temp_transfer_folder_id.txt

先转存这个

https://www.aliyundrive.com/s/rP9gP3h9asE

到自己网盘(选择资源盘),然后浏览器打开转存后的目录,浏览器的Url

https://www.aliyundrive.com/drive/file/resource/640xxxxxxxxxxxxxxxxxxxca8a

最后一串就是,记得这个目录不要删,里面的内容可以定期删除

1.3 系统环境搭建(感谢 koryking999 的教程)

首先到 Ubuntu 官网,下载一个最新的 Ubuntu 镜像。

https://ubuntu.com/download/desktop/thank-you?version=22.04.3&architecture=amd64

下载完成后上传到极空间。

打开极空间虚拟机,选择 linux 方式安装,点击下一步。

填入虚拟机名称,选择 Ubuntu 镜像,分配 CPU 和内存,因为小雅 EMBY 全家桶中 EMBY 是通过串流方式播放,不会在机器本地解码,所以 CPU 和内存无需太多,再填入一个没占用的端口号,点击下一步。

选择 M2 盘,分个 160g 以上,点击下一步。

选择 bridge 模式,点击创建。

创建完成后选中 Ubuntu,点击访问,打开的页面选中第一项 try or install ubuntu,点击回车。

左侧选择中文简体后点击右侧的安装 Ubuntu。

键盘布局选择中文,点击继续。

选择最小安装,将安装 Ubuntu 时下载更新的选项勾掉,点击继续。

直接点击现在安装,出来的弹框也点击继续。

区域选择中国的区域即可,直接点击继续。

输入要创建的用户名和密码,点击继续即可进入正式安装步骤,需要耐心等待下。

等待一段时间会提示安装完成需要重启,直接点击现在重启。

显示这个页面时,直接点击键盘回车。

等待系统启动,填入密码进入系统。

因为极空间自身的 vnc 远控使用会有延迟,因此建议先安装 SSH 服务,通过本地连接到 Ubuntu 命令行进行后续操作,点击左下角的功能菜单,选择终端打开。

输入 sudo -i 后输入用户密码进入 root 权限用户。

进入 root 用户后,输入以下命令。

apt-get update

接着输入以下命令,再根据提示输入 y,进行 SSH 服务部署。

apt-get install openssh-server

接下来点击右上角网络标志,点击有线设置。


点击有线后的设置按钮。

找到 IPv4 地址,此处 IP 是你的虚拟机系统的IP,而不是你的极空间第二个网口的IP,请注意区分。

接下来就可以到本地使用 SSH 工具(推荐 Terminus)或者使用 Windows 自带的命令提示符进行连接来安装 1Panel 了。

1.4 Ubuntu 桌面端部署 1Panel 面板(感谢 枋柚梓 的教程)

等待系统启动,填写密码进入系统后,打开终端,此处虚拟机地址以 10.0.10.15,用户名以 szyink 为例,实际根据个人情况自行替换。

进入系统的第一步,我们先完成应用列表更新:

sudo apt update
sudo apt upgrade

接着,我们通过如下脚本安装 1Panel 管理平台

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

安装成功后,控制台会打印面板访问信息,可通过浏览器访问 1Panel:

http://目标服务器 IP 地址:目标端口/安全入口

根据安装过程中设置的用户名、密码、端口,打开浏览器进行访问。

1.5 1Panel 面板简介

可能更多人听说的是宝塔面板,而对 1Panel 知之甚少。之所以选择 1Panel 而不是宝塔面板,是因为宝塔面板闭源且激活时上传服务器信息并强制绑定手机号,商业化程度严重(内部存在大量的付费功能推广),而 1Panel 开源、界面美观现代化、功能上简单易用、基于 Docker 部署,除基础的 Nginx、Php、MySQL 等服务外,支持常见应用的一键部署:如 Bitwarden、Cloudflared、兰空图床、可道云、ddns-go、AdGuardHome、青龙、Jellyfin、alist、Halo 博客等应用。而除了一键部署,也可以使用 Compose 安装,多种需求都能满足。


二、通过 1Panel 平台部署 小雅 EMBY 全家桶系列

2.1 安装小雅 Alist(感谢 rumple 、xiaoya 大佬提供部分教程)

推荐使用 DDS-Derek 大佬的小雅安装脚本进行组件安装。

第一步:打开1Panel 终端,连接到 Ubuntu 系统的 SSH。

第二步:输入 sudo -i ,接着输入密码获取管理员权限后,执行 DDS-Derek 的如下脚本命令,(以下命令三选一即可)。

bash -c "$(curl -sLk https://ddsrem.com/xiaoya_install.sh)" #主命令
bash -c "$(curl -sLk https://cdn.jsdelivr.net/gh/DDS-Derek/xiaoya-alist@latest/main.sh)"  #备用命令
bash -c "$(curl -sLk https://raw.githubusercontent.com/DDS-Derek/xiaoya-alist/master/main.sh)" #备用命令

在弹出的脚本界面中,选择1 安装小雅Alist。

  • 配置文件默认安装到 /etc/xiaoya 目录。

  • 输入指令前可以提前通过 1Panel 的“主机-文件”在 /etc/xiaoya 目录下上传 1.2 令牌获取的三个文件,这样的话运行脚本安装小雅Alist时会自动识别,不用再次输入。

  • 建议以 host 模式安装 小雅 Alist 容器。

如下图所示,小雅 Alist 就安装完成了。

部署完成后就可以在 虚拟机IP:5678 ( 如192.168.31.158:5678)访问小雅,部署完成需要等几分钟才能看到小雅列表。

看到小雅列表后点击元数据->all.mp4,能正常播放则配置完成,如提示too mush request则等待十分钟或一小时后再尝试。

部署完成后进入极空间对虚拟机进行关机,关机完后再开机(不关机开机可能之后部署emby会找不到小雅),

等待开机后确认能播放 元数据->all.mp4 的视频后进行章节2.2的操作。

2.1.1 进阶操作:如果网页出现了“Bad Request:xxx”,日志里出现了 fild id 失败

排查思路如下:

1. 看看自己阿里网盘是不是满了,满了就删,无需重启小雅容器;

2. 替换 folder id,记得是“资源库”里的目录, folder_type.txt里资源盘如下图对应的是r,(如果你 folder_type.txt选了b,那么要选对应“备份盘”里的目录);

3. 替换 mytoken.txt里的tokenmyopentoken.txt里的token,重启小雅容器;

4. 一键升级你的小雅容器;

5. 如果上述都做了还是出现这个现象,那么说明你的账号有问题了,被限制或者被封号了。

无需知道原因,按照次序试,这1-4四步基本都能搞好,2,3,4步可以合并一起操作,这样就无需重启3次了。

2.1.2 进阶操作:小雅容器重启后只有一个版本号

出现该问题说明网络没有获取到数据,简单的排解方法是确保你的极空间设备能够翻墙后,对小雅容器进行重启。

详细的排解方法:

先确定是 docker 的防火墙问题还是本地的网络问题,输入如下命令:

docker exec -it xiaoya wget -q -O - http://docker.xiaoya.pro/version.txt

1. 如果能获取版本号,那么本地网络没问题,则有 2 个选择:

a. 重启设备(暂时的解决方法,过几天还会出现)

b. 用 host 模式安装(推荐)

2. 如果获取不到版本号,则说明你本地网络连不上 docker.xiaoya.pro,请把这个域名放入科学上网规则后再试,如果还是不行,那么回到上述 1 里的方法来解决。

2.1.3 进阶操作:Pikpak 的使用

此版小雅一键安装脚本无需新建文件,只需要自行添加账号密码即可,需要添加和修改的文件名如下:

pikpak 格式:"账号" "密码"

pikpak_list 格式:挂载名 "账号" "密码"

pikpakshare_list 格式:直接导入其他人的txt文件

2.2 安装小雅 Emby 全家桶

进行安装前,我们需要进入 1Panel 的文件管理页面找到 小雅Alist 的安装目录,在该目录下新建一个名为media 的文件夹并赋予最高权限,这样做是为了后续 Resilio 同步时不会出现权限不够的问题。

接着开始安装 小雅 Emby 全家桶。

输入2 回车,根据安装提示进行安装,脚本会自动读取小雅配置文件的路径,媒体目录输入你自己的媒体路径,不输入的话会默认到路径/etc/xiaoya/media,回车后还会让你选择 Emby 版本和镜像模式,可以参考下表进行选择,接着回车开始下载元数据并解压,时间比较长,速度取决于你的机器处理能力和网速。

元数据解压完成:

当页面显示下图内容时,表示 EMBY 全家桶已经部署完成。

EMBY安装完成后,请先重启虚拟机,之后即可输入虚拟机IP:2345访问。

点击 xiaoya 账户并登入,EMBY的默认账号:xiaoya,密码:1234

浏览器解码能力较弱,推荐使用第三方播放器进行播放。

2.2.1 进阶操作:如何选择 /媒体库 目录

因为 Linux 和 Windows 文件系统不一样,Linux 没有盘的概念,没有如 C盘、D盘,而是以树状目录结构,不同磁盘挂载到不同目录,所以要选择一个足够大小空间的目录来当作 /媒体库目录,不然就无法安装 Emby,现在的 Emby 需要大概140G的空间,包括大约50G的元数据下载包,70G的解压内容,和一些余量当作同步的缓存。

执行df -BG |grep -E -v "Avail|loop|boot|overlay|tmpfs|0%|proc" |sort -nr -k 4

来观看现在系统的磁盘挂载目录及空间情况,结果示例如下:

/dev/sda2           200G   16G      184G   1% /mnt/sda
/dev/mmcblk2p2       14G    3G       11G  17% / 
/dev/zram2            1G    1G        1G   1% /var/tmp
/dev/zram1            1G    1G        1G  71% /var/log

第4列显示剩余空间,那么根据上述结果,/mnt/sda 还有184G的剩余空间,所以你可以选择 /mnt/sda 的子目录作为/媒体库目录。

mkdir /mnt/sda/emby
chmod 777 /mnt/sda/emby

上述命令将会创建一个子目录 /mnt/sda/emby,这个就是你的 /媒体库目录,在一键脚本 emby_new.sh 中,media_dir=/mnt/sda/emby

2.2.2 进阶操作:访问 虚拟机IP:2345 出现 500 错误

如果你在重启虚拟机后访问小雅EMBY仍然出现500错误,那么需要确定 xiaoya 和 Emby 容器是不是在同一台设备上,如果是,在emby_server.txt 里写成

http://172.17.0.1:6908

然后重启xiaoya容器

如果还是打不开2345端口,那么试试端口号:6908,如何也打不开,那么尝试打开端口8096,如果能打开端口8096,说明你的元数据有问题,config.mp4是旧的,需要删除所有元数据包,重新一键全家桶,如果都打不开,则将上述的IP改为你虚拟机系统的IP。

这里补充一个解决方法:

指令直接添加

docker exec -i emby sh -c 'echo -e "127.0.0.1\xiaoya.host" > /etc/hosts'

接着 ping xiaoya.host查看是否连通。

2.2.3 进阶操作:播放视频提示“没有兼容的流”

出现该问题的几个原因:

1. 网页播放,或者使用了 Emby TV 客户端,容易出现无法解码的问题;

2. 没有配置好 xiaoya.host

① 不是通过一键安装脚本部署的,emby创建时没有添加文件映射 /etc/nsswitch.conf:/etc/nsswitch.conf

② 没有配置宿主机 /etc/hosts文件,需要添加一条记录(如果xiaoya和Emby容器在同一台设备上)

127.0.0.1 xiaoya.host

3. 元数据没有同步,strm文件里的链接已经失效(被阿里和谐或者发布人修改了路径)

2.2.4 进阶操作:Emby 播放一些热门剧会出现 404 错误?

因为这些热门资源都是阿里和谐严重的资源,所以放到了pikpak上面,如果你的 xiaoya 没有配置好 pikpak 就会看不了,请自行注册 pikpak ,编辑 pikpak.txt 重启后就能观看 pikpak 资源了,提醒:pikpak 需要科学上网才能观看。

2.3 安装 Resilio 同步以及元数据更新

文中版本的 小雅 EMBY 一键全家桶已整合 Resilio 容器,并且自动填入定时任务,无需手动安装,另外 config 目录会自动进行同步,无需单独添加同步文件夹。因此在脚本提示安装 Resilio 完毕后,虚拟机IP:8888(如有端口占用请先自行排查并更改其他容器的端口),新建管理员账户,一路下一步,然后点击下图红框处填入密钥并指定同步文件夹。

同步路径与对应的同步密钥规则如下:

/每日更新/电视剧(保存到 /sync/xiaoya/每日更新/电视剧)

BHB7NOQ4IQKOWZPCLK7BIZXDGIOVRKBUL

/每日更新/电影(保存到 /sync/xiaoya/每日更新/电影)

BCFQAYSMIIDJBWJ6DB7JXLHBXUGYKEQ43

/电影/2023(保存到 /sync/xiaoya/电影/2023)

BGUXZBXWJG6J47XVU4HSNJEW4HRMZGOPL

/纪录片(已刮削)【保存到 /sync/xiaoya/纪录片(已刮削)】

BDBOMKR6WP7A4X55Z6BY7IA4HUQ3YO4BH

/音乐(保存到 /sync/xiaoya/音乐)

BHAYCNF5MJSGUF2RVO6XDA55X5PVBKDUB

输入同步密钥:

根据上述规则选择对应的同步目录,Status 状态为✅即完成同步。

每一个同步项目的设置都需要改为下图设置,不然无法实现不关容器同步替换 EMBY 媒体库内容。

补充说明:Resilio 能正确同步的前提是 docker-resilio 目录能映射到小雅 Emby 目录。

2.3.1 进阶操作:Resilio 同步完成有感叹号如何解决

说明小雅文件与本地文件冲突,或本地文件没有写入权限。

解决办法(二选一):

  • 清空本地 config_sync,每日更新-电视剧,每日更新-电影 ,这个三个文件夹再同步

  • 用小雅文件覆盖本地文件

选择有问题的同步项目,点击右侧菜单中的首选项

勾选覆盖任何已更改的文件

2.3.2 进阶操作:出现 can’t download file 错误如何解决

出现上述错误,其实文件已经同步完成了,只是本地没有正确索引,解决方法如下:

  • 方法一:重启 Resilio 容器;

  • 方法二:先移除同步出错项目的连接,然后再重新连接,如果还是无法解决问题,则在重新连接前把该同步目录下的.sync文件夹彻底删除后,再重新连接。

2.3.3 进阶操作:关于不使用小雅 EMBY 一键安装脚本又想用 Resilio 进行同步

使用 Resilio 保持同步更新,同步的脚本已包含在一键全家桶脚本里了,一般无需单独执行,如果需要单独使用则使用如下命令:

bash -c "$(curl http://docker.xiaoya.pro/resilio.sh)" -s /媒体库目录

如果 xiaoya 配置目录不在/etc/xiaoya,那么把自己的xiaoya配置目录当作第二个参数传入,命令如下:

bash -c "$(curl http://docker.xiaoya.pro/resilio.sh)" -s /媒体库目录 /xiaoya配置目录

会创建/媒体库目录/config_sync,这是你的同步目录(无法使用一键安装的,自行新增这个目录,名称一定要相同,不然无法执行定时更新config任务),然后定时会把同步目录的文件复制到Emby目录,也就是

config_sync -> config

同步时无需关闭 Emby,因为会24小时不间断同步,更新 config 时保留你自己的配置(用户,密码,播放记录)和自动关闭并重启 Emby(默认每隔3天,早上6点替换Emby config)

2.3.4 进阶操作:如何提高 Resilio 同步的速度并使其保持通畅

Resilio 同步的本质是bt同步,因此如果你有设置过bt下载的经验,则这个原理是一样的,具体排查如下:

1. 确保 能连接到 https://config.resilio.com/sync.conf;

2. 确保 能连接 sync.conf 里的节点;

3. 确保 sync.conf 里的 tracker 端口能被连接(路由器端需要放行,此处以小米路由器为例,端口转发规则添加如下图所示规则);

4. 确保 UDP 能够通行,这样TCP+UDP 上下行数据传输更加畅通;

5. 确保 Resilio 有足够的inotify watches可用,这里提供一个参考数值图,请自行抓取对比并进行设置,设置文件的路径为:/etc/sysctl.conf

抓取命令:

sysctl -a | grep inotify

设置参数:

fs.inotify.max_user_watches = 204800

然后输入如下命令从/etc/sysctl.conf文件加载系统参数:

sysctl -p

2.4 安装 小雅助手 xiaoyahelper

2.4.1 小雅助手简介

小雅助手是可以自动帮助你定期清理小雅转存、每日进行阿里云盘签到并对 小雅Alist 容器进行自动更新的容器工具。

2.4.2 小雅助手安装

小雅助手默认跟随小雅EMBY全家桶进行安装,如确实需要手动安装,也可以执行一键安装脚本中的选项3来进行安装。

2.4.3 小雅助手功能介绍

① 定时清理缓存

模式0:每天自动清理一次。如果系统重启需要手动重新运行或把命令加入系统启动。

bash -c "$(curl -shttps://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 0 -tg

模式1:一次性清理,一般用于测试效果。

bash -c "$(curl -s https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 1 -tg

模式3:创建一个名为 xiaoyakeeper 的 docker 定时运行小雅转存清理并升级小雅镜像。

bash -c "$(curl -s https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 3 -tg

模式5:与模式3的区别是实时清理,只要产生了播放缓存一分钟内立即清理。签到和定时升级同模式3。

bash -c "$(curl -s https://xiaoyahelper.ddsrem.com/aliyun_clear.sh | tail -n +2)" -s 5 -tg

关于模式0/3/4/5定时运行的说明:

1、默认从运行脚本的下一分钟开始,每天运行一次;

2、运行的时间也可以通过手动创建/etc/xiaoya/myruntime.txt修改,比如06:00,18:00就是每天早晚6点各运行一次。

② 自动升级

1、定时升级的命令保存在/etc/xiaoya/mycmd.txt中,删除该文件变成定时重启小雅;

2、完成清理和签到后自动执行/etc/xiaoya/mycmd.txt中的命令,该文件中的内容默认升级小雅镜像,可以修改该文件改变脚本的行为,不建议修改。

③ tg 推送:

所有模式加上-tg功能均可绑定消息推送的TG账号,只有第1次运行需要加-tg参数

三、 通过极空间自带远程登录功能进行访问

以 小雅 Alist 为例,上述所有容器入口均可以通过此法创建访问快捷方式。

第一步:先点击极空间的“远程访问”图标;

第二步:在弹出的对话框中点击“添加新的链接“按钮;

第三步:在弹出的”编辑远程访问“对话框中,备注栏填写:小雅 alist,地址栏填写:"虚拟机IP:5678",点击“保存”按钮。

第四步:对刚创建的 远程访问 栏点击鼠标右键,在弹出菜单中选择“首页快捷方式”,在极空间桌面上创建 小雅Alist 页面的快捷方式。

四、结语

通过上述步骤,我们完成了小雅EMBY全家桶搭建部署和基本配置的全部过程。如果你的极空间是 Z4 Pro 性能版、Z423 标准版及以上,那么机器长期运行上述几个容器并定期同步 EMBY 媒体库是没有太大压力的。