写在前:
自己DIY了一台8盘位的All In One的NAS,后续又把光驱位安上了硬盘架,总共11盘位,用snapraid做了9+2的软raid。 主要用来备份照片,顺便搭建了影视库,音乐库等,影视库折腾了Jellyfin、Plex、Emby等,最后固定在Jellyfin。音乐库搭建了Logitech Media Server,在树莓派涨价之前买了两个树莓派+定制铝盒,用piCorePlayer系统,把一套退役电脑音箱和客厅电视音箱利用了起来,实现了数播串流。 LMS本身是支持网页端页面控制的,但是不是特别好用,又购买了iPeng这个软件来控制,为了手机上听LMS上面的音乐,又内购了iPeng的app播放功能。
前面的数播在家里听音乐还是挺好的,不同的房间都可以布置一套piCorePlayer+音箱实现音乐自由,还支持手机推流到指定音箱。但是在手机上播放的功能却不是很友好,原本购买的iPeng可以通过家庭共享给家庭其他人使用,但app播放这个内购却不能共享。无意中发现了Navidrome,这个项目是一个开源的音乐服务器,可以很方便的搭建一个音乐服务,并且可以很方便的使用手机app播放音乐。
安装
通过docker-compose很方便的就可以把服务部署好了。
version: "3"
services:
navidrome:
image: deluan/navidrome:latest
ports:
- "4533:4533" # 左边可以改成自己服务器未被占用的端口
environment:
# Optional: put your config options customization here. Examples(这些都是可选的):
ND_SCANSCHEDULE: 1m
# lastfm配置
ND_LASTFM_ENABLED: # 设置 false 为完全禁用 Last.fm 集成
ND_LASTFM_APIKEY: apikey # 修改成自己的APIKEY
ND_LASTFM_SECRET: SECRET # 修改成自己的SECRET
ND_LASTFM_LANGUAGE: zh # 用于从 Last.fm 检索的语言的两个字母代码,简体中文为 zh
# Spotify配置
ND_SPOTIFY_ID: spotifyId # 修改成自己的ID
ND_SPOTIFY_SECRET: spotifySecret # 修改成自己的SECRET
ND_LOGLEVEL: info
ND_SESSIONTIMEOUT: 24h
ND_BASEURL: ""
# 转码设置
ND_ENABLETRANSCODINGCONFIG: "true" # 设置为 true 才能支持转码功能
ND_TRANSCODINGCACHESIZE: "4000M" #转码缓存的大小。设置 0 为禁用缓存,默认为 100MB
ND_IMAGECACHESIZE: "1000M" #图片缓存的大小。设置 0 为禁用缓存,默认为 100MB
volumes:
- "./data:/data"
- "/your music path/music:/music:ro" # 冒号左边修改成自己本地的音乐文件夹路径
miniserve:
image: svenstaro/miniserve:latest
depends_on:
- navidrome
ports:
- "4534:8080"
volumes:
- "/your music path/music:/downloads" # 冒号左边修改成自己本地的音乐文件夹路径
command: "-r -z -u -q -p 8080 -a username:password /downloads" # 修改成自己的账号:密码
restart: unless-stopped
Navidrome客户端
iOS: play:Sub, substreamer, Amperfy 和 iSub
Android: DSub, Subtracks, substreamer, Ultrasonic 和 Audinaut
Web: Subplayer, Airsonic Refix, Aurial, Jamstash 和 Subfire
Desktop: Sublime Music (Linux) 和 Sonixd (Windows/Linux/macOS),Supersonic
CLI: Jellycli (Windows/Linux) 和 STMP (Linux/macOS)
Connected Speakers: Sonos: bonob
Alexa: AskSonic
Other: Subsonic Kodi Plugin Navidrome Kodi Plugin