莱卡云技术博主分享:Docker搭建开源音乐服务器——Navidrome
1.项目Navidrome 是一款基于网络的开源音乐收藏服务器和流媒体,它是一开源的音乐播放器软件,可以用来自建云端音乐播放器,它兼容 Subsonic、Aironic 播放器,你可以将Navidrome打造成个人音乐流媒体服务平台。Navidrome 支持各大平台,包括:Windows 、macOS 、Linux。它几乎可播放任何音频格式,支持多用户,每个用户都有自己的播放次数、播放列表、收藏夹等。1.1项目介绍Navidrome适用于所有主要平台的即用型二进制文件,包括 Raspberry Pi ,可以自动监控你的库的变化,导入新文件和重新加载新的元数据,还可以在传输中进行转码,可按用户/播放器设置,支持 Opus 编码 。[*]处理超大音乐收藏
[*]几乎可串流任何音频格式
[*]读取并使用所有精心策划的元数据
[*]对合集(Various Artists 专辑)和盒装(多碟专辑)的强大支持
[*]多用户,每个用户都有自己的播放次数、播放列表、收藏夹等。
[*]资源使用率极低
[*]多平台,可在 macOS、Linux 和 Windows 上运行。还提供 Docker 映像
[*]所有主要平台(包括 Raspberry Pi)的二进制文件均可随时使用
[*]自动监控资料库变化,导入新文件并重新加载新元数据
[*]基于 Material UI 的可主题化、现代化和响应式网络界面
[*]与所有 Subsonic/Madsonic/Airsonic 客户端兼容
[*]即时转码可按用户/播放器设置。支持 Opus 编码
[*]翻译成各种语言
1.2项目展示https://blog.lcayun.com/wp-content/uploads/2025/01/image-32-1024x500.pnghttps://blog.lcayun.com/wp-content/uploads/2025/01/image-33-1024x482.png2.相关地址官方地址:https://www.navidrome.org/demo/官方文档:https://www.navidrome.org/docs/3.搭建环境
[*]服务器:这里为了方便搭建项目使用的是莱卡云的境外香港云服务器。(如果是国内用户连接建议使用国内的服务器(需备案域名)延迟会更低)
[*]莱卡云服务器促销活动性价比会更高。查看官网购买链接:https://www.lcayun.com
[*]资源配置:2核2G 30G硬盘
官方建议服务器内存1G以上,由于国内服务器访问海外源较慢,这边为了方便演示直接使用海外服务器搭建。
[*]服务器系统:Debian-11
[*]【必需】安装Docker:安装好 Docker、Docker-compose
[*]【非必需】域名一枚,可用于解析到服务器上使用域名访问
https://blog.lcayun.com/wp-content/uploads/2025/01/image-34.png4.搭建视频哔哩哔哩:https://www.bilibili.com/video/BV1tPwhebEY4/5.搭建方式5.1 安装docker和docker-compose安装教程:服务器上安装docker和docker-compose教程5.2 创建docker文件复制复制复制复制复制复制复制#在opt目录下创建navidrome文件夹mkdir /opt/navidrome
复制复制复制复制复制复制#打开navidrome文件cd /opt/navidrome
复制复制复制复制复制#编辑docker-compose.yml文件vim docker-compose.yml
5.3 安装Navidrome镜像填入以下的配置文件复制复制复制复制version: "3"services:navidrome: image: deluan/navidrome:develop ports: - "4533:4533" restart: unless-stopped environment: ND_SCANSCHEDULE: 0 ND_LOGLEVEL: info ND_SESSIONTIMEOUT: 24h ND_BASEURL: "/nav" ND_PLAYLISTSPATH: "." ND_LASTFM_LANGUAGE: "zh" ND_LASTFM_APIKEY: "lastfm_apikey" ND_LASTFM_SECRET: "lastfm_secret" ND_SPOTIFY_ID: "spotify_id" ND_SPOTIFY_SECRET: "spotify_secret" ND_ENABLEARTWORKPRECACHE: "false" ND_ENABLESHARING: "true" volumes: - "/opt/navidrome/data:/data" - "/opt/navidrome/music:/music:ro"
Navidrome有很多参数,有需要的可以自己添加,大家可以参考官方文档:https://www.navidrome.org/docs/usage/configuration-options/#advanced-configuration
参数名称参数值说明
ND_SCANSCHEDULE0设置为0不自动扫描,有变动了到网页里点击快速刷新就可以
ND_LOGLEVELinfo输出日志格式
ND_SESSIONTIMEOUT24h登录自动过期时间
ND_BASEURL/nav相对路径,通过nginx代理很有用,不暴露navidrome的端口,有一定的保护作用
ND_PLAYLISTSPATH.播放列表的相对路径,也就是在/opt/navidrome/music
ND_LASTFM_LANGUAGEzhLastFM配置为中文,配置三个参数,Navidrome 会自动去查询歌手的信息
ND_LASTFM_APIKEYlastfm_apikeyLast.fm配置
ND_LASTFM_SECRETlastfm_secretLast.fm配置
ND_SPOTIFY_IDspotify_id查询Spotify上的歌手信息
ND_SPOTIFY_SECRETspotify_secretSpotify配置
ND_ENABLEARTWORKPRECACHEfalse不启用封面图片缓存,因为服务器资源紧张,就关闭了,推进设置为true
ND_ENABLESHARINGtrue启用分享功能,可以不登录就可以听歌
5.4 运行Navidrome的docker镜像我们先启动docker复制复制复制# 启动dockerdocker compose up -d# 重启dockerdocker compose stopdocker compose start# 升级dockerdocker compose downdocker compose pulldocker compose up -d# 查看docker日志docker compose logs -f docs-navidrome-1
访问IP:4533端口就可以有界面出现了。https://blog.lcayun.com/wp-content/uploads/2025/01/image-35-1024x656.png首次登录我们需要设置用户名跟密码,这个根据自己情况设定5.5 上传音乐文件接下来给大家做一个简单的示例上传自己的音乐文件将音乐文件上传到/opt/navidrome/music我们使用FinalShell连接服务器示例,找到/opt/navidrome/music文件路径,这个路径已您在docker-compose.yml镜像中的路径保持一致https://blog.lcayun.com/wp-content/uploads/2025/01/image-36.png把音乐文件上传至这个文件夹即可https://blog.lcayun.com/wp-content/uploads/2025/01/image-38-1024x242.png上传后我们去点击扫描音乐文件https://blog.lcayun.com/wp-content/uploads/2025/01/image-39-1024x378.png就可以显示您上传的音乐文件了https://blog.lcayun.com/wp-content/uploads/2025/01/image-40-1024x474.png可以用管理员账号创建其他账号,分享给其他人使用也可以手机端使用,Navidrome提供Subsonic API兼容的APP可以到官网查看:https://www.navidrome.org/docs/overview/#apps6.结尾通过以上步骤,已经成功搭建出了属于您自己的播放器,Navidrome用Docker安装比较简单,特别适合那些音乐重度用户使用。Navidrome本身的文件管理不怎么好,具体其他功能大家可以自行挖掘。
页:
[1]