Navidrome开源音乐服务搭建与使用-打造个人音乐流媒体服务平台
Navidrome 是一开源的音乐服务器软件,可以用来自建云端音乐播放器,它兼容 Subsonic、Aironic 播放器,你可以将Navidrome打造成个人音乐流媒体服务平台。Navidrome 支持各大平台,包括:Windows 、macOS 、Linux。它几乎可播放任何音频格式,支持多用户,每个用户都有自己的播放次数、播放列表、收藏夹等。
Navidrome适用于所有主要平台的即用型二进制文件,包括 Raspberry Pi ,可以自动监控你的库的变化,导入新文件和重新加载新的元数据,还可以在传输中进行转码,可按用户/播放器设置,支持 Opus 编码 。Navidrome安装也比较简单,支持Docker,有网页端、手机APP和电脑PC端。
Navidrome是一个专门用于管理音乐软件的程序,想要管理音频和视频等综合类的程序软件,可以试试这几个:
- Plex完美个人影音云盘搭建教程-Plex Media Server安装与使用方法
- EMBY自建个人影音播放系统-使用免费开源Emby打造个人影视媒体库
- 利用Pydio搭建免费私有云存储-多终端自动同步可在线播放音乐视频
一、Navidrome安装准备
网站:
- 官网:https://www.navidrome.org
- 项目:https://github.com/navidrome/navidrome
1.1 VPS主机准备
Navidrome对于主机的配置要求不高,一般地512MB内存的VPS就可以了。Navidrome不能安装在虚拟主机上,你需要提前准备好一台VPS主机,选购参考:VPS主机排行榜单。
1.2 Docker环境
有了VPS主机,现在你就可以需要在VPS主机上配置好Docker环境,这里有一个一键安装Docker环境的命令,配置起来非常地简单:Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源。
1.3 docker-compose
Docker images 适用 linux/amd64, linux/arm/v6, linux/arm/v7 and linux/arm64 platforms
. 官方给的docker-compose
示例如下:
version: "3" services: navidrome: image: deluan/navidrome:latest user: 1000:1000 # should be owner of volumes 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: "" volumes: - "/path/to/data:/data" - "/path/to/your/music/folder:/music:ro"
最后执行 docker-compose up –d
开始安装。详细的安装步骤见本文第二部分。
二、Navidrome安装过程
首先是创建文件夹,用来存放Navidrome主程序和音乐文件。
apt update -y ## 升级包 mkdir -p ~/data/docker_data/navidrome ## 创建文件夹 mkdir -p /root/data/docker_data/qbittorrent/music
然后是进入到文件夹。
cd ~/data/docker_data/navidrome ## 进入文件夹
接着就是新建docker-compose.yml
。
vim docker-compose.yml ## 创建docker-compose
你可以将官方的docker-compose.yml
示例代码放在这里,也可以使用以下网友优化版的:
version: "3" services: navidrome: image: deluan/navidrome:latest ports: - "4533:4533" # 左边可以改成自己服务器未被占用的端口 environment: # Optional: put your config options customization here. Examples(这些都是可选的): ND_SCANSCHEDULE: 1m ND_LASTFM_ENABLED: ND_LASTFM_APIKEY: 8da9158005895f6e620cd75aaac9 # 修改成自己的APIKEY ND_LASTFM_SECRET: c518b8d36590a1119b5f90e1ce46a # 修改成自己的SECRET ND_SPOTIFY_ID: 4cd036bsqd1594bd0b41bc8f94c46846d # 修改成自己的ID ND_SPOTIFY_SECRET: 249ca01a48be46fcb084523a6b267661bb1 # 修改成自己的SECRET ND_LASTFM_LANGUAGE: zh ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: "" ND_ENABLETRANSCODINGCONFIG: "true" ND_TRANSCODINGCACHESIZE: "4000M" ND_IMAGECACHESIZE: "1000M" volumes: - "./data:/data" - "/root/data/docker_data/qbittorrent/music:/music:ro" # 冒号左边修改成自己本地的音乐文件夹路径 miniserve: image: svenstaro/miniserve:latest depends_on: - navidrome ports: - "4534:8080" volumes: - "/root/data/docker_data/qbittorrent/music:/downloads" # 冒号左边修改成自己本地的音乐文件夹路径 command: "-r -z -u -q -p 8080 -a wzfou:123456 /downloads" # wzfou:123456 修改成自己的账号:密码 restart: unless-stopped
优化版本的docker-compose.yml
主要是添加了以下功能(你可以根据自己的需要进行取舍) :
2.1 Last.fm
docker-compose.yml 配置 Navidrome 可以从 Last.fm 和 Spotify 获取专辑信息和图像。
Last.fm。首先需要一个Last.fm 免费帐户,其次你要能访问Last.fm。转到 https://www.last.fm/api/account/create 并创建一个 API 帐户。只有 应用程序名称 字段是强制性的。
提交表单后,可以从 API account Created 页面获取 API Key 和 Shared Secret,将上面的值复制到 Docker 的环境变量。
ND_LASTFM_ENABLED 设置 false 为完全禁用 Last.fm 集成 ND_LASTFM_APIKEY Last.fm 获取的 API Key ND_LASTFM_SECRET Last.fm 获取的 Shared Secret ND_LASTFM_LANGUAGE 用于从 Last.fm 检索的语言的两个字母代码,简体中文为 zh
2.2 Spotify
Spotify。在 Spotify 中创建一个免费帐户,单击 Spotify 的开发者仪表板中的CREATE AN APP 按钮:https://developer.spotify.com/dashboard/applications。
填写所有字段并单击 CREATE 按钮,将值复制到 Docker 的环境变量。
ND_SPOTIFY_ID Spotify 客户端 ID ND_SPOTIFY_SECRET Spotify 客户端 Secret
2.3 转码设置
Navidrome虽然支持各种音乐格式,但是有一些音乐文件比较大的话,无法在客户端播放,需要配置Navidrome进行转码成。不过 Navidrome 出于安全原因,禁用了从 Web 界面更改参数,所以需要先修改 Docker 的环境变量。
ND_ENABLETRANSCODINGCONFIG 设置为 true 才能支持转码功能 ND_TRANSCODINGCACHESIZE 转码缓存的大小。设置 0 为禁用缓存,默认为 100MB
2.4 开始安装
最后,docker-compose.yml
代码如下:
version: "3" services: navidrome: image: deluan/navidrome:latest ports: - "4533:4533" # 左边可以改成自己服务器未被占用的端口 environment: # Optional: put your config options customization here. Examples(这些都是可选的): ND_SCANSCHEDULE: 1m ND_LASTFM_ENABLED: ND_LASTFM_APIKEY: 8da9158005895f6e620cd75aaac9 # 修改成自己的APIKEY ND_LASTFM_SECRET: c518b8d36590a1119b5f90e1ce46a # 修改成自己的SECRET ND_SPOTIFY_ID: 4cd036bsqd1594bd0b41bc8f94c46846d # 修改成自己的ID ND_SPOTIFY_SECRET: 249ca01a48be46fcb084523a6b267661bb1 # 修改成自己的SECRET ND_LASTFM_LANGUAGE: zh ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: "" ND_ENABLETRANSCODINGCONFIG: "true" ND_TRANSCODINGCACHESIZE: "4000M" ND_IMAGECACHESIZE: "1000M" volumes: - "./data:/data" - "/root/data/docker_data/qbittorrent/music:/music:ro" # 冒号左边修改成自己本地的音乐文件夹路径 miniserve: image: svenstaro/miniserve:latest depends_on: - navidrome ports: - "4534:8080" volumes: - "/root/data/docker_data/qbittorrent/music:/downloads" # 冒号左边修改成自己本地的音乐文件夹路径 command: "-r -z -u -q -p 8080 -a wzfou:123456 /downloads" # wzfou:123456 修改成自己的账号:密码 restart: unless-stopped
执行命令:docker-compose up -d
完成安装。
访问IP:4533端口就可以有界面出现了。
访问IP:4534端口就可以上传下载歌曲了。
三、Navidrome使用方法
Navidrome 除了网页界面,还支持各种第三方客户端:
iOS: play:Sub, substreamer, Amperfy 和 iSub
Android: DSub, Subtracks, substreamer, Ultrasonic 和 Audinaut
Web: Subplayer, Airsonic Refix, Aurial, Jamstash 和 Subfire
Desktop: Sublime Music (Linux) 和 Sonixd (Windows/Linux/macOS)
CLI: Jellycli (Windows/Linux) 和 STMP (Linux/macOS)
Connected Speakers:
Sonos: bonob
Alexa: AskSonic
Other:
Subsonic Kodi Plugin
Navidrome Kodi Plugin
3.1 Web网页端
Navidrome支持中文,进入到Navidrome的网页版后可以设置为中文。
这个就是Navidrome的界面,Navidrome会自动检测你存放在/root/data/docker_data/qbittorrent/music
中的音乐文件(路径是我们在docker-compose.yml
设置的)。
Navidrome可以在线播放音乐、下载音乐以及查看音乐信息等。
3.2 PC电脑端
PC电脑端推荐:Sonixd
- 下载:https://github.com/jeffvli/sonixd
下载安装Sonixd,先登录你的Navidrome的URL、账号和密码。
这个就是Navidrome的Sonixd界面,和Navidrome的网页端类似。
这是Sonixd的播放界面。
3.3 手机APP
安卓上推荐Ultrasonic:
- https://ultrasonic.gitlab.io
- https://gitlab.com/ultrasonic/ultrasonic
手机上安装Ultrasonic,然后填写服务器地址、账号和密码。
这个就是Ultrasonic的界面,你可以在媒体库看到自己的音乐文件。
这是Ultrasonic的音乐播放界面。
四、Navidrome优化设置
4.1 反向绑定域名
(可选)Navidrome使用IP+端口的形式访问,不如使用域名访问方便。给Navidrome反向绑定域名有三种方式:
宝塔面板反向绑定域名。如果你的VPS主机上安装了宝塔面板(教程:新版宝塔面板安装与使用教程-利用宝塔面板在VPS主机上搭建网站),先在宝塔面板上添加域名网站,并且申请好SSL证书,然后进入到反向绑定域名界面。
如下图填写你的Navidrome的IP:端口地址
,点击保存,重启Nginx生效。
Docker一键反向绑定域名。如果你在你的Docker安装了Nginx反向绑定域名管理工具,反向绑定域名就更简单了,先添加SSL证书。
然后添加反向绑定域名。然后填写你的Navidrome的IP+端口地址,保存,完成。
Oneinstack或者LNMP反向绑定域名。如果你的VPS主机上安装了Oneinstack或者LNMP一键包,那你可以直接修改你的域名Nginx配置文件达到反向绑定域名的目的了。
- https://docs.min.io/docs/setup-nginx-proxy-with-minio.html
- Oneinstack教程:https://wzfou.com/oneinstack-list/
- LNMP教程:https://wzfou.com/lnmp-yjb/
4.2 整合Filemanager
我们在以前的文章有介绍过CCAA脚本整合了Filemanager文件管理器,Filemanager是一个非常不错的在线文件管理器。Navidrome可以使用以下方法将Filemanager整合进来。
docker run -d --restart=always \ -v /root/data/docker_data/qbittorrent/music:/srv \ -p 8003:80 \ --name filebrowser \ langren1353/filebrowser-ckplayer
访问IP:8003就可以Filemanager界面了,由于我们在安装Filemanager时已经将它默认的下载路径设置与Navidrome的音乐路径保持一致,直接用Filemanager就可以下载和查看文件了。
4.3 Navidrome转码
对于一些无法播放的格式的音乐文件,你需要在Navidrome设置转码。
默认设置中有两个转码方案,一个是转 MP3,另一个是转 OPUS。先选择要转码的客户端。
根据需要修改 比特率等。
五、总结
Navidrome用Docker安装比较简单,特别适合那些音乐重度用户使用。Navidrome本身的文件管理不怎么好,我们可以借助Filemanager进行管理。
并且Filemanager还可以整合Aria2离线下载,功能就更强了:Aria2离线下载和在线播放-整合KodExplorer FileManager Nextcloud和 Plex系统。
文章出自:挖站否 https://wzfou.com/navidrome/, 部分内容参考 blog.laoda.de 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。
- Plex完美个人影音云盘搭建教程-Plex Media Server安装与使用方法
- 利用Pydio搭建免费私有云存储-多终端自动同步可在线播放音乐视频
- 用GoIndex将Google Drive变身直链网盘-外链图片视频 可直接在线预览和观看
- EMBY自建个人影音播放系统-使用免费开源Emby打造个人影视媒体库
- 自建个人电影音乐资料库:Plex 安装与使用和Aria2离线下载影音文件
- 音乐精灵melody – 在线搜索歌曲试听和下载以及一键“解锁”歌曲
- Navidrome开源音乐服务搭建与使用-打造个人音乐流媒体服务平台
- 自建音乐流媒体服务器和私人音乐电台-开源免费的音乐服务程序推荐
- Koel自建音乐流服务和个人音乐电台-Koel Docker安装与使用教程
手机浏览器上为什么就无法播放啊?