使用Navidrome配合音流软件自建音乐库,可搭配alist挂载网盘使用

安装

推荐使用 Docker Com­pose 安装 Navidrome。创建 docker-compose.yml 文件,填入以下内容:

services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    user: 1026:100 #用户id,详细解释见后文
    ports:
      - 4533:4533 #左侧端口如有冲突,可随意修改
    volumes:
      - ./navidrome:/data #数据路径
      - /volume1/media/music:/music:ro #音乐路径
    environment:
      #程序默认语言
      - ND_DEFAULTLANGUAGE=zh-Hans
      #启用GRAVATAR头像
      - ND_ENABLEGRAVATAR=true
      #关闭转码,如需要转码请设置为true
      - ND_ENABLETRANSCODINGCONFIG=false
      #SPOTIFY相关
      # - ND_SPOTIFY_ID=
      # - ND_SPOTIFY_SECRET=
      #LAST.FM相关
      # - ND_LASTFM_LANGUAGE=zh
      # - ND_LASTFM_APIKEY=
      # - ND_LASTFM_SECRET=
      #PROXY相关
      # - HTTP_PROXY=http://proxy:port
      # - HTTPS_PROXY=http://proxy:port
    restart: unless-stopped

关于 user 部分,Navidrome 不建议使用 root 用户运行。群晖管理员用户一般是 1026:100 ,可以使用该用户登录 SSH 终端后输入 id username 查询。例如我的群晖用户名是 mikusa :

$ id mikusa
uid=1026(mikusa) gid=100(users) groups=100(users),101(administrators),65537(docker)

如果实在是无法确定或者懒得查,那就填 1000:1000

在 volumes 文件夹挂载部分,官方建议为音乐文件夹设置只读 :ro 标记以保证不修改音乐文件。群晖用户同时需要注意预创建 navidrome 数据文件夹。

而环境变量的部分,虽然官方文档有数十条可供选择的环境变量,但实际上用到的配置不多,除了固定语言、关闭转码以外,都是些不影响使用的功能。

如果你想让 Navidrome 显示歌手头像,那么需要配置 Spotify 相关的部分。你需要先创建一个 Spo­tify 账户,随后在 https://developer.spotify.com/dashboard/applications 中 Cre­ate app 创建一个应用。

图片[1]-使用Navidrome配合音流软件自建音乐库,可搭配alist挂载网盘使用-滤镜色彩

只需填写 App nameApp description 以及 Redirect URI 这三处,Redi­rect URI 需要填写 http://localhost/ ,即可保存。

随后返回控制台,点击应用,进入应用设置,即可获取 Client ID 和 Client secret。对应填入环境变量中的 ND_SPOTIFY_ID 和 ND_SPOTIFY_SECRET 。

图片[2]-使用Navidrome配合音流软件自建音乐库,可搭配alist挂载网盘使用-滤镜色彩

如果你想让 Navidrome 显示歌手简介、热门歌曲等相关信息,就需要在环境变量中配置 Last.fm。同样先创建一个 Last.fm 帐户,前往 https://www.last.fm/zh/api/account/create 创建 API 帐户,只用填写应用名称。提交后在 API 应用程序 页面复制粘贴 Key 和 Se­cret 到环境变量即可。

图片[3]-使用Navidrome配合音流软件自建音乐库,可搭配alist挂载网盘使用-滤镜色彩

上述两项外部功能,视个人网络状况而定,如果无法使用,你可能还需要配置 proxy 项。

如果你有增减环境变量的需求,请参考官方文档

如果你需要使用域名访问 Navidrome,这里提供一个简单的 Ng­inx 反向代理配置:

server {
    listen 80;
    server_name navidrome.you.domain;
    return 301 https://navidrome.you.domain$request_uri;
}

server {
    listen 443 ssl http2;
    server_name navidrome.you.domain;
    #SSL配置省略
    location / {
        proxy_pass http://navidrome:4533;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_buffering off;
    }
    access_log /home/wwwlogs/navidrome.log;
}

使用

启动容器后,Navidrome 便可以直接使用了,几乎不需要其他额外的设置。

初次访问 IP:4533,Navidrome 会要求你先创建管理员账户。

因为环境变量中已经配置了默认语言,所以不用再修改用户语言,直接就是中文。

总之,只要你准备好音乐,Navidrome 就可以做到开箱即用。

图片[4]-使用Navidrome配合音流软件自建音乐库,可搭配alist挂载网盘使用-滤镜色彩

App

为了能让 Navidrome 变得稍微好用一点点,我的建议是使用第三方客户端。Navidrome 目前支持 Sub­sonic/​Mad­sonic/​Air­sonic 协议,市面上(iOS App Store)已经有许多 Sub­sonic/​Mad­sonic/​Air­sonic 的客户端,但它们都没有中文。「音流」的出现,让中文用户多了一种选择。

音流

音流」是一款国人开发的音乐播放器,支持 Sub­sonic/​Navidrome/​Jel­lyfin/​Emby/​Au­dio­Sta­tion,现已登录 An­droid、iOS,未来可能支持 Win­dows 和 tvOS 平台。音流采用 Flut­ter 开发,界面简洁美观,整体以透明和高斯模糊为主,布局类似于网易云音乐,上手基本没有门槛。你可以在音流官网获取 An­droid 安装包,或直接在 iOS App Store 搜索「音流」下载。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容