搭建属于自己的开源音乐服务器

18 15~19 min

一.搭建安装Navidrome

1.项目

Navidrome 是一款基于网络的开源音乐收藏服务器和流媒体,它是一开源的音乐播放器软件,可以用来自建云端音乐播放器,它兼容 Subsonic、Aironic 播放器,你可以将Navidrome打造成个人音乐流媒体服务平台。Navidrome 支持各大平台,包括:Windows 、macOS 、Linux。它几乎可播放任何音频格式,支持多用户,每个用户都有自己的播放次数、播放列表、收藏夹等。

Navidrome适用于所有主要平台的即用型二进制文件,包括 Raspberry Pi ,可以自动监控你的库的变化,导入新文件和重新加载新的元数据,还可以在传输中进行转码,可按用户/播放器设置,支持 Opus 编码 。

  • 处理超大音乐收藏

  • 几乎可串流任何音频格式

  • 读取并使用所有精心策划的元数据

  • 对合集(Various Artists 专辑)和盒装(多碟专辑)的强大支持

  • 多用户,每个用户都有自己的播放次数、播放列表、收藏夹等。

  • 资源使用率极低

  • 多平台,可在 macOS、Linux 和 Windows 上运行。还提供 Docker 映像

  • 所有主要平台(包括 Raspberry Pi)的二进制文件均可随时使用

  • 自动监控资料库变化,导入新文件并重新加载新元数据

  • 基于 Material UI 的可主题化、现代化和响应式网络界面

  • 与所有 Subsonic/Madsonic/Airsonic 客户端兼容

  • 即时转码可按用户/播放器设置。支持 Opus 编码

  • 翻译成各种语言

2.相关地址

官方地址:https://www.navidrome.org/demo/

官方文档:https://www.navidrome.org/docs/

3.安装

services:
  navidrome:
    container_name: navidrome
    network_mode: host
    image: deluan/navidrome:develop
    restart: unless-stopped
    environment:
      ND_SCANSCHEDULE: 0
      #音乐文件夹
      ND_MUSICFOLDER: /app/music
      #数据文件夹
      ND_DATAFOLDER: /app/data
      #端口
      ND_PORT: 4533
      #匿名数据收集功能
      ND_ENABLEINSIGHTSCOLLECTOR: false
      #默认语言
      ND_DEFAULTLANGUAGE: zh-Hans
      #日志级别
      ND_LOGLEVEL: info
      #会话超时
      ND_SESSIONTIMEOUT: 24h
      #用于从Last.fm检索相关配置
      ND_LASTFM_LANGUAGE: zh
      ND_LASTFM_APIKEY: LASTFM_APIKEY
      ND_LASTFM_SECRET: LASTFM_SECRET
      #用于从Spotify索相关配置
      ND_SPOTIFY_ID: SPOTIFY_ID
      ND_SPOTIFY_SECRET: SPOTIFY_SECRET
    volumes:
      - ~/data:/app/data
      - ~/music:/app/music:ro

Navidrome有很多参数,有需要的可以自己添加,大家可以参考官方文档:https://www.navidrome.org/docs/usage/configuration-options/#advanced-configuration

Last.fm配置https://www.navidrome.org/docs/usage/external-integrations/#lastfm

Spotify配置https://www.navidrome.org/docs/usage/external-integrations/#spotify

二.安装Music Tag Web音乐刮削软件

1.项目

Web 版音乐标签编辑器,支持编辑歌曲的标题、专辑、艺术家、歌词、封面等信息。支持多种音频格式,包括 FLAC、APE、WAV、AIFF、MP3、M4A、OGG、MPC、OPUS、WMA、DSF、DFF、MP4 等。

  • 支持批量自动修改音乐标签

  • 支持音乐指纹识别,即使没有元数据也可以识别音乐

  • 支持整理音乐文件,按艺术家,专辑分组

  • 支持文件排序,按照文件名,文件大小,更新时间排序

  • 支持plex专辑类型,新增配置显示/隐藏字段

  • 修复不同类型音频文件的专辑类型

  • 新增歌曲语言整理文件

  • 优化自动打标签匹配算法

  • 新增智能刮削标签源,集成多个平台的标签源,按匹配度排序

  • 支持繁体匹配,新增消息中心展示自动刮削不匹配的数据

  • 支持保存专辑封面文件,支持自定义上传专辑封面

  • 简单适配H5端,支持手机端访问

  • 支持wma,wmv格式, 修复自动刮削报错停止的问题

  • 音轨号,光盘号 格式优化,优化匹配规则

  • 对新增的音乐文件后台自动刮削,无感知刮削。修复.ape文件读取报错的问题。

  • 新增自定义层数的整理文件,新增根据刮削状态排序,修复大写的音乐后缀名识别不到。

  • 新增数据库挂载映射。

2.相关地址

GitHub 地址https://github.com/xhongc/music-tag-web

3.安装

services:

  music_tag_web:
    image: xhongc/music_tag_web:latest
    container_name: music-tag-web
    ports:
      - 8002:8002
    volumes:
      - ~/data:/app/data
      - ~/media:/app/media
      - ~/download:/app/download
    restart: always