自建一款开源音乐服务-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,开启属于你自己的音乐之旅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/413878.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Qt】关于QMenuBar创建方式的讨论

关于QMenuBar创建方式的讨论 如果在创建项目的时候,没有勾选自动生成ui文件,此时上述代码是正确的;而如果勾选了自动生成ui文件,上述代码则会出现内存泄漏的问题。因为Qt已经生成了一个QMenuBar了 由于之前程序已经自己创建好了一…

STM32 系列MCU 开发利器 STM32CubeIDE

前言 由于自己接触较多的 ARM 系列芯片主要是 STM32 系列的,接触过 STM32 F1、F4、L4、H7 等几个系列,使用的 开发工具,主要是 Keil MDK5、IAR,所以也比较关注开发工具的使用。 Keil MDK5、IAR 属于商用收费的功能强大的IDE&…

【MATLAB】matlab生成的图像如何导出(三种方法教会你)

我们经常使用matlab生成各类的图,如何将其导出,导出为何种类型。 方法一:选择 matlab 生成的图形界面 " Figure 1 " 的菜单栏 " 编辑 " — " 复制图窗 " , 就可以将图像拷贝到 Word 文档中 打开 Word 文档 ,…

单片机编程魔法师-消息处理

消息机制 消息处理的编程思路是当某件事产生后只发送一条事件产生消息以通知相应执行机构执行的一种编程思路。 消息定义 什么是消息,消息是一个指示,可以是数字,字符串,字符或者是任何形式的其他标识符 消息定义的形式与消息…

简易的 Websocket + 心跳机制 + 尝试重连

文章目录 演示大纲基础 WebSocket前端: 添加心跳机制前端: 尝试重新连接历史代码 还没有写完,bug 是有的,我在想解决办法了… 演示 大纲 基础的 webSocket 连接前后端:添加心跳机制后端无心跳反应,前端尝试重新连接设置重新连接…

计算多图的等价无向图的邻接链表表示

计算多图的等价无向图的邻接链表表示 摘要:一、引言二、算法思路三、伪代码实现四、C代码实现五、算法分析六、结论摘要: 在图论中,多图(Multigraph)是一种允许边重复以及存在自循环边(即一个顶点到其自身的边)的图。给定一个多图的邻接链表表示,本文旨在探讨如何构造…

PHP软件下载-安装-环境配置

.1.下载 下载地址如下 windows.php.net - /downloads/releases/ 安装包如下. .2.安装 可以在D盘或者E盘的根目录创建一个自定义目录。注意文件夹目录中不能包含中文,不能包含空格等特殊字符。 版本说明: (1)ts表示非线程安全版本。这个安装包还指明了…

c++模拟实现数据结构之vector篇

那么本篇文章是带大家一起实现一下数据结构vector,那么我们现在就进入正题。 目录 接口介绍部分 增加 尾插 指定插入与头插 删除 尾删 指定位置删除 主要代码逻辑 增加 尾插 指定插入与头插 删除 尾删 指定位置删除 一些其他接口的代码逻辑 模拟实现…

django企业开发实战-学习小结

写在前面 初次阅读此书是三年前,当时没经历过完整的项目 觉得这书就是扯淡 后来经历过项目加班与毒打 今天再翻开此书 觉得实乃不可多得之物 花些时间啃下来吧 django版本 3.2 本博客开源项目地址 kimsmith/django企业实战 (gitee.com) 有的代码因为版本混乱报错…

Unity 3D学习资料集合

本文包含了unity3D 游戏开发相关的学习资料,包含了入门、进阶、性能优化、面试和书籍等学习资料,含金量非常高,在这里分享给大家,欢迎收藏。 学习社区 1.Unity3D开发者 Unity3D开发者论坛是一个专注于Unity引擎的开发者社区。在这…

VSCode设置复制 Ctrl+D想下复制

VSCode 默认向下复制当前行是 shift Alt ↓,但是我们习惯了IDE和webStrom的CtrlD的想下复制.下面是VSCode自定义快捷键. VSCode设置复制 CtrlD想下复制 1.文件->首选项->键盘快捷方式(ctrk 在案ctrs)2.输入 copy line down->右键->更改键绑定3.完成 1.文件->首…

探索《黑神话:悟空》背后的编程技术

《黑神话:悟空》作为一款备受期待的动作角色扮演游戏,以其卓越的视觉效果和流畅的游戏体验吸引了全球玩家的关注。这款游戏不仅在艺术设计和技术实现上展现了极高的水准,其背后的编程技术更是保证了游戏顺利运行和出色表现的关键因素。在这篇…

低代码技术新趋势——逆向工程

低代码的下一个趋势,应该是“逆向工程”,用户可以通过 可视化界面,逆向输出全栈工程代码。而标准的工程代码同样可以编译为支持可视化分析、编辑、调整的“无代码”程序。前一个是解释性语言向编译性语言的逆向工程。后者则是一个理论实践应用…

如何成为一个飞控算法工程师?

兄弟,这个问题问得好,但也别想着靠看几本书就能一步登天。飞控算法这玩意儿,真要干好了,不是简简单单几个公式几个库就能搞定的。你本科电子专业有点基础,玩过四轴飞行器也算是入门了,但要搞真算法&#xf…

ComfyUI:基于差分扩散的像素级图像修改

在几个月的沉寂之后,差分扩散(Differential Diffusion)被引入了。 玩了几天之后,我仍然对结果感到震惊。 这种新的先进方法允许以像素为基础进行更改,而不是以整个区域为基础进行更改。 另一种可能更通俗的说法&…

PCL-直通滤波

本篇内容: 讲解直通滤波的作用通过pcl实现直通滤波 效果: 1 主要原理 点云数据通常包含x、y、z三个维度的数据,用户指定维度、范围后,直通滤波过滤或保留该范围内的所有点云 假设我指定维度’y’,范围(…

【unity实战】使用新版输入系统Input System+Rigidbody实现第三人称人物控制器

最终效果 前言 使用CharacterController实现3d角色控制器,之前已经做过很多了: 【unity小技巧】unity最完美的CharacterController 3d角色控制器,实现移动、跳跃、下蹲、奔跑、上下坡、物理碰撞效果,复制粘贴即用 【unity实战】C…

Ubuntu 24.04部署Wordpress

环境: Ubuntu 24.04 PHP 8.1.2-1ubuntu2.18 Nginx/1.18.0 (Ubuntu) WordPress 6.6.1 Mysql 8 文章目录 1. 安装php2. 配置nginx2.1. 安装nginx2.2. 配置 3. 下载wordpress3.1. 配置wordpress 4. mysql配置wordpress数据库和用户4.1. 安装和远程连接4.2. 创建wordpre…

【论文笔记】独属于CV的注意力机制CBAM-Convolutional Block Attention Module

目录 写在前面 一、基数和宽度 二、通道注意力模块(Channel Attention Module) 三、空间注意力模块(Spatial Attention Module) 四、CBAM(Convolutional Block Attention Module) 五、总结 写在前面 …

Photomator 3.3.22 (macOS Universal) - 照片编辑软件

Photomator 3.3.22 (macOS Universal) - 照片编辑软件 适用于 Mac、iPhone 和 iPad 的终极照片编辑器 请访问原文链接:https://sysin.org/blog/photomator/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org Photoma…