部署音乐流媒体服务器 mStream

YG科技 后端 2025-01-17


一、Flexus 云服务器 X 实例介绍

云服务器是一种基于云计算技术的虚拟主机服务,用户可以通过互联网获取按需分配的计算资源。它具有高度的灵活性和可扩展性,允许用户根据实际需求快速调整配置。相比传统服务器,云服务器能够提供更好的成本效益、更高的可用性和更强的数据安全性,适合各种规模的企业使用。

华为云下一代云服务器 Flexus X 实例焕新上线,新产品基于客户业务负载进行动态性能画像,智能推荐资源规格,持续优化性能和成本,按业务算力需求进行精细定价,根据实际使用算力付费,真正用多少花多少,针对迁移场景智能资源预画像,帮助用户在华为云上推荐匹配的资源规格,覆盖大多数通用工作负载场景。

 

Flexus X 实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

本次测评使用的规格是:4 核 12G-100G-3M 规格的 Flexus X 实例基础模式

 

二、Flexus 云服务器 X 实例配置

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网 IP 地址和用户名,首先打开你的服务器控制台,选择重置密码

 

勾选自动重启,点击确定即可

 

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的 VNC 方式登录、使用 Linux/Mac OS 系统主机登录 Linux 弹性云服务器(即 ssh root@192.168.48.78 命令)或者使用 Putty、Xshell 等工具登录 Linux 弹性云服务器。

我个人习惯使用 MobaXterm 这款软件,添加 SSH 连接,输出公网 IP、用户名和端口(默认 22),连接即可。

 

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个 VPC 内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组。

 

主要需要填写优先级(默认填 1 即可)、协议端口(协议一般为 TCP 或 UDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

 

如果还不清楚可以参考文档:安全组配置示例

 

2.4 Docker 环境搭建

本次服务器环境是 ubuntu 系统镜像,需要自己安装 docker 环境

使用 apt-get 命令安装 docker 及其配置

# 安装必要工具包 $ sudo apt-get install \    apt-transport-https \    ca-certificates \    curl \    gnupg-agent \    software-properties-common# 添加 Docker GPG 秘钥 $ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -# 配置仓库源 $ sudo add-apt-repository \      "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \      $(lsb_release -cs) \      stable" # 更新 apt 包索引 $ sudo apt-get update# 安装 docker$ sudo apt-get install docker-ce docker-ce-cli containerd.io# 添加 docker 镜像源 $ sudo vim /etc/docker/daemon.json{    "registry-mirrors": [        "https://ustc-edu-cn.mirror.aliyuncs.com/",        "https://docker.mirrors.ustc.edu.cn",        "https://docker.nju.edu.cn",        "https://ccr.ccs.tencentyun.com/",        "https://docker.m.daocloud.io/",        "https://dockerproxy.com",    ]}# 重启 $ sudo systemctl daemon-reload$ sudo systemctl restart docker

 测试 docker 安装是否成功

root@flexusx-c6b3:~# docker -vDocker version 27.2.0, build 3ab4256```

检查 docker 服务状态

root@flexusx-c6b3:~# systemctl status docker* docker.service - Docker Application Container Engine     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)     Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h agoTriggeredBy: * docker.socket       Docs: https://docs.docker.com   Main PID: 24912 (dockerd)      Tasks: 13     Memory: 24.7M        CPU: 3.778s     CGroup: /system.slice/docker.service             `-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查 docker compose 版本

root@flexusx-c6b3:~# docker compose versionDocker Compose version v2.29.2

三、Flexus 云服务器 X 实例部署 mStream

3.1 mStream 介绍

mStream 是一个个人音乐流媒体服务器,用户可以轻松地搭建并管理自己的音乐服务器。这意味着您可以将个人音乐收藏上传到服务器上,然后从任何设备通过互联网访问您的音乐。相比传统的流媒体服务,mStream 使您完全掌控自己的音乐,不受任何平台的限制,也没有任何广告的干扰。更令人兴奋的是,mStream 还支持音乐文件在不同设备间的离线同步。

· 设备兼容性:mStream 拥有适用于 iOS 和 Android 的移动 App,并且支持通过任意现代浏览器进行音乐播放。这种跨设备的无缝整合,使您在旅途中也能随时随地享受音乐。

· 无缝播放:Gapless Playback 功能确保了曲目间的平滑过渡,让音乐听起来浑然一体,尤其适合古典音乐和连续性强的专辑。

· 视觉震撼:内置的 Milkdrop 可视化工具提供了一种视听结合的盛宴,让您的音乐体验更为丰富。

· 轻松分享:playlist 分享功能和拖放文件上传大大方便了音乐分享与管理。

· 更多功能:无缝播放、Milkdrop 可视化工具、播放列表共享、拖放文件上传

 

mStream 不仅仅是一个音乐播放器,它更像是一个私人云端音乐库。无论您身在何处,只需要互联网连接,就可以享受无障碍的音乐体验。而对于音乐发烧友和高品质音频爱好者来说,mStream 支持无压缩的 FLAC 文件格式,让您不损失一丝音质细节。

· 官网:https://mstream.io/

· Github:https://github.com/IrosTheBeggar/mStream

3.2 mStream 部署

· 创建 docker-compose.yml

version: "3"services:  mstream:    image: lscr.io/linuxserver/mstream:latest    container_name: mstream    environment:      - PUID=1000      - PGID=1000      - TZ=Asia/Shanghai    volumes:      - ./config:/config      - ./music:/music    ports:      - 8093:3000    restart: unless-stopped

· ports: 映射主机的 8093 端口到容器的 80 端口

· volumes: 将主机目录挂载到容器目录

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 mStream 镜像,并创建并启动一个容器。 up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。

· 启动服务

进入项目目录,执行 docker-compose up -d 启动命令,会自动拉取容器并运行

从 Dockerhub 拉取 mStream 镜像,地址:https://hub.docker.com/r/linuxserver/mstream

root@flexusx-c6b3:~/mstream# docker-compose up -dCreating network "mstream_default" with the default driverPulling mstream (lscr.io/linuxserver/mstream:latest)...latest: Pulling from linuxserver/mstreamb4fa62a600be: Pull completedf25a931801a: Pull complete0be3d9a79057: Pull complete63d699e4e9b1: Pull complete2fdbedb131bd: Pull completef624edeae4f4: Pull completef3788ab1c6c7: Pull complete1d1ac8f2d2c4: Pull completeDigest: sha256:8e5de8f8c80e027366bf583adb4a43e6cc675b2986b9e51a38ec53fdbac6a724Status: Downloaded newer image for lscr.io/linuxserver/mstream:latestCreating mstream ... Creating mstream ... done

· 配置安全组

在 Flexus 云服务器 X 实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听 8093 端口,所以添加安全组为 TCP:8093 协议端口。

 

· 检查容器状态

检查 mStream 容器状态,确保容器正常启动

root@flexusx-c6b3:~/mstream# docker psCONTAINER ID   IMAGE                                       COMMAND           CREATED          STATUS          PORTS                                       NAMESaf51ee334628   lscr.io/linuxserver/mstream:latest          "/init"           12 seconds ago   Up 10 seconds   0.0.0.0:8093->3000/tcp, :::8093->3000/tcp   mstream

· 访问地址

内网:http://localhost:8093 外网:http://公网 IP:8093

· 访问结果

 

若出现此页面,则部署 mstream server 成功。

3.3 mStream 使用

进入 Admin Panel 管理面板,查看设置文件目录,默认已经添加 /music 目录

 

添加用户,首次添加为管理员帐号,身份验证将被开启

 

查看数据库扫描设置,开启手动开启扫描

 

手动复制音乐文件到 music 目录下,刷新网页即可显示音乐列表了,也可以将文件拖动到网页上上传文件

 

一键添加播放列表

 

左侧列表还显示:播放列表、专辑、歌手、最近添加、最近播放、最常播放、收藏等分类,还可以搜索

 

播放处可以设置循环方式、DJ 风格、音乐可视化插件、音量等

 

播放列表可以保存、下载、分享播放列表

 

流媒体服务如 Spotify、Apple Music 等正在改变人们消费音乐的方式。虽然这些服务用海量曲库和便捷的使用方式吸引了众多用户,但它们也带来了不容忽视的问题。首先,用户对音乐拥有的控制权逐渐减弱,他们的歌曲列表随时可能被平台政策更改或移除。其次,广告和付费订阅制度也让人们对这些服务产生了些许依赖和反感。

mStream 作为一个开源的音乐流媒体服务器,以其强大的功能和用户友好的设计,彻底颠覆了传统流媒体服务的运作方式,不仅解决了用户在音乐使用上的诸多困扰,还提供了一种更加自由和私密的音乐使用体验。虽然用户界面可能不像其他选项那样精致或直观、有些用户可能更喜欢为其音乐流媒体服务器提供更多高级自定义选项,整体作为音乐服务器的作用就已经很够了,还有更多有趣的设置和功能就需要自行探索了。

四、总结

mStream 不仅仅是一个音乐播放器,它更像是一个私人云端音乐库。无论您身在何处,只需要互联网连接,就可以享受无障碍的音乐体验。而对于音乐发烧友和高品质音频爱好者来说,mStream 支持无压缩的 FLAC 文件格式,让您不损失一丝音质细节。此次使用的 Flexus X 实例配置还是很高的 4 核 12G-100G-3M 规格的基础模式,mStream 还设计为轻量级,这意味着它可以在配置较低的机器上运行,不会出现任何延迟或性能问题。它已在多 TB 库上进行了测试,因此您可以存储任意数量的音乐而不必担心空间问题。

华为云服务器 828 B2B 企业节来袭!稳定可靠,为你的业务发展注入强大动力。专业的技术支持团队,保障服务质量,弹性扩展,满足不同阶段需求,快来体验华为云服务器的卓越品质 ,开启高效云端办公新时代。

Apipost 私有化火热进行中

评论