自建一款开源音乐服务-Navidrome

2024-09-01 00:28

本文主要是介绍自建一款开源音乐服务-Navidrome,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自建一款开源音乐服务-Navidrome

Navidrome,一个开源的音乐服务器和播放器,提供了一个优雅且功能丰富的解决方案,让你的音乐库无论在何处都能触手可及。本文将带你一步步搭建自己的Navidrome音乐服务器,让你的音乐生活更加自由和个性化。

Navidrome

官网: https://www.navidrome.org/

开源地址:https://github.com/navidrome/navidrome

Navidrome_music

主要功能

• 处理非常大的音乐收藏

• 几乎可播放任何音频格式

• 读取并使用你精心标记的各种元数据

• 多用户,每个用户都有自己的播放次数、播放列表、收藏夹等

• 资源占用率非常低

• 多平台,在 macOS、Linux 和 Windows 上运行。还提供 Docker 镜像

• 适用于所有主要平台的即用型二进制文件,包括 Raspberry Pi

• 自动监控你的库的变化,导入新文件和重新加载新的元数据

• 基于 Material UI 的主题、现代和响应式的 Web 界面

• 与所有 Subsonic/Madsonic/Airsonic 客户端兼容

• 在传输中进行转码,可按用户/播放器设置,支持 Opus 编码

• 支持中文界面

搭建Navidrome

1.准备环境
首先,你需要一台服务器来运行 Navidrome。这可以是一台物理服务器,也可以是一个虚拟机或者 Docker 容器。

2.需要安装docker和docker-compose

安装Navidrome

# 新建目录
mkdir -p /www/docker/navidrome
cd /www/docker/navidrome# 编辑
vim /www/docker/navidrome/docker-compose.yml
根据实际需要修改参数:version: "3"
services:navidrome:image: deluan/navidrome:latestuser: 1000:1000 # should be owner of volumesports:- "4533:4533"restart: unless-stoppedenvironment:# Optional: put your config options customization here. Examples:ND_SCANSCHEDULE: 1hND_LOGLEVEL: info  ND_SESSIONTIMEOUT: 24hND_BASEURL: ""volumes:- "/www/docker/navidrome/data:/data"- "/www/docker/navidrome/music:/music:ro"

解释

ND_SCANSCHEDULE: 1h 表示每小时扫描一次音乐库。
ND_LOGLEVEL: info 设置日志记录级别为info。
ND_SESSIONTIMEOUT: 24h 设置会话超时时间为24小时。
ND_BASEURL: "" 设置基础URL为空。/www/docker/navidrome/data 是 Navidrome 存储其数据库和缓存的位置。
/www/docker/navidrome/music 是存储音乐文件的位置,如果想上传音乐请上传到此目录

访问Navidrome

如果一切正常,浏览器访问4533端口即可访问Navidrome,第一次访问需要设置admin账号和密码。

image-20240830152048929

进入后台

更改语言

点击右侧头像 “Personal” 在Language中切换简体中文

image-20240830152225645

上传音乐

在 /www/docker/navidrome/music 中上传你的音乐

www/docker/navidrome/music# ls
001.Jay-斗牛.flac        003.Jay-黑色幽默.flac  005.Jay-龙卷风.flac  007.Jay-完美主义.flac  009.Jay-伊斯坦堡.flac
002.Jay-反方向的钟.flac  004.Jay-可爱女人.flac  006.Jay-娘子.flac    008.Jay-星晴.flac      010.Jay-印第安老斑鸠.flac

image-20240830153129661

image-20240830153658801

手机客户端

除了使用浏览器访问外,Navidrome 还应该与所有 Subsonic 客户端兼容。以下客户端经过测试并确认可以正常工作

笔者使用iPhone手机下载

安卓

• Symfonium

• DSub

• Tempo

• substreamer

• Subtracks

• Ultrasonic

IOS

• play:Sub 【收费】

• substreamer

• Amperfy

• iSub

image-20240830160303243

image-20240830160316483

结尾

通过自己动手搭建一款开源音乐服务器 - Navidrome,你不仅可以摆脱商业音乐流媒体服务的各种限制,还能享受到高度定制化的音乐体验。无论你是音乐发烧友,还是技术爱好者,Navidrome 都是一个值得一试的项目。希望这篇文章能够帮助你顺利搭建并使用 Navidrome,开启属于你自己的音乐之旅。

这篇关于自建一款开源音乐服务-Navidrome的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125423

相关文章

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

使用python制作一款文件粉碎工具

《使用python制作一款文件粉碎工具》这篇文章主要为大家详细介绍了如何使用python制作一款文件粉碎工具,能够有效粉碎密码文件和机密Excel表格等,感兴趣的小伙伴可以了解一下... 文件粉碎工具:适用于粉碎密码文件和机密的escel表格等等,主要作用就是防止 别人用数据恢复大师把你刚删除的机密的文件恢

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

SysMain服务可以关吗? 解决SysMain服务导致的高CPU使用率问题

《SysMain服务可以关吗?解决SysMain服务导致的高CPU使用率问题》SysMain服务是超级预读取,该服务会记录您打开应用程序的模式,并预先将它们加载到内存中以节省时间,但它可能占用大量... 在使用电脑的过程中,CPU使用率居高不下是许多用户都遇到过的问题,其中名为SysMain的服务往往是罪魁

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三