Docker系列 基于navidrome搭建个人音乐库
一、介绍
Navidrome是一个开源的基于网络的音乐收藏和流媒体服务器,它可以通过Web界面或API进行管理和访问,支持多种音频格式和多种平台,包括Windows、Linux、macOS等。
官网介绍:https://www.navidrome.org/docs/overview/
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.
二、安装
仍然使用docker进行部署。官方资料:https://www.navidrome.org/docs/installation/docker/
docker-compose配置文件:
version: "3"
services:
navidrome:
image: deluan/navidrome:develop
# should be owner of volumes
user: 1000:1000
ports:
- "4533:4533"
restart: unless-stopped
environment:
# Optional: put your config options customization here. Examples:
ND_SCANSCHEDULE: 1h
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
# Base URL (only the path part) to configure Navidrome behind a proxy (ex: /music)
ND_BASEURL: ""
volumes:
- "./data:/data"
# 音频文件所在目录
- "/mnt/hhd/archive_2/music:/music:ro"
需要修改的配置:
user:容器运行用户,需要和歌曲目录属主一样,或者有歌曲目录的访问权限。
volumes:容器映射的卷,/data为app运行的数据目录,/music为歌曲目录,按照自己的目录配置即可。
三、使用
1、启动容器
docker-compose up -d
启动容器,网页登录http://[ip]:4533,即可进入服务,如下图所示:
2、开始使用
使用前需要创建一个管理用户。在网页中输入用户密码,点击“CREATE ADMIN”后创建用户,创建好用户后会自动登录到首页。如果已经存放了歌曲文件,登录首页后就会显示歌曲列表(如下图所示),点击歌曲文件即可播放。
官方资料:https://www.navidrome.org/docs/getting-started/
3、其他设置
(1)设置成中文
可以通过配置docker环境变量ND_DEFAULTLANGUAGE
设置默认语言,也可以通过页面设置(网页设置仅真的单个用户有效)
(2)更新歌曲
增加和删除歌曲后,点击"刷新",即可更新歌曲。
(3)音乐标签信息
收听音乐时,我们可以看到有些歌曲无封面或者歌曲信息显示乱码,是音频文件无歌曲信息或者信息不对导致的,需要额外对音频文件进行编辑。
这里推荐一个大佬的工具【MusicTag】,可以匹配网易云、QQ音乐、酷狗、iTunes的音乐信息,也可以手动编辑歌曲信息。当然也可以搜索歌词。
MusicTag:https://www.cnblogs.com/vinlxc/p/11347744.html
将歌曲信息补齐后:
(4)客户端
除了网页登录,还可以使用客户端播放音乐。客户端的使用方法基本相同,只要配置好服务器地址、账户、密码后就可以使用。
介绍一下我在各平台使用的客户端,iPhone上我使用的是substreamer,Windows上我使用的是Sonixd,安卓上使用的是Ultrasonic,仅供参考,大家可以根据自己情况使用。
substreamer:
Sonixd:
可以在github上下载安装程序:https://github.com/jeffvli/sonixd/releases
Ultrasonic:
Apps
Besides its own Web UI, Navidrome should be compatible with all Subsonic > > clients. The following clients are tested and confirmed to work properly: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.
四、小结
至此,音乐库已经搭建完成。手机电脑都可以听到自己想听的歌曲,再也不用担心歌曲灰掉了。
不过还是有一些小问题没有解决的,比如客户端没有播放全部的功能等,需要后面使用中在慢慢摸索了。