首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >CentOS部署Navidrome,搭建私人音乐服务器

CentOS部署Navidrome,搭建私人音乐服务器

作者头像
小新笔记坊
发布2024-12-17 17:23:49
发布2024-12-17 17:23:49
1.4K0
举报
文章被收录于专栏:小新笔记坊小新笔记坊

设备信息

处理器架构:ARM64

操作系统:CentOS Linux release 7.9.2009 (AltArch)

操作步骤

1.安装TagLib库。

代码语言:javascript
复制
sudo yum install taglib      #对于CentOS7
sudo dnf install taglib      #对于CentOS8及以上
sudo pacman -S taglib

2.下载ffmpeg

3.ffmpeg上传至服务器,解压至/ffmpeg/文件夹内。

代码语言:javascript
复制
tar -xJf ffmpeg.tar.xz

4.授权/ffmpeg/文件夹。

代码语言:javascript
复制
chmod -R 777 /var/www/html/music/ffmpg/

5.编辑/etc/profile文件,将以下代码加入最后一行。

代码语言:javascript
复制
export PATH=$PATH:/var/www/html/music/ffmpg/

6.使更改生效。

代码语言:javascript
复制
source ~/.bashrc

7.重进终端,验证ffmpeg是否安装成功。

代码语言:javascript
复制
ffmpeg -version

8.下载Navidrome,并将压缩包上传至服务器。

9.解压tar.gz

代码语言:javascript
复制
tar -xzf navidrome.tar.gz

10.编辑Navidrome配置文件config.toml

代码语言:javascript
复制
# Navidrome 配置文件示例
#
# 日志记录级别
LogLevel = 'INFO'
#
# 扫描音乐库的时间间隔(每 24 小时一次)
ScanSchedule = '@every 24h'
#
# 转码缓存大小
TranscodingCacheSize = '150MiB'
#
# 音乐文件夹路径
MusicFolder = '/var/www/html/music/mp3'
#
# 监听端口
Port = 4533
#
# 绑定地址
BindAddress = '0.0.0.0'
#
# 数据库文件路径
DatabaseFile = '/var/www/html/music/db/data.db'
#
# 缓存文件夹路径
CacheFolder = '/var/www/html/music/huancun'
#
# 是否启用 Subsonic API 兼容性
SubsonicAPIEnabled = true
#
# 管理员电子邮件地址
AdminEmail = 'xxxx@qq.com'
#
# 管理员密码
AdminPassword = 'password'
#
# 是否将第一个注册的用户设为管理员
FirstUserIsAdmin = true
#
# 是否启用音频转码
EnableTranscoding = false
#
# 最大比特率(用于转码)
MaxBitRate = 320
#
# 播放列表的最大项目数
MaxPlaylistItems = 9999

11.运行Navidrome

代码语言:javascript
复制
/var/www/html/music/navidrome -c /var/www/html/music/config.toml

12.设置Navidrome开机自启动。进入/etc/systemd/system/下创建music.service服务启动文件。

代码语言:javascript
复制
[Unit]
Description=Navidrome Music Server
After=network.target

[Service]
User=root
WorkingDirectory=/var/www/html/music/navidrome
ExecStart=/var/www/html/music/navidrome -c /var/www/html/music/config.toml
Restart=on-failure

[Install]
WantedBy=multi-user.target

13.访问验证Navidrome。地址127.0.0.1:4533

遇到的问题

音频曲名错乱

问题描述:音频导入Navidrome后,音频列表中的曲名与音频文件名不同,导致歌曲混乱。

答:Navidrome的曲名是通过提取音频信息中的音频标题而得来的,故在导入之前需用专业软件批量将文件名写入进音频标题信息内。

音频排序错乱

问题描述:音频导入后,音频文件排序问题怎么解决?

答:Navidrome的序号是通过提取音频信息中的音轨号而得来的,故在导入之前需用专业软件批量添加音轨号。

添加歌单后顺序错乱

问题描述:音频有标题信息和音轨号,但音频导入后,在将音频全选添加进了新建的歌单后发现顺序还是乱的?且歌单中的音频排序和歌曲列表的音频序号完全不一样。

答:全选音频添加至歌单的方式会导致Navidrome无法知道哪个音频的排序是1,哪个音频排序是2?即Navidrome无法判断音频的排序。经过实践过程中得知,在将音频添加至歌单时,切勿全选直接添加!需按正确的顺序选个中第1个音频至最后1个音频,即选中第1个音频,按住shift,选中最后1个音频,系统会自动按顺序批量选中音频,最后再添加进歌单。如此方能成功添加有序的音频。 注:我服了,这软件问题真多呜呜呜,搞了2小时,导入导出3次。

扫描不到音频/音频信息错乱

问题描述:音频导入后发现音频曲名和音频信息中的标题不一致。音频导入后发现还有音频未导入进来,反复完全扫描均无果。

答:重启Navidrome,数据库报错了,重启后重新执行完全扫描能正常,曲名会自动纠正回来。

代码语言:javascript
复制
#报错如下
error="FOREIGN KEY constraint failed"

添加/删除音频

删除

1.进入Navidrome中删除歌单中的音频。

2.进入服务器删除音频文件。

3.进入Navidrome执行完全扫描,直到音频从Navidrome列表中消失。

4.重启Navidrome

添加

1.重启Navidrome

2.进入服务器上传音频文件。

3.进入Navidrome执行完全扫描,直到音频全部在列表中显示且能正常播放。

注:可能要执行数次完整扫描,如果完整扫描音频仍然未在web列表中显示,则重启Navidrome后再次执行完整扫描。

代码语言:javascript
复制
#报错如下
error="FOREIGN KEY constraint failed"

携带不便

问题描述:只能在家局域网访问,经常出门怎么办?

答:在外用自己手机开启热点,部署Navidrome的旧手机开启WIFI,等几分钟会自动连接手机热点,此时所有设备均处于同一网络内。

热点消耗流量

问题描述:在外手机开热点后,如果再开流量上网,Navidrome在播放音乐时会消耗大量流量。

答:使用app连接Navidrome听歌,手机流量管理内禁止APP使用流量上网,仅允许APP使用WIFI上网。

注:本人使用音流APP。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 设备信息
  • 操作步骤
  • 遇到的问题
    • 音频曲名错乱
    • 音频排序错乱
    • 添加歌单后顺序错乱
    • 扫描不到音频/音频信息错乱
    • 添加/删除音频
      • 删除
      • 添加
    • 携带不便
    • 热点消耗流量
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档