极空间部署 R3PLAYX:用 Docker 搭一个简洁的 Web 音乐播放器并支持外网访问
前言
有时候打开音乐软件,真正想做的事情其实很简单:搜一首歌、点开播放、看看歌词。
但现在不少客户端同时承载推荐、社区、活动和各种内容入口,功能越来越多,真正用来听歌的页面反而显得拥挤。对于已经有 NAS、又习惯自建服务的人来说,一个更轻量的 Web 播放入口会更顺手:不需要专门打开桌面客户端,浏览器里就能完成搜索和播放。
R3PLAYX 是一个第三方网易云播放器,支持 Windows、macOS、Linux 和 Docker。本文会直接在极空间上用 Docker 部署它,并按原文已有操作验证:不登录时能否进入页面、能否搜索歌手、能否正常显示歌单。
本地使用跑通以后,再处理第二个问题:如果人在外面也想打开这个 Web 播放页面,再通过 cpolar 给前端 2222 端口增加公网访问入口。
整篇文章只围绕两个目标展开:先把一个简洁的音乐 Web 页面跑起来,再按需要决定是否开放远程访问。

R3PLAYX 是一款第三方网易云播放器,支持 Windows、macOS、Linux 和 Docker。下面直接从极空间部署开始。
1.在极空间使用 Docker 部署 R3PLAY
1.1ssh远程连接到极空间
开启极空间后,点击系统设置:

点击设置:

收到输入“知晓风险”:

输入账号密码,启用:

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

输入密码:

终端能够正常进入极空间后,说明 SSH 已经启用,可以继续准备 Docker 环境:

1.2安装docker
接下来确认 Docker 已经安装并运行。R3PLAYX 后面会通过 Compose 启动前端和后端两个容器,因此先把运行环境准备好:

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

确定:

选择docker存放数据硬盘:

Docker 加载完成。

继续验证 Docker 服务是否正常:
systemctl status docker.service

1.3安装R3PLAY
Docker 服务正常以后,开始部署 R3PLAYX。这里继续按照原文的 Docker 方式安装:
mkdir -p /docker/r3play
cd /docker/r3play

请将下面的内容保存为 docker-compose.yml 文件:
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
执行下列命令:
docker-compose up -d

容器启动后,在浏览器中输入 http://极空间IP:2222 访问前端页面。
原文实测中,登录界面可以直接关闭,再继续进入播放器页面。随后搜索歌手,页面能够返回对应歌单:

原文还继续测试了其他地区的歌手搜索,页面同样能够返回结果:

到这里,R3PLAYX 在极空间局域网内已经能正常打开,并完成了搜索和播放入口的验证。
如果平时只在家里的电脑、手机或平板上使用,到这里其实已经够了;只有当设备离开家庭网络以后,还希望继续访问同一个播放器页面,才需要再增加公网入口。
下面继续安装 cpolar。它只负责把本地 2222 Web 页面提供到外部网络,不参与 R3PLAYX 本身的搜索和播放逻辑。
2.安装cpolar补充外网访问
在继续之前,先确认 http://极空间IP:2222 在局域网内已经可以正常打开。这样后面如果公网地址访问异常,可以把 R3PLAYX 本地服务和隧道问题分开排查。
以下按照原文步骤安装 cpolar:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看 cpolar 服务状态:
sudo systemctl status cpolar

cpolar 安装并启动后,在浏览器中通过主机 IP 加 9200 端口访问 Web 管理界面。登录账号后,后面的隧道配置都在这里完成。
打开浏览器访问本地 9200 端口,登录后即可管理隧道。

3.配置公网地址
这里先使用随机域名做第一轮连通性验证。目标只是确认:外部网络能不能正确打开 R3PLAYX 的 2222 页面。
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:r3,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:2222
- 域名类型:随机域名
- 地区:选择China Top

创建成功后,打开左侧在线隧道列表,可以看到刚刚生成的公网地址。此时可以换到其他网络中的电脑或移动端设备进行访问测试。

R3PLAYX 页面能够通过公网地址打开,说明 2222 的远程访问链路已经打通。

4.保留固定公网地址
随机地址适合测试,但如果准备长期保存书签、在手机或其他设备上固定使用这个播放器入口,地址频繁变化会增加使用成本。因此下一步再配置二级子域名。

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

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

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

更新完成后,打开在线隧道列表,可以看到原来的随机公网地址已经变成保留的二级子域名形式。

最后,再使用配置后的固定公网地址访问 R3PLAYX。页面能够正常打开,说明二级子域名已经绑定到当前隧道,后续可以继续使用这个固定入口。

到这里,本地播放器入口和外网访问入口都已经完成。后续是否继续使用固定公网地址,可以根据自己的实际访问频率决定。
总结
R3PLAYX 这类项目真正有吸引力的地方,并不是把音乐客户端再“复制”一遍,而是把听歌入口做得更轻。
这次在极空间上的完整流程很清楚:先启用 SSH 和 Docker,再用 Compose 启动前端与后端服务;浏览器通过 2222 端口打开页面后,原文实测能够关闭登录窗口、继续搜索歌手并查看歌单。到这一步,本地使用已经成立。
如果播放器只在家庭局域网内使用,不需要继续增加额外网络层。存在异地访问需求时,再通过 cpolar 把 2222 Web 页面映射到公网:随机地址先用来确认连通性,固定二级子域名则更适合长期保存。
整套结构可以分成两层:
- R3PLAYX:负责播放器页面、搜索和播放相关交互;
- cpolar:只负责让极空间上的 Web 页面可以从外部网络访问。
这样处理以后,文章的重点不再是“免费、无广告、不卡顿”这类宣传词,而是一个更实际的问题:如果你已经有一台长期在线的极空间,能不能顺手把它变成一个更简洁的浏览器音乐入口。
对于只想少一点界面干扰、直接进入搜索和播放的人来说,这种轻量化使用方式本身就已经足够明确。


