
安装
推荐使用 Docker Compose 安装 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 相关的部分。你需要先创建一个 Spotify 账户,随后在 https://developer.spotify.com/dashboard/applications 中 Create app 创建一个应用。
![图片[1]-使用Navidrome配合音流软件自建音乐库,可搭配alist挂载网盘使用-滤镜色彩](https://cdn.ljpic.com/wp-content/uploads/2024/06/20240630165848687.png!mi)
只需填写 App name、App description 以及 Redirect URI 这三处,Redirect URI 需要填写 http://localhost/
,即可保存。
随后返回控制台,点击应用,进入应用设置,即可获取 Client ID 和 Client secret。对应填入环境变量中的 ND_SPOTIFY_ID
和 ND_SPOTIFY_SECRET
。
![图片[2]-使用Navidrome配合音流软件自建音乐库,可搭配alist挂载网盘使用-滤镜色彩](https://cdn.ljpic.com/wp-content/uploads/2024/06/20240630165910975.png!mi)
如果你想让 Navidrome 显示歌手简介、热门歌曲等相关信息,就需要在环境变量中配置 Last.fm。同样先创建一个 Last.fm 帐户,前往 https://www.last.fm/zh/api/account/create 创建 API 帐户,只用填写应用名称。提交后在 API 应用程序 页面复制粘贴 Key 和 Secret 到环境变量即可。
![图片[3]-使用Navidrome配合音流软件自建音乐库,可搭配alist挂载网盘使用-滤镜色彩](https://cdn.ljpic.com/wp-content/uploads/2024/06/20240630165923888.png!mi)
上述两项外部功能,视个人网络状况而定,如果无法使用,你可能还需要配置 proxy
项。
如果你有增减环境变量的需求,请参考官方文档。
如果你需要使用域名访问 Navidrome,这里提供一个简单的 Nginx 反向代理配置:
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挂载网盘使用-滤镜色彩](https://cdn.ljpic.com/wp-content/uploads/2024/06/20240630170039435.png!mi)
App
为了能让 Navidrome 变得稍微好用一点点,我的建议是使用第三方客户端。Navidrome 目前支持 Subsonic/Madsonic/Airsonic 协议,市面上(iOS App Store)已经有许多 Subsonic/Madsonic/Airsonic 的客户端,但它们都没有中文。「音流」的出现,让中文用户多了一种选择。
音流
「音流」是一款国人开发的音乐播放器,支持 Subsonic/Navidrome/Jellyfin/Emby/AudioStation,现已登录 Android、iOS,未来可能支持 Windows 和 tvOS 平台。音流采用 Flutter 开发,界面简洁美观,整体以透明和高斯模糊为主,布局类似于网易云音乐,上手基本没有门槛。你可以在音流官网获取 Android 安装包,或直接在 iOS App Store 搜索「音流」下载。
暂无评论内容