问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

使用树莓派搭建个人音乐服务器的完整教程

创作时间:
作者:
@小白创作中心

使用树莓派搭建个人音乐服务器的完整教程

引用
CSDN
1.
https://blog.csdn.net/m0_50281408/article/details/142732122

本文将详细介绍如何使用树莓派搭建个人音乐服务器,通过Navidrome软件实现音乐文件的存储和管理,并结合frp实现公网访问,最后通过音流app实现移动端访问。

一、搭建Navidrome

  1. 准备工作
  • 一台已经可以进行内网访问的树莓派
  • 确保树莓派是ARM架构,因为Navidrome需要ARM架构的支持
  1. 安装必要的工具

    sudo apt install vim ffmpeg
    
  2. 创建相关文件夹并设置权限

    sudo mkdir /opt/navidrome
    sudo mkdir /var/lib/navidrome
    sudo chmod -R 777 /opt/navidrome
    
  3. 解压Navidrome的压缩包

    sudo tar -xvzf Navidrome.tar.gz -C /opt/navidrome/
    sudo chmod -R 777 /opt/navidrome
    
  4. 创建音乐库配置文件
    /var/lib/navidrome路径下创建配置文件navidrome.toml

    MusicFolder = "准备存放音频文件的路径"
    
  5. 创建后台运行任务
    /etc/systemd/system/创建任务文件navidrome.service

    [Unit]
    Description=Navidrome Music Server and Streamer compatible with Subsonic/Airsonic
    After=remote-fs.target network.target
    AssertPathExists=/var/lib/navidrome
    
    [Install]
    WantedBy=multi-user.target
    
    [Service]
    Type=simple
    ExecStart=/opt/navidrome/navidrome --configfile "/var/lib/navidrome/navidrome.toml"
    WorkingDirectory=/var/lib/navidrome
    TimeoutStopSec=20
    KillMode=process
    Restart=on-failure
    DevicePolicy=closed
    NoNewPrivileges=yes
    PrivateTmp=yes
    PrivateUsers=yes
    ProtectControlGroups=yes
    ProtectKernelModules=yes
    ProtectKernelTunables=yes
    RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
    RestrictNamespaces=yes
    RestrictRealtime=yes
    SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap
    ReadWritePaths=/var/lib/navidrome
    
  6. 启动后台Navidrome服务

    sudo systemctl daemon-reload
    sudo systemctl start navidrome.service
    sudo systemctl status navidrome.service
    
  7. 开机自启(可选)

    sudo systemctl enable navidrome.service
    
  8. 测试
    完成上述步骤后,先进行内网访问,初次访问需要添加一个用户,账户和密码都是自定义的。进入之后可以修改语言为简体中文。

至此,你已经拥有一个仅可在局域网下访问的音乐服务器。接下来需要将其穿透至公网,让你能够随时随地的听音乐。

二、服务穿透

使用frp将树莓派穿透到外网

frp服务端配置

[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = 1426061489
dashboard_pwd = "20011021yzkyzk"
vhost_http_port = 7002
vhost_https_port = 7003
max_pool_count = 50
token = "xxx"
tcp_mux = true
log_file = "/opt/frps/log/frps.log"
log_level = "info"
log_max_days = 3
privilege_mode = true

frp客户端配置

serverAddr = "xxx"
serverPort = 7000
auth.method = "token"
auth.token = "xxx"
loginFailExit=false
[[proxies]]
name = "远程音乐推流"
type = "http"
localIP = "127.0.0.1"
localPort = 4533
customDomains = ["xxxx"]
[log]
to = "/opt/frpc/log"
level= "info"

该配置主要就是把服务端的7002端口映射到树莓派的4533端口(4533端口就是Navidrome的默认端口),登录到frps面板(7500端口)也能看到映射的结果。

测试

使用服务器ip:7002端口访问,成功访问到Navidrome,这儿的音乐,只要你将mp3文件上传至你navidrome.toml中配置的路径中,它就会自动的读取。

现在在web端我们可以远程访问了,但是,为了在移动端也能访问,我们需要进行下一步配置。

三、音流配置

  1. 下载音流app,选择ARM64版本
  2. 配置音流app
  • 选择Navidrome
  • 填写服务器ip:frp配置的端口号
  1. 登录后进入首页,就可以看到之前上传的歌曲

至此,整个搭建过程完成。现在你可以将网易云常听的歌曲全部传到树莓派中,音流中就会自动扫描并管理这些音乐文件。这个方案的优点是占用空间很小,几乎可以忽略不计。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号