收起左侧

飞牛NASDocker部署Navidrome+Music Tag Web+音流音乐

0
回复
50
查看
[ 复制链接 ]

2

主题

1

回帖

0

牛值

江湖小虾

0x01 介绍

Navidrome

Navidrome是一款开源、轻量级的自托管音乐服务器,采用Go语言开发。它提供直观的网页界面和Subsonic兼容的API,能将本地音乐库整理成艺人/专辑/曲目等结构,并把音乐流式传输到多设备(手机、平板、浏览器等)播放。由于是自托管,数据完全由你掌控,适合在家用NAS、私有服务器等环境部署。图片.png

核心特性(适用于飞牛NAS等自建环境):

  • 本地库管理与多格式支持:自动扫描本地音乐目录,支持常见音频格式(如MP3、FLAC、WAV、AAC、OGG、M4A 等)。
  • Subsonic兼容与多设备播放:提供Subsonic API,兼容大量客户端(Android/iOS 浏览器/桌面播放器等)。
  • 元数据与封面:读取音轨标签,自动显示艺人、专辑信息和封面,必要时可从本地或在线来源抓取元数据。
  • 转码与流式:对不兼容格式或设备,服务器端可进行转码以确保顺畅播放,通常需要系统中安装FFmpeg。
  • 部署灵活:可直接在Linux/Windows/macOS上运行,提供Docker版本,适合在NAS上的容器化部署。
  • 私有化与隐私:数据保存在本地,不依赖云端服务,便于备份与安全控制。

Music Tag Web

Music Tag Web是一款在本地网络环境运行的基于浏览器的音乐元数据编辑工具。它通过网页界面直接读取并修改音轨的标签信息(如ID3、Vorbis、MP4/M4A等),支持批量处理、封面/艺术家信息管理,以及将修改写回本地音乐文件。由于可在本地服务器或NAS 上部署,数据完全私有化,适合不依赖云端的音乐库管理。图片.png

核心特性(适用于本地NAS场景):

  • 支持的标签格式:常见的音乐标签格式如ID3(v1/v2)、Vorbis/FLAC注释、MP4/M4A等,便于不同格式的元数据编辑。
  • 批量编辑与封面管理:可一次性修改多首曲目的元数据,处理专辑封面、艺人信息等。
  • 写回本地文件:编辑结果可以直接写回音乐文件,保持文件结构整洁。
  • 浏览器无缝体验:在任意支持的浏览器中使用,适合与NAS共享目录联动。
  • 私有部署与隐私:本地运行,无需将数据上传到云端,支持容器化部署以简化在NAS上的安装。

SPOTIFY

Spotify是全球主流的音频流媒体服务,提供海量音乐、播客与相关音频内容的在线收听,主要通过订阅制模式实现无广告、离线下载等高级特性。图片.png

核心功能:

  • 海量曲库与内容分发:覆盖主流音乐、独立音乐、播客和节目等。
  • 个性化推荐Discover WeeklyDaily MixRelease Radar等算法驱动的播放列表,帮助发现新歌新歌手。
  • 跨设备无缝同步:手机、平板、桌面端、Web 播放器、智能音响、电视等之间无缝切换。
  • 播放列表与收藏:创建、分享和协作播放列表,收藏喜欢的曲目。
  • 离线下载(Premium):在移动端离线聆听,免流量、断网时也能播放。
  • 社交与共享:关注好友、共同播放、公开播放列表等社交化特性。
  • 内容类型扩展:除了音乐,还提供播客、有声书等音频内容。

订阅方案与价格(常见在多数地区):

  • Free(免费版):有广告,功能受限(移动端通常有跳过次数与离线下载限制)。
  • Premium(个人/个人用途,单人账户)
    • 无广告、离线下载、无限制跳过等特性,音质可达高达320kbps(Ogg Vorbis)
  • 组合方案(示例,地域可能不同)
    • Duo(两人)、Family(多位家庭成员共享,最多6人)、Student(学生优惠)。注:具体价格和可用性请以你所在地区的官方信息为准。

访问Spotify的开发者仪表板,需要创建一个免费API帐户,然后点击CREATE AN APP创建应用,填写信息后点击CREATE创建,复制IDsecret图片.png

Last.fm

前往其官网创建API账号,只有“应用程序名称”字段是必填项,提交表单后,您可以从“帐户已创建”页面获取API密钥和共享密钥,将上述值复制到您的配置文件中LastFM.ApiKeyLastFM.Secret或将其设置为环境变量ND_LASTFM_APIKEYND_LASTFM_SECRET图片.png

0x02 部署

这里使用飞牛NAS进行部署,先创建存放项目的目录,这里需要注意与docker-compose.yml文件中相同的用户。

图片.png

接下来要在飞牛docker程序中创建项目,导入docker-compose.yml,docker-compose.yml文件如下。这里将navidrome和music-tag-web写在一个项目配置,Navidrome的配置参数需要查看官方文档,其中需要用户自定义存储音乐文件的位置(高阶玩法biggrin :通过测试可以使用挂载后的网盘音乐目录)和SPOTIFY、LAST.FM,这里考虑到后两者为国外服务,可能需要配置PROXY。Music Tag Web的配置参数可以查看官方文档,其中并没有太多需要配置的参数,如果有需要,可以自行进行进阶配置。

version: "3.8"
services:
  navidrome:
    image: deluan/navidrome:latest
    container_name: navidrome
    user: 1000:1000
    ports:
      - 4533:4533
    volumes:
      - ./navidrome/data:/data       # Navidrome存储其数据库和缓存的位置
      - ./music:/music:ro             # 存储音乐文件的位置
    environment:
      ## 基本配置
      ND_BASEURL: ""                 # 设置基础网址URL为空
      ## 高级配置
      ND_DEFAULTLANGUAGE: zh-Hans    # 设置默认语言为简体中文
      ND_ENABLEGRAVATAR: true        # 启用GRAVATAR头像
      ND_ENABLESHARING: true         # 开启共享功能
      ND_ENABLETRANSCODINGCONFIG: true # 用户自定义转码
      ND_ENABLETRANSCODINGCANCELLATION: true   # 启用转码取消
      ND_IMAGECACHESIZE: "300MB"     # 图像缓存大小
      ND_SESSIONTIMEOUT: 24h         # 设置会话超时时间为24小时
      ND_TRANSCODINGCACHESIZE: "1500MB" # 转码缓存大小
      ND_SCANSCHEDULE: 1h            # 表示每小时扫描一次音乐库
      TZ: "Asia/Shanghai"            # 设定容器时区,确保调度时间一致
      ## SPOTIFY相关
      # ND_SPOTIFY_ID:
      # ND_SPOTIFY_SECRET:
      ## LAST.FM相关
      # ND_LASTFM_LANGUAGE: zh
      # ND_LASTFM_APIKEY:
      # ND_LASTFM_SECRET:
      ## PROXY相关
      # HTTP_PROXY: "http://proxy:port"
      # HTTPS_PROXY: "http://proxy:port"
    restart: unless-stopped

  music-tag:
    image: xhongc/music_tag_web:latest
    container_name: music-tag-web
    ports:
      - "8002:8002"
    volumes:
      - ./music:/app/media:rw #需要刮削的音乐,建议和Navidrome的音乐处于同一目录
      - ./music_tag/config:/app/data #配置文件存储位置
    environment:
      TZ: "Asia/Shanghai"
    restart: unless-stopped

访问http://IP:4533/,navidrome需要自行设置账号密码。图片.png

访问http://IP:8002/admin,这是music-tag-web的管理后台,默认账号密码admin/admin,记得修改默认密码。
图片.png

0x03 使用

Navidrome

音乐记录功能

该功能可以轻松地将播放的歌曲记录到Last.fm和ListenBrainz。具体操作为在”设置“中选择”个性化“,通过下方开关启动,可根据官方文档配置Key。
图片.png

Music Tag Web

手动刮削

手动刮削需要用户自行查找相关信息填入,访问http://IP:8002/进入前台,点击左侧音乐列表,选中目标音乐,手动输入、上传元数据。
图片.png

自动刮削

自动刮削能够获取其所有的信息,相当方便简洁。
图片.png

刮削后效果如下:图片.png

0x04 移动端

音流

介绍

音流是一款国人开发的音乐播放器,支持Subsonic/Navidrome/Jellyfin/Emby/AudioStation,现已登录Android、iOS,未来可能支持Windows和tvOS平台。音流采用Flutter开发,界面简洁美观,整体以透明和高斯模糊为主,布局类似于**云音乐,上手基本没有门槛。你可以在音流官网获取Android安装包,或直接在iOS AppStore搜索音流下载。

音流是一款NAS音乐播放器,可以连接到您部署在NAS上的音乐服务,能让您在不同平台享受一致的音乐盛宴。能够提供音频内容在线或本地流式播放的应用,覆盖音乐、播客、有声书等格式。用户通常通过网页、手机/平板/桌面客户端等方式收听,并可实现跨设备无缝播放、离线下载、元数据管理等功能。图片.png

使用

使用音流十分简单,我们只要填入Navidrome地址、用户名和密码登录后,就可以进入音流首页,这里由于本人使用Lucky代理连接,只能使用”非直连模式“才能成功连接,在家庭环境可以使用IP进行直接连接,也可以购买会员,使其自动切换主备线路。
图片.png

箭头

介绍

箭头音乐是一款现代化的音乐播放器,兼容Subsonic、Navidrome、Jellyfin、Emby、Swing Music、真理鱼、Plex等多种音乐服务器。其聚焦在私有音乐库的管理、元数据编辑与跨设备播放。它强调数据本地化、灵活部署(如在 NAS/SaaS 私有云上)以及对个性化音乐体验的可控性。
图片.png

使用

使用箭头音乐的方式和音流大同小异,其中内外网线路是免费的。图片.png

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则