UNRAID教程(保姆级)4:UNRAID安装个人音乐流服务器和强大的音乐播放器

2020-02-23 17:35:24 47点赞 364收藏 33评论

#大男孩的快乐#征稿活动火热进行中。只要投稿就有50金币等你拿,更有三千元乐高大奖与达人Z计划专属权益等待优秀的你~>活动详情戳这里<


 这几天一直在整理我的Unraid上面的文件,给各种文件归档,发现我的视频文件有Jellyfin来外网访问播放,但是我的音乐共享文件夹上面还有好几百G的hifi音频文件躺在那里很久了,都没有听,关于音乐播放器,阿文菌有发过一篇docker上面的音乐播放器.

折腾群晖笔记:使用群晖Docker功能 三分钟安装漂亮的音乐播放器musicplayer大家好,俺又来了!这次大家分享群晖Docker的玩法!安装一个漂亮的音乐播放器!Docker就好像一个轻量的虚拟机平台,可以加载别人已经写好的镜像程序。和微信的小程序功能很像了。更多docker的介绍:链接有了docker的支持,任何设备都能玩出不一样的效果。安装之前,请到群晖的套件中心安装Dock阿文菌| 66 评论42 收藏411查看详情

 但是这些音乐都是在网上音乐平台搜索的音乐,由于版权的问题,很多我喜欢听音乐都听不到.而自己喜欢的音乐都在unraid上面保存,不听都浪费了,所以就想着自己搭一个音乐流服务.

在网上搜索了一下,发现有koel这么一款音乐流媒体应用,上koel开发者网站上看了一下,原来开发者是个音乐爱好者,他自己有一个服务器,所以要搭建一个属于自己的个人音乐流服务器。开发者网站上也有它的GIT仓库的地址,也去了解了一下,星级评价还是挺高的.决定尝试一下这个播放器.

到dockerhub上寻找这款软件的安装镜像,然后才发现koel安装方法跟普通的docker还是有点区别,它需要有数据库的支持,MySQL,MariaDB,PostgresSQL或者SQLite都可以.

也就是说要安装这个音乐流容器,就要先安装数据库服务.既然决定要安装,那也不差这一个数据库服务,我们先在unraid上安装一个比较流行的MySQL容器吧,大家打开Unraid的Terminal跟我一起输入以下代码来安装MySQL容器吧... ... ... ...

等等,MySQL?这个名字好像在哪里见过... ... 对了,我的宝塔安装的web服务器,数据库用的就是MySQL,既然宝塔上面有了SQL数据库服务,我是不是可以直接利用呢?这样既可以节省运行内存,也可以避免一个服务器开两个数据库服务可能造成的端口冲突什么的.但是宝塔和koel是处在两个不同的容器中,那不同的容器是不是可以互相通信?我们先试试看,用已有的两个容器,看看它们之间是不是可以互相ping通对方的ip地址呢?

可行性测试

注意:以下命令并非koel安装命令所需要的步骤,大家可以不用跟着输入,只是我分享一下我的验证过程.真正开始安装部分请跳到后面的开始安装

首先打开unraid的Terminal

UNRAID教程(保姆级)4:UNRAID安装个人音乐流服务器和强大的音乐播放器

接着在terminal里面输入如下代码,查看我的宝塔面板的ip地址,命令中baota是我的宝塔面板的docker容器的名称:

docker inspect baota


查看ip查看ip

发现baota的ip地址是:172.17.0.6

获得ip获得ip

那么我随便进入一个在运行的容器里面,去ping这个ip看看是不是可以ping通,如果可以说明我们即将安装的koel同样也可以访问到宝塔,那样就可以利用它里面的数据库服务了.

接着输入下面的命令查看运行中的容器信息

docker ps -a

然后随便复制一个容器的id,只要不是baota的id就可以了

接着输入如下命令,进入这个正在运行的容器里面:

docker exec -it 复制到的容器的id /bin/bash

如下图:

进入运行的容器进入运行的容器

然后输入以下命令,用这个容器发送5个数据包,ping一下宝塔的ip

ping 172.17.0.6 -c 5

UNRAID教程(保姆级)4:UNRAID安装个人音乐流服务器和强大的音乐播放器

发现5个数据包,零丢失,说明可以ping通,没问题,我们确实是可以利用宝塔面板安装的sql数据库,不需要额外再装一个.

输入

exit

退出该容器的命令界面

UNRAID教程(保姆级)4:UNRAID安装个人音乐流服务器和强大的音乐播放器

开始安装:

分配固定IP

从这里开始安装命令,就是我的音乐流容器的安装命令,如果需要安装koel音乐流服务的,可以跟着一起输入.

有了上面的试验,我们知道docker的容器之间,只要知道目标容器的ip是可以互相通信的.

那么又出现一个问题,如果docker服务每次重启的话它里面的容器ip地址是会改变的,所以我们要给宝塔容器分一个固定的ip.

但是默认情况创建容器用的网络桥接是不支持分配固定ip,我们想要给容器一个固定的ip,就要创建自定义网络,并且指定网段,然后把要指定固定IP的docker容器加入到这个网络中,并分配固定ip.

目的很明确,接下来我们先创建一个自定义网络吧

我们可以用如下命令创建一个名叫myNetwork的自定义网络,指定网段为172.18.0.0/16

docker network create --subnet=172.18.0.0/16 myNetwork

回车键执行后继续输入以下代码查看我们的自定义网络是否创建成功

docker network ls

自定义网络自定义网络

可以看到名称为myNetwork的网络,说明创建成功!

接下来我们就要把宝塔面板加入到这个网络中,并给它一个固定的IP:172.18.0.200

我们继续输入:

docker network connect --ip 172.18.0.200 myNetwork baota

加入自定义网络加入自定义网络

我们再看一下加入到自定义网络中宝塔的ip,继续输入

docker inspect baota

查看ip查看ip

可以看到宝塔面板中除了原来默认网络的ip172.17.0.6,还有我们自定义网络的固定ip172.18.0.200

固定ip固定ip

如果不想要原来的ip,只保留我们指定的固定ip,我们可以输入以下命令,断开baota的默认的网络连接,当然不断开也是可以的

docker network disconnect bridge baota

其中命令中的bridge是默认的网络名称.

断开默认网络断开默认网络

输入以下命令查看断开默认网络后baota容器的ip情况

docker inspect baota

查看ip查看ip

现在就只剩下我们设置的那个固定ip了.

这样以后我们想要连接宝塔里面的其他服务的话就可以把相应的容器加入这个网络就可以了.

添加数据库

好的,既然固定ip的问题解决了,我们现在就建一个数据库作为我们音乐流服务的数据库吧.

输入宝塔面板管理的地址.登陆宝塔面板.怎么进入,可以参考我的第一篇文章里面宝塔面板安装. 

UNRAID教程(保姆级)1:在UNRAID上架设web服务器,导航站,博客,论坛一个都不少小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。前一阵子一直在大妈这里看@阿文菌的unraid教程,感觉做一个NAS系统真的很棒,心里各种种草,在某鱼上面下了一个暴风酷播,主板华擎,cpu:j3455,安装unraid后又可以显卡直通,视频解码简直不要太爽了。价格699,蓝F0X狐| 65 评论71 收藏598查看详情

 进入宝塔面板后点击数据库->添加数据库 来新建一个数据库,其实可以不用新建,直接用我们已经建立好的网站服务器的数据库,这边我为了安全考虑,不想把网站数据库开放来使用,就单独做一个数据库来给其他容器用.添加数据库的设置如下,大家参考一下,可以根据自己喜好来修改,这里我们先把这个数据库的访问权限设置成"所有人(不安全)",等后面容器安装好后再回来修改.另外还要注意一下,新建数据库的用户名不能跟我们已经存在的网站数据库的用户名相同,要不然创建失败,这里我的用户名跟数据库名一样.

添加数据库添加数据库

点击提交,就可以看到我们新建的数据库了

数据库创建完成数据库创建完成

安装koel音乐流容器

数据库创建完成我们就可以开始安装我们的koel容器

继续在terminal里面输入以下命令:该命令只是模板,大家参考一下,根据你们自己的实际情况修改

docker run -d --name=KOEL --link=baota --privileged=true --restart always --network myNetwork --ip 172.18.0.201 -v /mnt/user/appdata/koel:/config -v /etc/localtime:/etc/localtime:ro -v /mnt/user/NAS/Media/Music:/media -e DB_CONNECTION=mysql -e DB_HOST=baota -e DB_DATABASE=docker_data -e DB_USERNAME=docker_data -e DB_PASSWORD=12345678abc -e ADMIN_EMAIL=root@root.com -e ADMIN_NAME=bluefox -e ADMIN_PASSWORD=123mypassword -p 50001:80 alexphillips/koel

命令有点长,这里包括了所有koel的配置,大家可以参照修改,我解释一下上面的命令:

--name=KOEL 这个是容器的名字

--link=baota 这个重点说一下:这是把koel容器跟baota容器连接(baota是我宝塔面板的名字), 设置这个的话,我们想要连接宝塔的mysql服务时,主机名字就只要输入宝塔面板名字(baota),而不用输入它的固定ip地址.这个设置可以不需要,因为我们在上面已经给宝塔设置了固定ip,连接时候只要输入baota的固定IP就可以了.但是考虑到以后我有可能要修改网络配置,baota的ip可能也要修改的情况,设置了--link=baota 这样不用重新设置其他容器的宝塔ip地址.

 --privileged=true 给koel特殊权限

--restart always 容器随docker启动

--network myNetwork --ip 172.18.0.201 加入到我的自定义网络myNetwork,并给koel容器一个固定ip172.18.0.201,这样就可以加入到和宝塔同一个网络里面了.另外这个固定ip我最后要在宝塔数据库设置里面添加为信任的ip.我们上面自定义网络,给baota设置固定ip不是重点(因为我可以用--link来连接baota),最最最主要原因其实还是要给使用宝塔的其他容器设置固定ip,这样方便后面添加到信任IP,否则的话没有固定ip,重启unraid的话容器的IP就变了,信任ip就不生效了.

-v /mnt/user/appdata/koel:/config 把unraid里面的/mnt/user/appdata/koel文件夹挂载到koel容器的配置文件夹

-v /etc/localtime:/etc/localtime:ro 把本地时间设置给koel

-v /mnt/user/NAS/Media/Music:/media 把unraid里面的/mnt/user/NAS/Media/Music文件夹挂载到koel容器的/media文件./mnt/user/NAS/Media/Music这个文件夹下存放这是我几百G的音乐文件.

-e DB_CONNECTION=mysql 连接数据库类型mysql

-e DB_HOST=baota 数据库主机地址,这里我填了baota,如果没有用到上面说的--link=baota的话,我们这里要填写baota的固定ip:172.18.0.200

-e DB_DATABASE=docker_data 这里是我们上一步创建的数据库的数据库名

-e DB_USERNAME=docker_data 这里是上一步创建数据库时填写的数据库用户名

-e DB_PASSWORD=12345678abc 这里是上一步创建数据库时填写的连接密码

-e ADMIN_EMAIL=root@root.com 这个是koel登陆时要用到的邮箱(登陆要用,不一定要真实的邮箱)

 -e ADMIN_NAME=bluefox 这是设置管理员名字

 -e ADMIN_PASSWORD=123mypassword 这里koel登陆时要用到的管理员密码,可以填自己记得住的密码

-p 50001:80 我设置50001是koel的访问端口,到时候用 我的ip:50001 就可以登陆使用音乐流了

alexphillips/koel 这是docker_hub的镜像

上面命令已经解释很清楚了,大家照着修改就好了,主要还是修改一下你们自己的数据库信息,已经koel的管理员信息.

按回车开始安装,我安装这个容器的时候下载有点慢,还出错过两次,大家耐心点等待下载安装.

开始安装开始安装

出现以下一串字符串,说明安装结束

安装结束安装结束

输入

docker inspect KOEL 

看看它的ip是不是我们设置的固定IP172.18.0.201

查看ip查看ip

没错,就是我设置的固定ip

UNRAID教程(保姆级)4:UNRAID安装个人音乐流服务器和强大的音乐播放器

现在我们输入 我的内网ip:50001 或者 我的域名:50001 进入koel ,如下图.

koel登陆界面koel登陆界面

输入上面命令中设置的管理员邮箱,以及密码进行登陆.登陆后我们可以看到主页上什么音乐也没有,界面是英文的,但是都是很简单的英文,左侧栏英文分别是 :主页,当前播放列表,所有歌曲,专辑,歌手.  接着是:收藏夹,最近播放. 下面是设置,用户. 我们可以在用户里面添加新用户,这样就可以把歌曲共享给其他朋友.

之后我们点击主页左侧栏上的Settings 设置我们的音乐文件的路径

登陆成功了登陆成功了

在Media path输入框里面输入/media,然后点击下面的Scan按钮,开始扫描该路径下的所有音乐.上面的安装命令上我已经把unraid下的音乐文件夹挂载到/media路径下,这样就可以把我所有的音乐给检索出来.

设置音乐路径设置音乐路径

等几秒钟后音乐检索完毕.

检索音乐检索音乐

检索完毕后自动回到主页,就可以看到我unraid的音乐文件夹下所有的音乐都出现了,

检索完毕检索完毕

点击左侧栏的All Songs 可以看到我所有的音乐有499首.如下图,暴露年龄的音乐.

所有音乐所有音乐

点击一首播放一下试试看,播放界面还算炫酷.又试了几首hifi.有flac格式,mp3格式,都能完美播放.右下角还有均衡器可以设置各种类型,这里截图我忘记截取了.

完美了.完美了.

开发者网站上说是支持.mp3,.ogg,.m4a,和.flac,其他的格式我也没有,就没试.

这样以后走到那里,我都能连接到自己的音乐流服务器享受自己喜欢的音乐了.

安装算是完成了,我们看看是不是有在宝塔的数据库上面创建了数据,用宝塔面板里面的phpmyAdmin登陆我的数据库,点击docker_data数据库,发现创建了10个数据表,数据库连接没问题.

数据表数据表

到这里算是结束了.

我突然又想到还有一个docker容器也可以使用mysql数据库,那就是大名鼎鼎的私人云-NextCloud.这个nextcloud默认使用的是SQlite作为数据库,但是它本身是不建议使用SQlite作为数据库,我们也试试看是不是可以连接这个baota的mysql呢.

安装nextCloud

各位值友,你们看一个教程我再赠送你一个教程.这个教程就是安装一个基于MySql数据库的nextcloud.

在unraid的terminal里面输入以下命令来安装nextCloud:

docker run -d --name NextCloud --link baota:baota --privileged=true --restart=always --network myNetwork --ip 172.18.0.202 -p 52000:443 -v /mnt/user/appdata/nextcloud:/config -v /mnt/user/NAS/NextCloud:/data linuxserver/nextcloud

这个命令相对上面的koel来说会简单,我就不多解释了,参考上面的koel命令的解释.我们给nextcloud设置一个固定的IP:172.18.0.202. 访问端口是52000,你们可以设置成自己的端口

很多值友会发现我的docker容器都是基于命令行安装,都不是通过unraid的App里面的模板来安装.是的,我觉得这样更简单,自己配置容易,而且也方便做记录,我unraid上面所有的容器都是在命令行来安装的,安装命令的笔记大家可以去我的博客上面找一下.

安装nextcloud安装nextcloud

nextcloud安装完成后,也看一下固定IP

UNRAID教程(保姆级)4:UNRAID安装个人音乐流服务器和强大的音乐播放器

固定ip固定ip

 另外要特别注意nextcloud是需要用https来访问,不能用http访问

否则会出现下面的错误:

出错出错

我们在浏览器输入 https://内网ip:52000 或者 https://域名:52000  点击下面的高级

访问nextcloud访问nextcloud

点击下面的:继续前往

继续前往继续前往

进入nextcloud连接界面,我们可以看到它默认用的sqlite数据库,并且下面还说明了 强烈不建议使用sqlite 既然这样那我们就用mysql数据库吧.我们点击下图中的 存储与数据库

设置界面设置界面

先设置管理员账号和密码,然后再配置数据库下 选择 MySQL/MariaDB 接下来就填写我们宝塔面板创建的数据库信息,参照下图.另外主机名称和端口号填写baota. (如果上面安装命令没有--link baota:baota的话,这个地方要填写baota的固定ip).填写完成后点击底下的安装完成.开始进行安装.

连接数据库连接数据库

正在完成安装

正在完成正在完成

安装完成后会自动跳到登陆页面:输入管理员账号和密码登陆

登陆界面登陆界面

开始使用我的私人云吧.

登陆完成登陆完成

还有一个要注意的就是nextcloud要用我们的域名访问的话,要去它的config.php的配置文件里面里面修改,否则的话会出现如下提示

UNRAID教程(保姆级)4:UNRAID安装个人音乐流服务器和强大的音乐播放器

修改方法如下,我用的是FileBrowser来进入unraid的如下路径:user/appdata/nextcloud/www/nextcloud/config/config.php,把我们的域名添加到信任域名列表里面,有多少就按顺序添加多少.大家可以用自己喜欢的方法修改.如下图:

UNRAID教程(保姆级)4:UNRAID安装个人音乐流服务器和强大的音乐播放器

最后,我们再进入宝塔面板的phpmyadmin看看我们的数据库情况,数据表变成了82张.说明nextcloud在数据库上也创建了许多的数据表,数据库连接也是没问题的.

数据表数据表

好了,赠送的教程到这里也结束了

设置数据库访问权限

大家还记得我们最开始创建数据库时,权限选择的是 "所有人(不安全)"这个选项吗,所有人都可以连接这个数据库确实是不安全.既然不安全,那我们就改成安全的吧,点击宝塔面板的数据库,在我们创建的docker_data那里点击权限.如下图:

设置权限设置权限

把范围权限改成指定ip,如下图:

指定ip指定ip

然后输入我们指定给KOEL和NextCloud的固定ip,并用逗号隔开.如下图

输入ip输入ip

这样就只有这两个ip可以连接这个数据库,其他IP都连不上,这样就安全了
大家也可以试试看把这两个ip改成其他的ip,这样你们的nextcloud和koel就无法正常使用了,当然试过之后要记得改回来.

总结

有了koel,那么到哪里都能听到自己喜欢的歌曲清单,只要我的手机可以上网,那么随处可以连接自己的服务器来听歌,koel上也有下载按钮,可以下载喜欢的音乐到手机,离线也可以收听,koel是个强大的音乐播放器。

本篇教程结束,以后有更好玩的东西我会再来跟大家一起分享.

结束....

啥,你们还要看彩蛋?没有彩蛋!

下次再见.


   

展开 收起

QNAP 威联通 TS-453Bmini 四盘位NAS网络存储(J3455、4GB内存)

QNAP 威联通 TS-453Bmini 四盘位NAS网络存储(J3455、4GB内存)

2499元起

Synology 群晖 DS918+ 四盘位NAS网络存储服务器

Synology 群晖 DS918+ 四盘位NAS网络存储服务器

3915.43元起

Synology 群晖 DS418j 4盘位NAS网络存储服务器

Synology 群晖 DS418j 4盘位NAS网络存储服务器

1999元起

Synology 群晖 DS218j 2盘位NAS网络存储服务器

Synology 群晖 DS218j 2盘位NAS网络存储服务器

1195.32元起

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器

2043.64元起

HIKVISION 海康威视 H100 网络存储服务器

HIKVISION 海康威视 H100 网络存储服务器

689元起

HIKVISION 海康威视 H100 豪华系版 2盘位 NAS网络存储 (无盘标配)

HIKVISION 海康威视 H100 豪华系版 2盘位 NAS网络存储 (无盘标配)

699元起

威联通(QNAP)TS-432XU四核CPU内建 2个10GbE SFP+ 四盘位单电源机架式NAS网络存储器(TS-431XU升级版)

威联通(QNAP)TS-432XU四核CPU内建 2个10GbE SFP+ 四盘位单电源机架式NAS网络存储器(TS-431XU升级版)

4680元起

海康威视(HIKVISION) H304旗舰版 4盘位NAS网络存储服务器 企业私有网盘数据共享

海康威视(HIKVISION) H304旗舰版 4盘位NAS网络存储服务器 企业私有网盘数据共享

3299元起

ASUSTOR 华芸 AS5202T NAS网络存储器

ASUSTOR 华芸 AS5202T NAS网络存储器

2780元起

QNAP 威联通 TS-551-2G 五盘位NAS网络存储

QNAP 威联通 TS-551-2G 五盘位NAS网络存储

1899元起

海康威视(HIKVISION)H100系列 2盘位NAS网络存储 家庭私有云 私有网盘 (含2块4TB-2.5英寸硬盘)

海康威视(HIKVISION)H100系列 2盘位NAS网络存储 家庭私有云 私有网盘 (含2块4TB-2.5英寸硬盘)

2599元起

QNAP 威联通 TS-251D-2G NAS网络存储器 标机无硬盘

QNAP 威联通 TS-251D-2G NAS网络存储器 标机无硬盘

2299元起

TERRAMASTER 铁威马 F2-210 双盘位 NAS网络存储服务器

TERRAMASTER 铁威马 F2-210 双盘位 NAS网络存储服务器

899元起

威联通(QNAP)TS-832XU-4G内存四核CPU八盘位单电源机架式NAS磁盘阵列网络存储器(TS-831XU升级版)

威联通(QNAP)TS-832XU-4G内存四核CPU八盘位单电源机架式NAS磁盘阵列网络存储器(TS-831XU升级版)

6510元起

海康威视(HIKVISION)H90系列 个人私有网盘 云端存储家用NAS 单盘位网络存储 含1块2TB硬盘

海康威视(HIKVISION)H90系列 个人私有网盘 云端存储家用NAS 单盘位网络存储 含1块2TB硬盘

669元起
33评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
364
扫一下,分享更方便,购买更轻松