使用Docker部署开源音乐播放服务Navidrome,打造自己的云音乐

文章目录


如需VPS代购、PHP开发、服务器运维等服务,请联系博主QQ:原作者联系方式

网络版权时代,随便放个歌就要收费,就算你买了VIP服务,下载的歌曲还是加密的,一旦VIP到期后某些歌你还听不了,说的就是XX音乐。

于是我开始寻找有没有一个类似云音乐的自建服务,这样随时随地在任何地方都能播放,于是我找到了如下软件可满足需求:

  • 多媒体管理:Jellyfin、Emby、Plex
  • Airsonic
  • Navidrome
  • 群晖、威联通自带音乐套件

多媒体管理我一直在使用免费开源的Jellyfin,目前Jellyfin已经做得足够好了,管理和播放电影都非常方便,可是音乐管理感觉还是差点意思,而且部分无损歌曲有卡顿或者播放不了的情况。

于是我试了下Airsonic和Navidrome,Airsonic是用java开发的音乐播放器,功能很强大也很专业,界面可设置的音乐参数非常多,作为业余玩家完全不知道这些音乐参数啥意思。因为使用java开发的,所以比较吃内存,而且参数太多了,不够简单方便,于是找到了另一款使用Golang开发的音乐播放软件Navidrome,内存占用很低,界面简单,而且还兼容Subsonic API,不多说,部署走起。

Docker部署Navidrome

通过Dcoker命令行部署:(路径请自行修改)

docker run -d \
--name navidrome \
--restart=unless-stopped \
--user $(id -u):$(id -g) \
-v /path/to/music:/music \
-v /path/to/data:/data \
-p 4533:4533 \
-e ND_LOGLEVEL=info \
deluan/navidrome:latest
  • /path/to/music:你本地主机的音乐文件夹
  • /path/to/data:Navidrome配置数据文件夹

不过我不太推荐命令行部署,维护起来不方便,如果您安装了docker-compose,推荐使用docker-compose部署,新建一个docker-compose.yaml,内容如下:

version: "3"
services:
navidrome:
container_name: navidrome
image: deluan/navidrome:latest
user: 0:0 #0:0代表用root用户运行
ports:
- "4533:4533"
restart: unless-stopped
environment:
# Optional: put your config options customization here. Examples:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
ND_ENABLETRANSCODINGCONFIG: "true"
ND_TRANSCODINGCACHESIZE: "4000M"
ND_IMAGECACHESIZE: "1000M"
volumes:
- "/apps/navidrome/data:/data"
- "/media/Music:/music:ro"
  • /apps/navidrome/data:请自行指定一个本地路径用来存储navidrome数据
  • /media/Music:/music:您主机上的音乐文件夹路径

然后使用docker-compose up -d运行,如果没有出现意外,就可以通过http://IP:4533进行访问,首次访问会要求设置一个帐号、密码。

Navidrome使用

PC上可以通过http://IP:4533进行访问,界面比较简洁,符合现代审美。

可以点击右上方用户按钮 - Personal - Language改成中文,如下图。

安卓上我推荐Ultrasonic这个软件,支持连接到Navidrome使用(iOS官方推荐的客户端有: play:Sub, substreamer, Amperfy and iSub),前提是你做了公网映射或者FRP(这里不做详细介绍)。

Navidrome界面支持中文(非完全汉化),但不爽的是似乎没法列出全部歌曲,而是列出的专辑(可以在Ultrasonic网页端将喜欢的音乐提前收藏),有点不符合国人习惯,如果您找到了更好的替代软件,请留言告知。

Navidrome优缺点

先来说说优点:

  • 内存占用低(待机状态40Mb左右)
  • 界面简洁,支持中文
  • 支持Subsonic API,也就是说Subsonic能用的客户端,Navidrome都能用

再来说说优点:

  • 好像没法显示歌词
  • 不支持通过界面删除歌曲(作者说的是为了安全考虑,我个人感觉过于谨慎了)

最后

  • Navidrome官网:https://www.navidrome.org/
  • Navidrome帮助文档:https://www.navidrome.org/docs/
  • 项目地址:https://github.com/navidrome/navidrome/
全部为采集文章,文中的 联系方式 均不是 本人 的!

发表评论