Skip to content

自建音乐库之Navidrome

写在前:

自己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

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