侧边栏壁纸
博主头像
小新笔记坊

笔耕学思悟,细绘生活卷。

  • 累计撰写 52 篇文章
  • 累计创建 23 个标签
  • 累计收到 49 条评论

目 录CONTENT

文章目录

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

小新笔记坊
2024-11-10 / 0 评论 / 0 点赞 / 41 阅读 / 0 字 / 正在检测是否收录...

设备信息

处理器架构:ARM64

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

操作步骤

1.安装TagLib库。

sudo yum install taglib      #对于CentOS7
sudo dnf install taglib      #对于CentOS8及以上

2.下载ffmpeg

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

tar -xJf ffmpeg.tar.xz

4.授权/ffmpeg/文件夹。

chmod -R 777 /var/www/html/music/ffmpg/

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

export PATH=$PATH:/var/www/html/music/ffmpg/

6.使更改生效。

source ~/.bashrc

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

ffmpeg -version

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

9.解压tar.gz

tar -xzf navidrome.tar.gz

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

# 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

注:navidrome.db文件是音乐平台的数据库文件,该文件位置和navidrome执行文件路径绑定,无法修改。

11.运行Navidrome

/var/www/html/music/navidrome -c /var/www/html/music/config.toml

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

[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,数据库报错了,重启后重新执行完全扫描能正常,曲名会自动纠正回来。

#报错如下
error="FOREIGN KEY constraint failed"

添加/删除音频

删除

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

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

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

4.重启Navidrome

添加

1.重启Navidrome

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

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

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

#报错如下
error="FOREIGN KEY constraint failed"

携带不便

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

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

热点消耗流量

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

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

注:本人使用音流APP。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
    1. 支付宝打赏

      qrcode alipay
    2. 微信打赏

      qrcode weixin

评论区