lisa主机lisa主机

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

发布于:2021-12-14 更新于:2023-12-28 分享发现 17条评论

网络版权时代,随便放个歌就要收费,就算你买了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进行访问,首次访问会要求设置一个帐号、密码。

9a20c34320126260.png

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都能用

再来说说优点:

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

最后

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注


已有 17 条评论

  1. a

    把- “/media/Music:/music:ro”中的ro(readonly)去掉就能支持界面删除了。

    1. xiaoz a

      去掉了ro也没找到删除的按钮

  2. leopold

    很有帮助!请问有木有高品质的资源网址鸭?

  3. mamamii

    QNAP是可以直接安装Navidrome的。先添加qnapclub源

    1. xiaoz mamamii

      好的,谢谢提醒。非QNAP的话用Docker安装还是比较简单。

  4. alvin

    在群晖Docker部署Navidrome确实不错,电脑和手机端可以用浏览器直接访问并播放音乐,无需第三方客户端播放器。通过浏览器播放可以支持音乐文件内置歌词,还可以转码播放无损DTS-WAV音乐格式,其他格式如APE,FLAC,MP3等都是默认支持的。

    1. xiaoz alvin

      是的,确实很方便。

    2. eggman alvin

      群晖不是自带一个吗?

  5. Jie

    这个成本有点高,我不如开会员自己听在线的。。
    我误以为可以整合几个平台的,因为各大平台版权不一致。找个歌要下好几个APP。。

    1. xiaoz Jie

      还好吧,如果有NAS的话顺带搭建一个这个也没什么成本。

  6. 曾伟

    歌曲从哪下,不要钱?

    1. xiaoz 曾伟

      咪咕音乐,不过可能歌曲比较少,而且部分也要开VIP才能下载。

      1. 曾伟 xiaoz

        嗦嘎,修平哥可以的继续折腾

  7. 李子

    koel听说这个不错,还没试过。

  8. Kem

    88会员送的wyy,足够我用了。。现在听音乐已经不挑了,有啥听啥

    1. xiaoz Kem

      wyy下载的歌曲加密没有呢?

      1. Kem xiaoz

        中低品质的好像都是mp3 没加密,不过我都是在线听的 XD