【实用的开源项目】使用服务器部署Navidrome音乐服务器,又一款开源的音乐服务器程序!

这篇具有很好参考价值的文章主要介绍了【实用的开源项目】使用服务器部署Navidrome音乐服务器,又一款开源的音乐服务器程序!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前言

之前小俊给大家介绍过 Koel 音频流服务,就是为了解决大家的这个问题:下载下来的音乐,只能在本机欣赏,难以在多设备共享,如果自己搭建一个音乐服务器,然后再上传自己喜欢的音乐,就太巴适了!小俊最近发现了一个程序—— Navidrome ,小俊这就来推荐给大家啦!还带来了它的部署教程哦!滑下去细看吧!

1.1 官方网站

官方网站: https://www.navidrome.org/
官方Github: https://github.com/navidrome/navidrome

2. Navidrome 简介

2.1 简介

🎧☁️ Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It’s like your personal Spotify!Navidrome can be used as a standalone server, that allows you to browse and listen to your music collection using a web browser.It can also work as a lightweight Subsonic-API compatible server, that can be used with any Subsonic compatible client.
🎧☁️ Navidrome是一个开源的基于Web的音乐收藏服务器和流媒体。它让你自由地倾听你的来自任何浏览器或移动设备的音乐收藏。这就像你的个人Spotify!Navidrome可以用作独立服务器,允许您使用Web浏览器浏览和收听音乐收藏。它还可以作为轻量级的亚音速API兼容服务器,可以与任何亚音速兼容的客户端一起使用。

2.2 特性

  • Handles very large music collections
  • Streams virtually any audio format available
  • Reads and uses all your beautifully curated metadata
  • Great support for compilations (Various Artists albums) and box sets (multi-disc albums)
  • Multi-user, each user has their own play counts, playlists, favourites, etc…
  • Very low resource usage
  • Multi-platform, runs on macOS, Linux and Windows. Docker images are also provided
  • Ready to use binaries for all major platforms, including Raspberry Pi
  • Automatically monitors your library for changes, importing new files and reloading new metadata
  • Themeable, modern and responsive Web interface based on Material UI
  • Compatible with all Subsonic/Madsonic/Airsonic clients
  • Transcoding on the fly. Can be set per user/player. Opus encoding is supported
  • Translated to various languages

[quote color=“danger”]Note:
The master branch may be in an unstable or even broken state during development.
Please use releases instead of the master branch in order to get a stable set of binaries.[/quote]

[quote color=“danger”]注意:
在开发过程中,master分支可能处于不稳定甚至损坏状态。 请使用正式版本而不是master分支,以便获得一组稳定的二进制文件。[/quote]

3. 准备工作

  1. 【必需】一台服务器(推荐 腾讯云轻量应用服务器 HK 或境内,其他服务器(如 CloudCone 、 RackNerd 、家里云或者各家企业的私有云亦可
  2. 【建议】操作系统: Debian 11 ,腾讯云轻量应用服务器推荐 Ubuntu20.04-Docker20
  3. 【建议且必需】域名一枚,并解析到服务器上
  4. 【可选建议使用反向代理本教程选用NPM】安装好Nginx Proxy Manager( 相关教程 )

注意

[quote color=“danger”]这是一篇全新安装教程,若你的服务器已有环境或者已有数据请谨慎重装系统!!!可直接跳至
6.2 环境准备(其他服务器) 继续阅读。
这是一篇全新安装教程,若你的服务器已有环境或者已有数据请谨慎重装系统!!!可直接跳至
6.2 环境准备(其他服务器) 继续阅读。
这是一篇全新安装教程,若你的服务器已有环境或者已有数据请谨慎重装系统!!!可直接跳至 6.2 环境准备(其他服务器) 继续阅读。
[/quote]

本文软件基于腾讯云轻量应用服务器安装,建议配置如上说明,教程使用的腾讯云轻量应用服务器系统为 Ubuntu Server 20.04 LTS 64bit !理论上腾讯云轻量应用服务器为 Ubuntu20.04-Docker20 的服务器操作应与本文基本一致(包括过程与报错),其他系统为 Debian 或者 Ubuntu 的服务器应与本文大同小异!
腾讯云轻量应用服务器购买地址: https://curl.qcloud.com/XqKjWCYA
腾讯云上云精选: https://curl.qcloud.com/ujD237Hl
腾讯云云产品特惠专区: https://curl.qcloud.com/TPJfrddE

4. 视频教程

5. 界面演示

5.1 初始化页

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

5.2 专辑页

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

5.3 专辑内容页

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

5.4 用户页

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

5.5 个性化页

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

5.6 歌单页

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

5.7 分享页

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

6. 部署 Navidrome

6.1 环境准备(腾讯云轻量应用服务器)

该步骤特别为使用腾讯云轻量应用服务器的用户准备,若你不是用腾讯云轻量应用服务器部署该程序,可以直接转到 6.2 环境准备(其他服务器) 继续阅读。

6.1.1 重装系统

[quote color=“danger”]此操作前请确保服务器上无重要程序、文件!!!请确保服务器上的数据已经备份好!!!
此操作前请确保服务器上无重要程序、文件!!!请确保服务器上的数据已经备份好!!!
此操作前请确保服务器上无重要程序、文件!!!请确保服务器上的数据已经备份好!!!
[/quote]

进入腾讯云轻量应用服务器的控制台,进入 重装系统 界面,然后选择 使用容器镜像 ,列表中选择 Ubuntu20.04-Docker20请确保服务器上无重要程序、文件!!!请确保服务器上的数据已经备份好!!! 然后点击勾选 确认已了解以上内容,我确定已备份完成 ,而后点击确定即可完成系统重装。

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

腾讯云轻量应用服务器这边我们直接选择 Docker 容器镜像,就可以跳过安装 Dockerdocker-compose的步骤(如果你使用的是境内服务器,腾讯云的 Docker 容器镜像已经配置好了国内镜像源,可以加速访问 Docker 镜像资源)。由于腾讯云的 Docker 容器镜像中的 Docker 已经安装了 docker-compose 。所以下文中若你见到 docker compose 命令,请你使用使用 docker-compose 命令!

6.1.2 登录服务器

OrcaTerm (原名 WebShell )是腾讯遨驰云原生操作系统中 CVMLighthouse 、裸金属等产品的统一网页终端,帮助用户随时随地通过浏览器远程登录服务器管理业务,相比本地远程终端更轻量便捷,无需掌握 SSHFTP 也可轻松操作。
进入腾讯云轻量应用服务器的控制台,点击右上方的 登录 ,使用腾讯云正在公测的 OrcaTerm 登录到服务器。
navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx
然后点击登录,即可登录到服务器中
navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

输入下面这句命令登录到 root 账号

sudo -i

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

6.1.3 安装 Nginx Proxy Manager(可选建议使用反向代理本教程选用NPM)

安装 Nginx Proxy Manager 的详细教程小俊之前也写过哦,也配有详细的视频版本,需要学习的朋友可以点击这篇文章学习👉👉👉链接:【教程】使用腾讯云轻量应用服务器搭建Nginx Proxy Manager,优美简单地解决反向代理!https://www.smalljun.com/archives/3113.html ,当然想要使用反向代理的小伙伴要是熟悉 Nginx ,也可以自己手搓 Nginx 进行反向代理哦!你想用宝塔面板的话,也是没有问题哒!

6.2 环境准备(其他服务器)

该步骤为各种服务器的环境准备通法,若你使用腾讯云轻量应用服务器部署该程序并已经仔细阅读 6.1 环境准备(腾讯云轻量应用服务器) 并按步骤完成操作,可以跳过该步骤,直接转到 6.3 部署 Navidrome 继续阅读。

6.2.1 更新 Packages 并安装必要软件包

执行以下命令,更新 Packages 并安装必要软件包

apt -y update
apt -y install curl

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

6.2.2 安装并启动 Docker

6.2.2.1 境外服务器安装 Docker

执行以下命令,境外服务器安装 Docker

curl -fsSL https://get.docker.com | bash -s docker
6.2.2.2 境内服务器安装 Docker

执行以下命令,境内服务器使用阿里云镜像源安装 Docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

执行以下命令,境内服务器使用国内 daocloud 一键安装命令安装 Docker

curl -sSL https://get.daocloud.io/docker | sh
6.2.2.3 启动 Docker

输入并执行以下命令,启动 Docker

systemctl start docker

再执行以下命令,查看 Docker 的运行状态

systemctl status docker

最后执行以下命令,设置 Docker 开机自启动

systemctl enable docker

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx
由于我们通过以上一键脚本安装的 Docker 为最新版本,新版本的 Docker 自带 compose 这个子命令,所以我们无需额外安装 docker-compose 。下文中若你见到 docker-compose 命令,请你使用使用 docker compose 命令!
使用方面仅有一个 - (dash)字符只差,新版使用 docker compose 命令,而如果你是旧版本就使用 docker-compose 命令。

6.2.3 安装 Nginx Proxy Manager(建议使用反向代理本教程选用NPM)

安装 Nginx Proxy Manager 的详细教程小俊之前也写过哦,也配有详细的视频版本,需要学习的朋友可以点击这篇文章学习👉👉👉链接:【教程】使用腾讯云轻量应用服务器搭建Nginx Proxy Manager,优美简单地解决反向代理!https://www.smalljun.com/archives/3113.html ,当然想要使用反向代理的小伙伴要是熟悉 Nginx ,也可以自己安装 Nginx 进行反向代理哦!你想用宝塔面板的话,也是没有问题哒!

6.3 部署 Navidrome

6.3.1 新建目录

执行以下命令,新建目录

mkdir -p /opt/docker/navidrome && cd /opt/docker/navidrome && mkdir -p /music && chmod 755 -R /music

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

6.3.2 新建docker-compose.yaml文件并编辑

执行以下命令,新建 docker-compose.yaml 文件并编辑

nano docker-compose.yaml

然后输入以下配置内容,然后 Ctrl X + y +回车 退出并保存即可。

---
version: "3"
services:
  navidrome:
    image: deluan/navidrome:latest
    ports:
      - 2079:4533
    restart: unless-stopped
    environment:
      ND_SCANSCHEDULE: 1h
      ND_LOGLEVEL: info
      ND_SESSIONTIMEOUT: 24h
      ND_BASEURL: ""
      ND_DEFAULTLANGUAGE: zh-Hans
      #设置默认语言为简体中文
      ND_ENABLESHARING: "true"
      #开启共享功能
    volumes:
      - /opt/docker/navidrome:/data
      - /music:/music:ro

如下图所示

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

注意

  1. docker-compose.yaml 文件中 2079 为暴露端口,如被占用,请自行更改替换,需要在云服务器的控制台防火墙开放相应端口!

6.3.3 启动容器

输入执行以下命令后台启动容器

docker compose up -d #新版本Docker使用该命令
docker-compose up -d #旧版本Docker使用该命令,例:上面提到的腾讯云轻量应用服务器的Docker镜像中自带的Docker-compose

如下图所示

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

启动完后再输入执行以下命令确认所有容器都是 runningup 状态

docker compose ps #新版本Docker使用该命令
docker-compose ps #旧版本Docker使用该命令,例:上面提到的腾讯云轻量应用服务器的Docker镜像中自带的Docker-compose

如下图所示

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

至此,我们已经安装完成 Navidrome ,若你无域名或者不想给程序使用域名,浏览器访问服务器 IP:2079 即可访问!

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

6.4 配置反向代理

先把域名解析到服务器(如果有小白不会解析可以进入 小俊博客的QQ群:199175766 询问,群主就是小俊,一般周末在线,后面考虑写一篇域名解析教程!进入 Nginx Proxy Manager ,点击 Hosts ,然后点击 Add Proxy Host,按下图进行配置,下图中的 172.17.0.1 可能有所不一,请执行 ip addr 自行查找 docker0 网卡的内网IP!

Domain Names:填写你想用在该程序的域名
Scheme:默认http #一般不用改
Forward Hostname / IP:172.17.0.1 #一般为 `172.17.0.1` ,可能有所不一,请执行 `ip addr` 自行查找 `docker0` 网卡的内网IP!
Forward Port:2079 #暴露端口(若跟着本文未修改 `yaml` 文件中的暴露端口。应为 `2079` )

如下图所示

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

先不要着急着点 Save ,大家先去 DNS 提供商解析域名哦!然后我们可以为程序添加上 SSL 证书,给他加上一道小绿锁,不过如果你点了也没关系,没点 Save 的朋友点击 SSL ,然后点击 Request a new SSL Certificate ,然后把 Force SSLHTTP/2 Support 打开,修改一下 Email Address for Let's Encrypt 的邮箱,然后 Save 即可;点击了 Save 的朋友,点击右边的三点,点击 Edit ,重复上述步骤即可!

如下图所示

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

至此,我们已经部署完成 Navidrome 这一个功能强大的 Navidrome 音乐服务器程序。浏览器访问你刚刚设置的域名即可访问啦,然后注册管理员用户!

注意

  1. 需要在服务器的后台防火墙开放相应端口!需要开放 80 tcp443 tcp81 tcp 哦,如果你不使用域名访问程序,则只需要开放 2079 tcp

7. 简单使用教程

7.1 创建管理员用户

首次打开 Navidrome 程序,按说明填写好设置好用户名、密码与确认密码等信息,然后点击 创建管理员 完成注册。
navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

7.2 创建新用户(可选)

如果您有朋友或家人也想使用该应用程序,则可以为他们创建一个帐户,且他们必须在首次登录时更改密码。
点击右上角头像,再点击用户,进入用户管理面板,点击页面右方 新建 ,按说明输入用户名、名称、邮箱以及密码等信息即可创建新用户。

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

7.3 搭配客户端使用

除了自己的 Web UINavidrome 应该与所有 Subsonic 客户端兼容。以下客户端经过测试并确认工作正常:

iOS: play:Sub, substreamer, Amperfy and iSub
Android: DSub, Subtracks, substreamer, Symfonium and Ultrasonic
Web: Feishin, Thunderdrome, Airsonic Refix, Subplayer, Aurial, Jamstash and Subfire
Desktop: Sonixd (Windows/Linux/macOS), Feishin (Linux/macOS), Sublime Music (Linux), Supersonic (Windows/Linux/macOS) and Submariner (macOS)
CLI: Jellycli (Windows/Linux) and STMP (Linux/macOS)
Connected Speakers:
Sonos: bonob
Alexa: AskSonic
Other:
Subsonic Kodi Plugin
Navidrome Kodi Plugin
HTTPDirFS
upmpdcli: expose Navidrome as a UPnP/DLNA media library. See the discussion.
For more options, look at the list of clients maintained by the Airsonic project.

7.4 上传音乐

你可以通过各种方式包括但不限于OrcaTerm、SFTP、FTP与各类文件管理器等,上传音乐至 /music 目录下, Navidrome 会自动检测你存放在 /music 中的音乐,路径是我们在 docker-compose.yaml 设置的。

7.5 歌单功能

点击左侧边栏的 歌单 ,即可进入歌单功能,可以新建歌单享受
navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

点击左侧边栏的 歌曲 ,进入歌曲列表,然后可以选择歌曲并将其添加至歌单
navidrome,腾讯云,开源,服务器,运维,腾讯云,docker,云计算,nginx

8. 目前遇到的问题

8.1 境内服务器难以安装 Docker

建议直接执行以下命令,安装 Docker

apt install docker.io

然后,参考小俊之前写过的👉👉👉【教程】CentOS系统Docker的详细安装教程https://www.smalljun.com/archives/3174.html ,安装 Docker-compose ,然后再进行 第6.2步及其后续操作

9. Issues

有问题可以去 Github 提 Issues,也可以在评论区互相交流探讨哦!

10. 总结

Navidrome 是一款功能很强大的音乐服务器程序,支持通过多平台多款客户端,支持大部分音频格式,占用资源极低,还支持多用户与即时转码等功能,大家如果发现它别的特点功能可以在评论区踊跃讨论!或者还有什么类似的程序大家也可以评论分享一下!

本文的文章结构部分参考自我不是咕咕鸽,在此感谢我不是咕咕鸽提供的文章结构思路.文章来源地址https://www.toymoban.com/news/detail-853752.html

到了这里,关于【实用的开源项目】使用服务器部署Navidrome音乐服务器,又一款开源的音乐服务器程序!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自建音乐服务器Navidrome之二

    自建音乐服务器Navidrome之一 Last·fm是 Audioscrobbler 音乐引擎设计团队的旗舰产品,以英国为总部的网络电台和音乐社区。有遍布232个国家超过1500万的活跃听众。据说有6亿音乐资源。 docker-compose.yml 配置 Navidrome 可以从 Last.fm 和 Spotify 获取专辑信息和图像。 Last.fm。首先需要一个

    2024年02月10日
    浏览(46)
  • 第一次使用服务器部署项目

      前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言,只能进行后端数据的处理和管理前端

    2024年02月01日
    浏览(53)
  • 使用宝塔面板部署前端项目到服务器

    目录 文章目录 前言 一、第一步:创建文件夹 二、第二步:部署前端项目 三、第三步:打开防火墙 前言 第一步:创建文件夹 第二步:部署前端项目 第三步:打开防火墙 总结 在此之前,我们已经创建了宝塔面板账号、拥有了一台服务器。现在,我们想让我们的前端能够像

    2024年02月03日
    浏览(69)
  • 在树莓派搭建私人音乐服务器navidrome,并支持显示中文歌词

    2023年,国产硬盘价格真的是经济实惠,而版权之争导致我们无法从单个平台获取想听的歌,本期我们将在树莓派搭建一个navidrome私人音乐服务器,同时支持显示歌词。(虽然jellyfin也支持管理歌曲,但不支持显示歌词,我认为显示歌词是刚需,最终选择了navidrome) 本文是树莓

    2024年02月06日
    浏览(48)
  • 使用宝塔面板部署后端项目到服务器

    前言 第一步:安装数据库 第二步:打包后端项目 第三步:配置数据库 第四步:部署后端项目 第五步:前后端联调测试 总结 在之前我已经写了一篇如何去部署前端项目,虽然能访问网站,但是没有数据库里面的内容是无法登录进去的,所以本篇文章会详细讲述如何安装数据

    2024年01月18日
    浏览(49)
  • 使用宝塔部署JavaWeb前后端项目到服务器

    1.我使用的是腾讯云的轻量应用服务器,在安装系统的时候可以选择使用宝塔Linux面板。  2.安装了宝塔面板以后,可以在应用管理中看到宝塔面板的登陆地址。在登录之前需要在 用户名和密码那一栏 登录,来获取宝塔的用户名和密码。 3.进入宝塔以后输入用户名和密码即可

    2024年02月04日
    浏览(52)
  • windows服务器实用(6)——gitbook安装与部署

    为了查找方便,以下内容来自GPT GitBook是一个基于Git的文档编写和托管平台,它提供了一种方便易用的方式来创建、编辑、发布和托管文档,特别适合于技术文档、教程、手册等领域的文档编写和发布。 GitBook平台支持多种文档格式,包括Markdown、Asciidoc和reStructuredText等,同时

    2024年02月07日
    浏览(53)
  • 使用GitHub Actions 来进行项目远程服务器部署

    由于项目源码是托管在github的,而部署是放在远程服务器上,并且使用nginx部署。 现在的部署流程时,需要更新时,在本地切换到master分支,执行构建操作,拿到构建出的dist目录,将其上传到远程服务的某个nginx目录,重启nginx服务。 基于以上,使用GitHub Actions做CI/CD流程。

    2024年02月14日
    浏览(50)
  • 使用IIS服务器部署Flask python Web项目

    参考文章 参考文章 将Flask应用程序部署到IIS服务器上需要一些步骤,因为IIS是为.NET应用程序设计的。要将Flask Python Web项目部署到IIS服务器,您需要使用一个称为\\\"FastCGI\\\"的桥接工具来连接IIS和Python应用程序。以下是将Flask应用程序部署到IIS服务器的一般步骤: 安装IIS和FastCG

    2024年04月16日
    浏览(53)
  • 如何使用Vite打包和部署项目到服务器二级路由

    如果你想把你用Vite构建的项目部署到服务器的二级路由上,比如 http://demo.dev/admin/  ,你需要注意以下几个步骤: 基础路径base是指你的项目在服务器上的相对路径,比如你的项目部署在  http://demo.dev/admin/  上,那么你的基础路径就是 /admin/ 。你需要在两个地方配置基础路径

    2024年02月04日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包