搭建属于自己的开源音乐服务器
一.搭建安装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.相关地址
官方地址:
官方文档:
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:roNavidrome有很多参数,有需要的可以自己添加,大家可以参考官方文档:
Last.fm配置
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 地址:
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