前言
极空间上部署音乐服务,不一定非要从本地音乐库开始。另一种玩法,是直接运行一个基于浏览器的第三方音乐播放器,让 NAS 负责长期运行服务,电脑和手机只负责打开页面。
本文体验的 R3PLAYX 就属于这一类项目。它提供 Web 音乐播放界面,并支持 Windows、macOS、Linux 以及 Docker 等运行方式。这次不在电脑上单独安装客户端,而是把它放到极空间里:先开启 SSH 和 Docker,然后使用 docker-compose.yml 同时启动前端与后端两个容器,其中前端映射到 2222 端口,后端使用 35530 端口。
部署完成后,会实际进入网页界面,测试歌手搜索和基本播放功能,看看这种第三方 Web 播放器在 NAS 上运行时的实际使用方式。
如果还希望离开局域网以后继续打开这个页面,后半部分会通过 cpolar 将本地 2222 端口提供到外部网络,并进一步配置固定二级子域名。重点是把一个原本只能在家里访问的 Web 音乐页面,扩展成可以跨设备使用的自托管服务入口。

R3PLAYX 是一款高颜值第三方网易云播放器。支持 Windows 、macOS 、Linux 和 Docker。本文,我们将从极空间部署,跟我一起操作吧!
1.在极空间使用Docker部署R3PLAY
1.1ssh远程连接到极空间
开启极空间后,点击系统设置:

点击设置:

收到输入"知晓风险":

输入账号密码,启用:

尝试一下ssh是否开启成功,连接:

输入密码:

连接成功:

1.2安装docker
跟我操作打开docker:

将docker添加到桌面方便寻找:

确定:

选择docker存放数据硬盘:

加载成功!

验证docker是否开启:
shell
systemctl status docker.service

1.3安装R3PLAY
以docker形式安装,先建存放视频文件夹:
shell
mkdir -p /docker/r3play
cd /docker/r3play

请将下面的内容保存为 docker-compose.yml 文件:
shell
version: '3'
services:
frontend:
image: sherlockouo/xtify-music-web:latest
container_name: xtify-music-web
restart: unless-stopped
ports:
- 2222:80
backend:
image: sherlockouo/xtify-music-server:latest
container_name: xtify-music-server
restart: unless-stopped
ports:
- 35530:35530
执行下列命令:
shell
docker-compose up -d

在浏览器中输入 http://极空间IP:2222 就能看到登录界面:
不想登录也可以的,点击" x "后,也可以听歌:
我们来搜索一个歌手,他的歌单就可以出来了:

别的国家也可以搜索到哦:

免会员!无广告!不卡顿!R3PLAY,专治网易云"听歌焦虑"。再用 cpolar 穿透上网,手机在外也能连回家,随时听歌不中断。
接下来跟我一起安装cpolar实现听歌自由吧也可以共享给好友哦
2.安装cpolar实现随时随地听歌
cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
shell
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
shell
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

3.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理------创建隧道:
- 隧道名称:可自定义,本例使用了:r3,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:2222
- 域名类型:随机域名
- 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功。

4.保留固定公网地址
使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是r3,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理------隧道列表,找到所要配置的隧道r3,点击右侧的编辑。

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问极空间的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

这样我们就可以,随时随地听免费的歌曲啦!
总结
这次部署真正验证的,是 R3PLAYX 可以作为一个 Web 音乐播放器运行在极空间的 Docker 环境中。
前端和后端容器启动以后,局域网设备通过浏览器就可以进入播放页面,不需要在每台电脑上重复安装独立客户端。对于一台原本就长期在线的 NAS 来说,这类 Web 应用最大的优势,就是把程序集中运行在一台设备上,再由不同终端通过浏览器访问。
通过 cpolar 给 2222 端口增加固定公网入口以后,这个页面还可以继续从外部网络打开。
不过第三方播放器能够展示和播放哪些音乐,仍然取决于项目本身的实现、上游服务以及对应平台规则。一次测试能够正常播放,并不等于所有歌曲都可以免费使用,也不代表能够替代官方会员服务。把它作为一个 NAS 上的第三方音乐 Web 客户端来体验,会比强调"免费听所有歌"更加准确。