自建Navidrome音乐服务器实现实现听歌自由

付费听音乐已经成为网民的共识。但如何在一个APP上听到所有喜欢的歌,实现听歌自由呢?


Navidrome是一款开源音乐服务器,用于自建云端音乐播放器,兼容手机、桌面等多种客户端。Navidrome 功能完整,操作简单,支持中文界面,支持绝大部分音频格式,实在是码农加音乐发烧友的折腾利器。Navidrome 提供了 Demo 地址 https://demo.navidrome.org/app/ , 账号密码都是 demo。

首先准备可以远程访问的服务器

有独立的公网IP最好,硬件配置至少1核1G,预装CentOS或者Debian系统。有一个独立的域名更好,比如 music.caidao.net ,否则就要用 IP+端口号访问音乐服务器。

Docker部署Navidrome

在适当的位置新建navidrome目录及data和music两个子目录,并创建编辑docker-compose.yml文件

version: "3"
services:
  navidrome:
    image: deluan/navidrome:latest

    ports:
      - "3086:4533" #自定义端口
    restart: unless-stopped
    environment:
      ND_SCANSCHEDULE: 1h
      ND_LOGLEVEL: info  
      ND_SESSIONTIMEOUT: 24h
      ND_ENABLESHARING: true #启用共享功能
      ND_BASEURL: ""
    volumes:
      - "/DATA/AppData/navidrome/data:/data"
      - "/DATA/AppData/navidrome/music:/music:ro"

启动容器

docker compose -f docker-compose.yml up -d
# -f 指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定,指定多个yml

出现如下提示就是启动成功,用ip+端口即可访问,eg:music.caidao.net

root@caidao:/DATA/AppData/naviderome# docker compose -f docker-compose.yml up -d
[+] Running 5/5
 ✔ navidrome 4 layers [⣿⣿⣿⣿]      0B/0B      Pulled                                                                                                                   19.0s 
   ✔ 63b65145d645 Pull complete                                                                                                                                        4.8s 
   ✔ aeb5bd14d375 Pull complete                                                                                                                                       10.8s 
   ✔ 4f4fb700ef54 Pull complete                                                                                                                                        1.8s 
   ✔ 8bc1516e399b Pull complete                                                                                                                                       14.7s 
[+] Running 2/2
 ✔ Network naviderome_default        Created                                                                                                                           0.2s 
 ✔ Container naviderome-navidrome-1  Started    

自建Navidrome音乐服务器实现实现听歌自由 第一次登录按提示创建管理员账号,在/music 上传一些音乐文件,然后通过地址 http://music.caidao.net/app 就能访问到音乐服务器界面

配置手机客户端

这个音乐服务器可以通过 Navidrome 管理后台直接播放音乐,也可以安装手机客户端:

  • 音流地址:https://aqzscn.cn/archives/stream-music-versions
  • 棉花音乐地址:https://music.caij.xyz/
  • IOS: playSub、Substreamer、Amperfy、iSub Android:
  • DSub、Subtracks、Substreamer、Ultrasonic 、Audinaut

推荐使用音流(有macos客户端)及Substreamer,这个APP更加符合国人的使用习惯 主页地址:https://substreamerapp.com/

  • IOS客户端下载地址:https://apps.apple.com/us/app/substreamer/id1012991665
  • Android客户端下载地址:http://m.289.com/azrj/477219.html

Substreamer 首次启动后根据界面提示填写服务器地址 http://music.caidao.net ,以及第三步配置的账号和密码。Substreamer 启动之后自动获取音乐数据

修改歌曲元信息

Substreamer 默认按专辑分组展示音乐列表,界面上专辑列表很长,但是进入专辑里面仅有一两首歌,用户听起来非常不方便。可以用软件 Mp3tag 修改歌曲元信息,将歌曲改成同一个专辑名称,这样就将它们聚合在一起

  • Mp3tag的下载地址 https://www.mp3tag.de/en/dodownload64.html