Docker部署Navidrome,搭建本地音乐库
一、Navidrome是什么
Navidrome 是什么呢?引用Navidrome官网的原话:
Navidrome is a self-hosted, open source music server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device.
Navidrome 是一个自托管的开源音乐服务器和流媒体。它让您可以自由地从任何浏览器或移动设备收听您的音乐收藏。
Navidrome
是一个现代的音乐服务器,兼容所有的 Subsonic/Airsonic
客户端。Navidrome
后端使用 Go
语言编写,前端基于 React
,界面风格采用 Material UI
,串流音乐的接口兼容 Subsonic
,所以支持 Subsonic
的客户端都可以使用。
二、Navidrome的特点
- 支持几乎所有音频格式,流式传输几乎任何可用的音频格式
- 读取并使用元数据
- 对合辑(各种艺术家专辑)和盒装(多碟专辑)的支持
- 独立用户系统,每个用户都有自己的播放次数、播放列表、收藏夹
- 系统资源占用极低,即使几十GB 几千首歌依然非常流畅
- 开源,多平台,可在 macOS、Linux 和 Windows 上运行。还提供了 Docker 镜像
- 可用于所有主要平台的二进制文件,包括 Raspberry Pi
- 自动监控您的音乐库的更改、导入新文件和重新加载新元数据
- 基于 Material UI 的主题化、现代和响应式 Web 界面
- 与所有 Subsonic/Madsonic/Airsonic 客户端兼容,甚至还有 Kodi 的插件
- 自带即时转码,可以为每个用户单独设置。支持 Opus 编码。
- 界面集成各种语言
三、Navidrome的缺点
- 不支持在页面上传歌曲文件以及修改文件 Metadata
- 不支持歌曲分享
- 只支持内嵌的歌词显示且歌词显示只能悬浮一行显示
四、部署Navidrome
1、docker-compose.yml
services:
navidrome:
image: deluan/navidrome:latest
container_name: navidrome
ports:
- 54533:4533 #左侧端口如有冲突,可随意修改
volumes:
- ~/data:/data #数据路径
- ~/music:/music:ro #音乐路径
environment:
#程序默认语言
- ND_DEFAULTLANGUAGE=zh-Hans
#启用GRAVATAR头像
- ND_ENABLEGRAVATAR=true
#启用转码,如需要关闭转码请设置为false
- ND_ENABLETRANSCODINGCONFIG=true
#设置从新浏览器登录时 UI 使用的默认主题
- ND_DEFAULTTHEME=Light
#更改登录页面中使用的背景图像
#- ND_UILOGINBACKGROUNDURL=
#在登录屏幕添加欢迎消息
#- ND_UIWELCOMEMESSAGE='拾起光影,奏响记忆,让记忆在旋律中闪耀!'
#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
2、docker run 部署
docker run -d \
--name navidrome \
--restart always \
--env ND_DEFAULTLANGUAGE=zh-Hans \
--env ND_ENABLEGRAVATAR=true \
--env ND_DEFAULTTHEME=Light \
--env ND_ENABLETRANSCODINGCONFIG=true \
--env ND_UIWELCOMEMESSAGE='拾起光影,奏响记忆,让记忆在旋律中闪耀!' \
-v ~/data:/data \
-v ~/music:/music:ro \
-p 54533:4533 \
--memory="512m" \
deluan/navidrome:latest
3、拾光坞 NAS 部署
1.下载镜像
到拾光坞
客户端-容器服务-镜像商店-搜索navidrome
,选择第一个星星最多的deluan/navidrome
,导入镜像。
2.创建容器
目录映射
- /个人空间/docker_storage/navidrome :
/data
- /个人空间/Music :
/music
端口映射4533
: 54533
点击创建,完成后启动容器即可。
仅展示基础功能创建,其他定制可选功能感兴趣可自行研究加上。
五、Navidrome Web访问
http://{Your ip}:54533
记得改成你的设备内网ip地址,注意没有公网ip是只能局域网内访问哦。
首次使用需要设置管理员账号密码
六、Subsonic API
七、Navidrome 对接第三方app
如果不满意自带的web界面呢,可以使用第三方app访问。Navidrome
与所有 Subsonic/Madsonic/Airsonic
客户端兼容,甚至还有 Kodi
的插件。
比如 音流
:
「音流」是一款国人开发的音乐播放器,支持 Subsonic/Navidrome/Jellyfin/Emby/AudioStation
,现已登录 Android、iOS,未来可能支持 Windows 和 tvOS 平台。音流采用 Flutter 开发,界面简洁美观,整体以透明和高斯模糊为主,布局类似于网易云音乐,上手基本没有门槛。你可以在音流官网获取 Android 安装包,或直接在 iOS App Store 搜索「音流」下载。
下载地址: https://www.aqzscn.cn/archives/stream-music-versions
win安装教程: https://aqzscn.cn/archives/stream-music-win
这里不过多介绍…
安装完成后直接打开选择链接Navidrome
,输入Navidrome
访问地址验证账号密码即可。
音流这个界面就很舒服,同时也可以搭配拾光坞
使用拾光穿透将Navidrome端口
映射出去,实现外网访问
。