综合 在 NAS 上部署 Navidrome 音乐库:搭建属于自己的音乐世界

2024-11-19 09:50:52 +0800 CST views 2211

在 NAS 上部署 Navidrome 音乐库:搭建属于自己的音乐世界

引言

最近,网易云音乐崩溃的消息引发了大家对自建音乐库的兴趣。很多用户希望拥有自己的音乐库,以便在需要时随时访问。Navidrome 是一个开源的、基于 Web 的音乐收集服务器和流媒体工具,可以让你通过任何浏览器或移动设备自由地播放音乐收藏。它就像是你的私人 Spotify!

在这篇文章中,我们将介绍如何在 NAS(以拾光坞 N3 为例)上部署 Navidrome,打造属于你自己的音乐库。

Navidrome 是一个强大的音乐流媒体解决方案,具备以下特性:

  • 支持大量音乐收藏
  • 兼容几乎所有常见的音频格式
  • 可以读取并利用所有元数据
  • 对合辑和多碟专辑的强大支持
  • 支持多用户,每个用户都有自己的播放列表、收藏夹等
  • 资源占用率极低
  • 支持多平台,包含 macOS、Linux、Windows 和 Docker 镜像
  • 实时监控音乐库变化,自动导入新文件
  • 兼容 Subsonic/Madsonic/Airsonic 客户端
  • 支持即时转码

https://github.com/navidrome/navidrome

images

部署环境

本文以拾光坞 N3 为例,它是一款入门级的 NAS,采用 RK3566 处理器,4 核 4 线程,配备 2G 内存和 4G 板载闪存,支持 1 个 3.5 寸 SATA 机械硬盘。

一、容器部署

拾光坞 N3 是 arm 架构的 NAS,因此我们需要下载适配的 Navidrome arm 版镜像。拾光坞 N3 的容器功能支持直接下载镜像,也可以从外部导入。

1. 设置镜像源

首先在镜像商店设置镜像源。推荐使用 docker.1panel.live,设置完成后保存即可。

2. 下载 Navidrome 镜像

在镜像商店中搜索 deluan/navidrome,选择并导入镜像。如果你已经有了镜像,也可以在此处导入。

3. 创建容器

在镜像管理中选择刚下载的 Navidrome 镜像并创建容器。建议选择“开机后自动启动该容器”以确保 Navidrome 随 NAS 一起启动。

设置容器路径时:

  • 本地路径可以自定义(例如 /公共空间/docker/navidrome/data
  • 容器内路径不建议修改(例如 /data/music

Navidrome 默认端口为 4533,如果与其他服务冲突,可以选择其他端口。

二、配置 Navidrome

启动容器后,输入拾光坞 IP 地址加上端口号 4533,即可访问 Navidrome。如果希望外网访问,可以使用 DDNS 或拾光穿透服务。

1. 设置管理员账号

首次登录时需要设置超级管理员账号和密码。

2. 切换语言

进入个人设置,切换语言为中文。

3. 使用 Navidrome 前端

Navidrome 前端包括专辑、艺术家、歌曲、电台和歌单几个模块。你可以添加网络电台,或者根据个人喜好创建歌单。

三、移动端 APP 配置

拾光坞 N3 自带的音乐播放工具较为简单,推荐使用音流(DSub、Subsonic 客户端等)作为移动端应用,它支持 Navidrome,并且可以实现多端同步。

1. 安装音流

苹果用户可以从 APP STORE 下载,其他平台用户可以访问 音流官网 下载。

2. 配置音流

在音流中配置 Navidrome 的服务端地址及账号密码。如果没有公网访问服务,可以通过拾光穿透将本地端口转发到公网。

最后

音乐资源的获取一直是个挑战。如果你有 BT/PT 网站账号,可以通过拾光坞 N3 的下载功能或 qbittorrent 容器下载资源。没有账号的用户可以使用 musicnmetube 等 Docker 容器下载其他流媒体平台上的音乐资源。

通过以上步骤,你就可以在 NAS 上部署一个属于自己的音乐库,随时随地享受音乐的乐趣!

复制全文 生成海报 音乐 技术 开源 流媒体 自建服务

推荐文章

百度开源压测工具 dperf
2024-11-18 16:50:58 +0800 CST
底部导航栏
2024-11-19 01:12:32 +0800 CST
MySQL数据库的36条军规
2024-11-18 16:46:25 +0800 CST
为什么大厂也无法避免写出Bug?
2024-11-19 10:03:23 +0800 CST
PHP 8.4 中的新数组函数
2024-11-19 08:33:52 +0800 CST
使用 `nohup` 命令的概述及案例
2024-11-18 08:18:36 +0800 CST
小技巧vscode去除空格方法
2024-11-17 05:00:30 +0800 CST
File 和 Blob 的区别
2024-11-18 23:11:46 +0800 CST
Graphene:一个无敌的 Python 库!
2024-11-19 04:32:49 +0800 CST
Go 中的单例模式
2024-11-17 21:23:29 +0800 CST
从Go开发者的视角看Rust
2024-11-18 11:49:49 +0800 CST
html文本加载动画
2024-11-19 06:24:21 +0800 CST
html一些比较人使用的技巧和代码
2024-11-17 05:05:01 +0800 CST
基于Flask实现后台权限管理系统
2024-11-19 09:53:09 +0800 CST
jQuery `$.extend()` 用法总结
2024-11-19 02:12:45 +0800 CST
程序员茄子在线接单