自建一款开源音乐服务-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

相关文章

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

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

RabbitMQ消息总线方式刷新配置服务全过程

《RabbitMQ消息总线方式刷新配置服务全过程》SpringCloudBus通过消息总线与MQ实现微服务配置统一刷新,结合GitWebhooks自动触发更新,避免手动重启,提升效率与可靠性,适用于配... 目录前言介绍环境准备代码示例测试验证总结前言介绍在微服务架构中,为了更方便的向微服务实例广播消息,

关于DNS域名解析服务

《关于DNS域名解析服务》:本文主要介绍关于DNS域名解析服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录DNS系统的作用及类型DNS使用的协议及端口号DNS系统的分布式数据结构DNS的分布式互联网解析库域名体系结构两种查询方式DNS服务器类型统计构建DNS域

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

SpringCloud整合MQ实现消息总线服务方式

《SpringCloud整合MQ实现消息总线服务方式》:本文主要介绍SpringCloud整合MQ实现消息总线服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、背景介绍二、方案实践三、升级版总结一、背景介绍每当修改配置文件内容,如果需要客户端也同步更新,

linux服务之NIS账户管理服务方式

《linux服务之NIS账户管理服务方式》:本文主要介绍linux服务之NIS账户管理服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、所需要的软件二、服务器配置1、安装 NIS 服务2、设定 NIS 的域名 (NIS domain name)3、修改主

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾