本来想将这个内容加到"Debian Server部署全过程记录"中的,但是一方面,由于这篇博客太长了,不好再往里加内容,另一方面,想把这种做成一个系列,后续还会有自建家庭影院,自建家庭相册等,最重要的是,还可以水一篇blog(不好意思断更太久不是,哈哈哈)。因为音乐付费以及广告的问题,很早之前就有自己host一个音乐站点的想法了,由于一直在忙其他的,本周六稍微安稳了一点(包括内和外,心累...),就赶紧去找了一下,最后锁定mStream这个开源方案,看Github上的提交记录,作者已经不经常更新了,不过搭建完之后看还是不错的,算是比较完善了。
Notice
【update @ 10/16/2022】已经发现一个更好的音乐库解决方案,本方案弃用......
Info
mStream is a personal music streaming server. You can use mStream to stream your music from your home computer to any device, anywhere.
如上是官方对mStream的介绍,很简洁,就是让你可以在任何设备上访问你自己电脑上的音频流,即mStream
支持跨平台,安卓,iOS,Windows,Linux,Mac都有客户端。至于安装配置,官网也介绍的很清楚了,有三种方式:docker,源码,以及二进制包,其优缺点也各有介绍。由于我的小破站资源并不是很丰富,本着能省一点内存是一点的原则,选择了源码安装,官网的介绍优点是节省资源,缺点是不能自己开机启动,个人感觉这个并不是个问题。
bash$ curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
$ apt-get install -y nodejs
$ git clone https://github.com/IrosTheBeggar/mStream.git
$ cd mStream
$ npm run-script wizard
...
____ _
_ __ ___ / ___|| |_ _ __ ___ __ _ _ __ ___
| '_ ` _ \\___ \| __| '__/ _ \/ _` | '_ ` _ \
| | | | | |___) | |_| | | __/ (_| | | | | | |
|_| |_| |_|____/ \__|_| \___|\__,_|_| |_| |_|
v5.11.4
Check out our Discord server:
https://discord.gg/AM896Rr
2022-05-14T16:54:26.306Z info: Config File does not exist. Attempting to create file
2022-05-14T16:54:26.309Z info: Config file does not have secret. Generating a secret and saving
2022-05-14T16:54:26.331Z info: Access mStream locally: http://localhost:3000
当看到如上的输出时,说明mStream已经成安安装,并启动,在浏览器输入http://localhost:3000即可看到界面。
服务端安装好之后,第一件事情就是在浏览器访问http://ip:3000
,以完成关键选项的配置,主要有如下:
要想配置域名,首先要去域名提供商那里添加DNS解析,然后和其他站点一样,想用nginx做web服务器,只不过这里多了一个步骤,mStream
默认是使用3000端口,所以为了url比较美观,不带的特殊端口,使用了反向代理的方式进行配置,实际并不复杂,就多了一条指令,即在location块中加入proxy_pass http://localhost:3000;
。
由于目前大多数浏览器都启用了强制HSTS,所以还是用certbot
来申请免费的证书并配置。操作完之后,重启nginx服务器,在浏览器访问域名即可看到如下界面:
以上都配置好了,但是通过localhost:3000
还是访问不了,一开始怀疑系统防火墙拦截了,看日志并没有,所以把ufw disable
将防火墙彻底关掉,还是没有用,最后到腾讯控制台看了下web界面的防火墙,果然没有开放3000端口,添加完自定义之后,就可以访问了
可以使用pm2
命令,配合cron
服务来实现:
bash$ npm install -g pm2
$ crontab -e
# 在文档中追加如下
# when reboot
@reboot /usr/bin/pm2 start /opt/source-code/mStream/cli-boot-wrapper.js --name mStream
保存并退出,以后每次重启之后,mStream
都会自动在后台运行。
需要创建文件夹,然后把音频文件放在文件夹里,才会显示
暂无
暂无
本文作者:Manford Fan
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!