今天我在github上瞎逛,无意间发现了一个项目——lxserver。
点进去一看,介绍说是洛雪音乐的数据同步服务端,这个我知道,没什么稀奇的。但往下翻,有一行字让我多看了两眼:同时支持了部分lx-music-desktop的网页端实现。
网页端?洛雪音乐还有网页版?!!
抱着好奇心部署了一下,打开浏览器输入地址,界面加载出来的那一刻我愣了一下——这不就是洛雪音乐嘛,搜歌、播放、歌单,该有的全有,完完整整跑在网页里。
不需要装客户端,不需要登录任何第三方账号,手机浏览器打开同样能用。而且因为是自己部署的,歌单数据全部存在自己的服务器上,同步也是顺带的事。
说实话,这个发现让我有点惊喜。今天就把这个项目分享给大家。
github的地址:github.com/XCQ0607/lxs…
下面直接开始部署。
首先,新建web-lx-music文件夹:
mkdir /opt/web-lx-music
编辑docker-compose.yaml文件:
nano /opt/web-lx-music/docker-compose.yaml
如果没有nano,输入下面的命令安装nano:
sudo apt install nano -y
填入下面的内容:
version: '3.8'
services:
lxserver:
image: ghcr.io/xcq0607/lxserver:latest
container_name: lx-sync-server
restart: unless-stopped
ports:
- "9527:9527"
volumes:
- /opt/web-lx-music/data:/server/data
- /opt/web-lx-music/logs:/server/logs
environment:
- PORT=9527
- FRONTEND_PASSWORD=123456
- DISABLE_TELEMETRY=false
将上面的内容复制后,在vps的终端中点一下鼠标右键就可以直接粘上去。如果你用的是1panel的终端的话,也是点击右键,选择粘贴就行了。
粘贴上后,先按Ctrl+O,再按回车,最后按Ctrl+X离开。
移动到/opt/web-lx-music路径下:
cd /opt/web-lx-music
运行docker:
docker compose up -d
现在访问网页端,如果你的vps的IP是123.123.123.123,那么就访问http://123.123.123.123:9527
如果一切正常你看到的应该是这个界面。登录密码就是你上面的docker-compose.yaml文件中配置的密码。我这里配置的是:123456。 这是登录进去的模样:
打开web播放器:
这是web播放器的样子:
添加音源:
添加完音源之后并启用音源,就可以正常听歌了。 同步数据:
用户名默认为:admin密码默认为:password登录之后,你所收藏保存的歌的数据都会存在你的服务器中。 这个项目针对手机端也进行了优化,下面这个是手机端的界面:
此外还有一些其他的功能,自行探索吧! 现在就差了给这个网页端配置ssl证书这一步了。具体申请证书的过程你可以看我前面的文章,这里我只把几个重要的过程写一下。申请证书命令:
certbot certonly --webroot -w /var/www/html -d lx.app.com
将lx.app.com换成你自己的域名。 nginx配置:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name lx.app.com;
location ^~ /.well-known/acme-challenge/ {
root /var/www/html;
default_type "text/plain";
try_files $uri =404;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
server_name lx.app.com;
ssl_certificate /etc/letsencrypt/live/lx.app.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/lx.app.com/privkey.pem;
location ^~ /.well-known/acme-challenge/ {
root /var/www/html;
default_type "text/plain";
try_files $uri =404;
}
location / {
proxy_pass http://127.0.0.1:9527;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
将nginx配置中的四个lx.app.com换成你自己的域名。
配置好后,重载nginx:
systemctl reload nginx