NAS · NAVIDROME · JELLYFIN · OPEN SUBSONIC

飞牛 NAS、群晖如何部署 Navidrome 或 Jellyfin,并连接散帅播放器?

这篇教程用一份可复用的 Docker Compose 说明如何在飞牛 fnOS、群晖 DSM、QNAP、TrueNAS SCALE 和 Unraid 上建立私人音乐服务器,再把服务器地址与账号连接到散帅播放器。

发布:2026 年 8 月 12 日校对来源:OpenSubsonic、Navidrome、Jellyfin 与各 NAS 官方文档
本文目录11

QUICK ANSWER

NAS 上装什么,散帅才能连接?

最直接的选择是 Navidrome 或 Jellyfin。如果主要管理音乐,Navidrome 更轻量,并通过 Subsonic / OpenSubsonic 兼容 API 向客户端提供资料库;如果 NAS 已经用 Jellyfin 管理电影、电视剧和音乐,可以直接继续使用 Jellyfin。OpenSubsonic 本身是一份 API 规范,不是需要单独安装的服务器。

01

OpenSubsonic、Navidrome 和 Jellyfin 是什么关系?

OpenSubsonic

客户端与服务器如何认证、列出专辑、搜索、获取封面和播放音频的开放 API 规范。它定义“怎么沟通”,不负责扫描你的硬盘。

Navidrome

专门管理个人音乐收藏的自托管服务器。它扫描音乐文件,并提供兼容 Subsonic / OpenSubsonic 生态的接口。

Jellyfin

覆盖视频、电视与音乐的自托管媒体服务器。它使用自己的服务器 API,不是 OpenSubsonic 服务器。

所以,正确流程不是“安装 OpenSubsonic”,而是安装兼容服务器,然后让散帅按对应服务器类型连接。不同服务器对扩展能力的实现可能不同,兼容某个 API 不代表每一项扩展都完全一致。

02

部署前需要准备什么?

  1. 确认处理器架构

    Navidrome 官方镜像覆盖常见 amd64 与 arm 架构;Jellyfin 也提供多架构官方镜像。老旧或特殊架构 NAS 应先核对镜像支持。

  2. 准备两个目录

    一个持久化目录保存数据库、配置和缓存;一个音乐目录保存音频文件。音乐目录建议先以只读方式挂载。

  3. 确认文件权限

    容器使用的 UID:GID 必须能读取音乐目录并写入配置目录。`1000:1000` 只是示例,不应不加核对地复制。

  4. 保留固定局域网地址

    可在路由器为 NAS 保留 DHCP 地址,避免 NAS IP 改变后客户端失联。

  5. 先做局域网部署

    确认扫描和播放正常后,再考虑 HTTPS、VPN 或反向代理。不要一开始就把服务端口直接暴露到公网。

04

如何用 Docker Compose 部署 Jellyfin?

如果你希望用同一服务器管理音乐和视频,可以选择 Jellyfin。示例只映射散帅连接所需的 8096/TCP;7359/UDP 用于局域网自动发现,不是手动填写服务器地址的必要条件。

docker-compose.ymlJellyfin · 8096
services:
  jellyfin:
    image: jellyfin/jellyfin:10.11
    container_name: jellyfin
    user: "1000:1000"
    ports:
      - "8096:8096/tcp"
    restart: unless-stopped
    volumes:
      - /YOUR_APP_DATA/jellyfin/config:/config
      - /YOUR_APP_DATA/jellyfin/cache:/cache
      - /YOUR_MUSIC:/media:ro

启动后打开 http://NAS-IP:8096,完成初始化向导,创建用户,并添加“音乐”媒体库。选择文件夹时使用容器内部路径 /media,不要填写宿主机上的 `/YOUR_MUSIC`。

官方镜像支持固定版本、次版本和 `latest` 标签。示例固定在 10.11 次版本线以降低意外跨版本升级风险;升级前应备份 `/config`,并阅读当前版本说明。

官方资料:Jellyfin ContainerJellyfin Quick Start

05

飞牛、群晖和其他主流 NAS 分别从哪里部署?

NAS 系统推荐入口需要注意
飞牛 fnOS在应用中心启用 Docker,进入 Docker 的 Compose / 项目页面,粘贴或导入 YAML。在文件管理器中复制音乐与配置目录的原始绝对路径;不同 fnOS 版本的菜单名可能调整。
群晖 DSM 7.2+安装 Container Manager,在“项目”中选择包含 `compose.yaml` 的共享文件夹并构建。为容器用户授予共享文件夹读取权限;配置目录需要写入权限。
QNAP QTS / QuTS在 Container Station 中选择 Create Application,粘贴 Compose YAML 并验证。先建立持久化共享文件夹,确认端口没有被其他应用占用。
TrueNAS SCALE优先查看 Apps Catalog;也可以使用 Custom App 的 Compose YAML 编辑器。先选择 Apps 存储池,并为应用身份配置 dataset/host path 权限。
Unraid通常通过 Community Applications 或“Add Container”逐项填写镜像、端口和路径。Unraid 官方文档说明它不原生提供 Docker Compose;应把 YAML 中的映射转换为容器表单字段。

无论使用哪种界面,本质上都要得到同样四项结果:正确镜像、持久化配置目录、只读音乐目录、可从局域网访问的端口。不要照抄别人的 `/volume1`、`/vol1` 或 `/mnt/user` 路径;它们必须换成你自己的目录。

平台资料:飞牛开发者 Docker 文档Synology Container Manager ProjectQNAP Container StationTrueNAS AppsUnraid Docker Overview

06

服务器部署完成后,如何连接散帅播放器?

  1. 先用浏览器验证服务器

    iPhone 与 NAS 连同一 Wi‑Fi,确认 Safari 能打开 Navidrome 或 Jellyfin 登录页。浏览器都打不开时,先不要排查散帅。

  2. 允许本地网络访问

    首次访问局域网服务时,允许散帅使用 iOS 本地网络权限。

  3. 选择正确的服务器类型

    Navidrome 选择 Navidrome / OpenSubsonic 兼容类型;Jellyfin 选择 Jellyfin。具体入口文字以当前 App 版本为准。

  4. 填写完整基础地址

    Navidrome 示例:http://192.168.1.20:4533;Jellyfin 示例:http://192.168.1.20:8096。如果反向代理使用子路径,地址也要包含子路径。

  5. 填写服务器账号

    使用在 Navidrome 或 Jellyfin 中创建的账号,不是 NAS 系统管理员账号。建议为日常播放创建权限较小的独立用户。

  6. 连接并等待首次同步

    大型音乐库第一次读取专辑、艺人和封面需要时间。先用一张已知专辑测试浏览与播放,再处理远程访问。

07

如何从外网安全连接 NAS 音乐服务器?

优先使用可信 VPN 回到家庭网络,或使用带有效证书的 HTTPS 反向代理。不建议把 4533、8096 等明文 HTTP 端口直接映射到互联网。

  • 使用独立域名或明确的子路径,并在散帅里填写最终可访问地址;
  • 使用受信任证书。自签名证书常导致移动客户端兼容问题;
  • 为账号设置强密码,及时更新 NAS、容器镜像和反向代理;
  • Navidrome 默认可以直接放在反向代理后;如果代理另做登录,不能误拦客户端需要的 /rest/* API;
  • Jellyfin 反向代理需要正确传递请求头;使用子路径时,客户端地址必须包含 Base URL;
  • 不要在公开日志、截图或支持邮件中暴露密码、API Key、令牌和完整私人域名配置。

安全资料:Navidrome Externalized AuthenticationJellyfin NetworkingJellyfin Reverse Proxy

08

连接失败时按什么顺序排查?

现象先检查
Safari 也打不开服务器容器状态、端口映射、NAS 防火墙、IP 是否变化,以及手机是否处于同一局域网。
网页能打开,散帅提示无法连接服务器类型、地址中的 http/https、端口、子路径、本地网络权限和证书是否有效。
提示账号或密码错误确认使用的是音乐服务器账号;重新输入,避免密码管理器附带空格。不要把 NAS 管理员账号当成媒体账号。
连接成功但音乐库为空宿主目录是否映射到 `/music` 或 `/media`、容器是否有读取权限、服务器扫描是否完成。
能看到封面但无法播放先在服务器网页端播放同一首歌;检查原文件、转码设置、反向代理超时和移动网络连通性。
局域网可以,外网不行VPN/反向代理、DNS、HTTPS 证书、端口和 Jellyfin 用户的远程访问权限。

如果仍无法定位,联系 [email protected] 时请提供 App 版本、iOS 版本、NAS 系统、服务器类型、局域网或外网场景、脱敏后的地址结构和错误提示。不要发送密码、令牌或未脱敏日志。

09

音乐、账号和播放数据会发到哪里?

散帅会直接连接你填写的 NAS 或音乐服务器,Himhuu 不作为音乐流量的中转站,也不会把个人音乐库、服务器账号或播放记录上传给 Himhuu。服务器地址和连接设置保存在设备上,凭据或访问令牌保存在系统钥匙串。

但这不等于所有使用过程都“完全不联网”:你选择的 Navidrome、Jellyfin、反向代理、DNS 或远程访问服务可能处理连接日志;当服务器缺少歌词或封面并触发散帅的在线查询时,第三方服务可能收到歌曲名、艺人、专辑名或时长。完整边界以散帅播放器隐私政策为准。

10

常见问题

OpenSubsonic 需要在 NAS 上单独安装吗?

不需要。OpenSubsonic 是 API 规范。你需要安装 Navidrome 等兼容服务器,再用支持该协议的客户端连接。

Navidrome 和 Jellyfin 应该选哪个?

只想管理音乐并重视轻量体验时可优先考虑 Navidrome;已经使用 Jellyfin 管理多种媒体时,可以直接建立音乐库并连接。最终选择还取决于你的 NAS 性能和现有服务。

散帅连接 Navidrome 时要在地址后面加 /rest 吗?

通常不需要。填写 Navidrome 的基础地址即可,例如 http://192.168.1.20:4533。只有反向代理明确配置了子路径时才把该子路径写入地址。

为什么不建议把 NAS 端口直接开放到公网?

直接暴露服务会扩大攻击面,而且明文 HTTP 无法保护账号和媒体请求。优先使用 VPN,或使用正确配置、带有效证书的 HTTPS 反向代理。

音乐目录为什么建议只读挂载?

服务器通常只需要读取音频和元数据。只读挂载能降低错误配置或服务漏洞修改原始音乐文件的风险;数据库、缓存和服务器设置另存到可写配置目录。

这份 Compose 可以直接复制吗?

结构可以复用,但路径、UID:GID、镜像版本和端口必须按你的 NAS 调整。部署前备份配置,并以项目当前官方文档为准。

本文引用的是公开项目与 NAS 平台文档,没有把任何第三方代码或镜像打包进散帅。Navidrome 使用 GPL-3.0,Jellyfin Server 使用 GPL-2.0,OpenSubsonic 规范仓库使用 Apache-2.0;各项目由其维护者独立提供,Himhuu 不控制其版本、可用性或数据处理。