Navidrome开源音乐服务搭建与使用-打造个人音乐流媒体服务平台

免费网盘   2024年04月09日 21:30  

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/navidrome1.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 KeyND_LASTFM_SECRET Last.fm 获取的 Shared SecretND_LASTFM_LANGUAGE 用于从 Last.fm 检索的语言的两个字母代码,简体中文为 zh2.2 Spotify

Spotify。在 Spotify 中创建一个免费帐户,单击 Spotify 的开发者仪表板中的CREATE AN APP 按钮:https://developer.spotify.com/dashboard/applications。

填写所有字段并单击 CREATE 按钮,将值复制到 Docker 的环境变量。

ND_SPOTIFY_ID Spotify 客户端 IDND_SPOTIFY_SECRET Spotify 客户端 Secret2.3 转码设置

Navidrome虽然支持各种音乐格式,但是有一些音乐文件比较大的话,无法在客户端播放,需要配置Navidrome进行转码成。不过 Navidrome 出于安全原因,禁用了从 Web 界面更改参数,所以需要先修改 Docker 的环境变量。

ND_ENABLETRANSCODINGCONFIG 设置为 true 才能支持转码功能ND_TRANSCODINGCACHESIZE 转码缓存的大小。设置 0 为禁用缓存,默认为 100MB2.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 和 iSubAndroid: DSub, Subtracks, substreamer, Ultrasonic 和 AudinautWeb: Subplayer, Airsonic Refix, Aurial, Jamstash 和 SubfireDesktop: Sublime Music (Linux) 和 Sonixd (Windows/Linux/macOS)CLI: Jellycli (Windows/Linux) 和 STMP (Linux/macOS)Connected Speakers:Sonos: bonobAlexa: AskSonicOther:Subsonic Kodi PluginNavidrome 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.iohttps://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.htmlOneinstack教程:/oneinstack-list/LNMP教程:/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系统。

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部