不只是同步!lxserver:把洛雪音乐变成你的私人网页播放器

19 阅读3分钟

今天我在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

17-1.png

如果一切正常你看到的应该是这个界面。登录密码就是你上面的docker-compose.yaml文件中配置的密码。我这里配置的是:123456。 这是登录进去的模样:

17-2.png

打开web播放器:

17-3.png

这是web播放器的样子:

17-4.png

添加音源:

17-5.png

17-6.png

添加完音源之后并启用音源,就可以正常听歌了。 同步数据:

17-7.png

用户名默认为:admin密码默认为:password登录之后,你所收藏保存的歌的数据都会存在你的服务器中。 这个项目针对手机端也进行了优化,下面这个是手机端的界面:

17-8.png

此外还有一些其他的功能,自行探索吧! 现在就差了给这个网页端配置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