nastool V2 部署指南:群晖/飞牛/极空间/绿联 NAS 自动化媒体库搭建

发布时间:2026/9/2 3:42:35
nastool V2 部署指南:群晖/飞牛/极空间/绿联 NAS 自动化媒体库搭建 在 NAS 上搭建影音媒体库很多人走到一半就放弃了。下载器、媒体库、海报墙、字幕、目录规范……每个环节单独看都不复杂串在一起却很容易崩。nastool V2 就是为了把这套流程串联起来把“手动找资源、手动下载、手动改名、手动整理”变成“一键订阅、自动入库”的闭环方案。本文将围绕 nastool V2 展开先讲清楚它解决什么问题再分别介绍在群晖、飞牛、极空间、绿联四类 NAS 上的部署步骤。文章会按“核心概念 → 环境准备 → 部署实战 → 使用配置 → 常见排错 → 最佳实践”的顺序组织尽量覆盖新手关心的每个细节。如果你是刚入手 NAS还没想清楚媒体库怎么规划或者已经在用 Jellyfin/Emby 管理海报墙但苦于下载和整理太繁琐这篇文章都值得读完。1. 认识 nastool V2它到底解决什么问题1.1 从“资源整理”到“媒体自动化”nastool 是一款面向 NAS 场景的媒体资源自动化整理工具。它的核心定位不是播放器也不是下载器而是“调度中心”。它可以把你已经有的下载工具qBittorrent、Transmission、媒体服务器Jellyfin、Emby、Plex、索引站点、消息通知渠道串起来实现一条完整的自动化链路订阅/关注想看的内容 ↓ nastool 自动检索可用资源 ↓ 调用下载器自动下载 ↓ 下载完成后自动转移到媒体库 ↓ 重命名、整理目录、刮削海报 ↓ Jellyfin/Emby/Plex 自动刷新海报墙更新换句话说以前你需要手动去各个站点搜资源、复制链接、在下载器里添加任务、等下载完成再手动移动到媒体库然后到媒体服务器里刷新库。用了 nastool V2 之后这些步骤大部分都能自动完成。1.2 nastool V2 的典型应用场景家庭影音库订阅新剧更新后自动下载并入库。多用户共享给家人朋友分配访问账号媒体库自动整理打开客户端就能看。媒体库规范化批量重命名、归入演员/年份目录、下载缺失字幕。提醒与通知下载完成、入库失败、磁盘空间不足通过微信、Telegram、飞书等渠道推送。1.3 和 Jellyfin/Emby/Plex 的区别很多刚接触 NAS 的读者会把 nastool 和 Jellyfin 混在一起。简单区分Jellyfin / Emby / Plex负责“播放和展示”把已经整理好的媒体文件刮削成海报墙提供网页端、客户端播放能力。nastool负责“入库前的工作”包括资源检索、下载、改名、目录归档。它本身不依赖特定的媒体服务器但通常会配合 Jellyfin/Emby/Plex 使用。两者配合起来架构才是完整的。nastool 管“把资源变成规范的媒体文件”Jellyfin 管“把规范的媒体文件变成好看的海报墙”。1.4 为什么推荐通过 Docker 部署nastool 支持多种部署方式但在不同 NAS 平台上最通用、最不易污染系统环境的方式是 Docker。原因很简单依赖隔离所有运行环境打包在容器里不会和 NAS 自带的 Python、Node 等版本冲突。迁移方便升级、换机时导出配置目录即可。回滚容易容器可以固定镜像版本出问题后重新创建容器即可。不同平台差异小群晖、飞牛、极空间、绿联都支持 Docker部署思路几乎一致。接下来的部署部分会以 Docker 为主要方式展开。2. 部署前准备目录规划与基础信息2.1 先规划目录再动手安装很多新手装完 nastool 后遇到“找不到文件”“媒体库不刷新”之类的问题根源多半是目录映射没规划好。建议在安装前先设计好两类目录配置目录存放 nastool 自身的数据库、日志、缓存、配置文件。媒体目录包括下载临时目录和最终媒体库目录。下面是一套比较通用的目录规划思路/nas_data ├── docker │ └── nastool │ └── config # nastool 配置目录 ├── downloads # 下载器下载目录临时区 │ ├── movies │ └── tv └── media # 整理后的媒体库 ├── movies └── tv为什么要把下载目录和媒体库目录分开下载目录是“未整理区”文件可能命名混乱、文件格式不统一不适合直接提供媒体服务器扫描。媒体库目录是“已整理区”nastool 会把文件重命名并移动到对应子目录Jellyfin/Emby/Plex 只需要扫描这个目录。如果两者混在一起媒体服务器很容易把半成品、种子文件、多余说明文件一起扫进去导致海报墙出现各种奇怪条目。2.2 镜像选择与版本说明nastool 的项目迭代速度较快镜像名、默认端口、环境变量在不同版本中可能发生变化。建议在部署前先打开项目仓库或 Docker Hub 页面确认当前版本要求的镜像名和启动参数。常见的镜像写法大致如下镜像名nastool/nas-tools或项目 README 中标注的最新镜像 默认端口3000 默认用户密码admin / admin注意这里的镜像名和端口仅用于示例说明。请以你实际操作时的官方 README 为准。版本更新后部分参数可能调整本文重点演示的是部署思路。2.3 PUID / PGID 是什么在 Linux 类 NAS 上跑 Docker经常会遇到权限问题。nastool 容器内默认以某个用户运行如果这个用户在宿主机上没有对应权限就可能写不进配置文件、移不动文件。常用解决方法是设置环境变量 PUID 和 PGID让容器内进程以宿主机某个指定用户的身份运行。以群晖为例管理员用户通常 UID 是 1024用户组 GID 是 100。具体值可以在 SSH 终端里执行下面命令查看id输出类似uid1024(admin) gid100(users) groups100(users)那么部署时就可以设置environment: - PUID1024 - PGID100在飞牛 fnOS、极空间、绿联上同样可以用 SSH 执行id查看当前用户的 UID 和 GID。不同 NAS 系统的默认用户可能不同不要照搬网上教程里的数值一定要先查看自己系统的实际值。2.4 网络模式选择bridge 还是 hostbridge 模式需要手动映射端口例如3000:3000。冲突风险小适合群晖、极空间、绿联、飞牛这类带图形界面管理 Docker 的系统。host 模式容器直接使用宿主机网络不需要映射端口性能更好但端口冲突时排查更麻烦。多数情况下建议先使用 bridge 模式加端口映射。如果后续遇到容器需要访问局域网内其他设备或者某些下载器回调出现网络不通的问题再考虑调整。3. 群晖 NAS 部署 nastool V23.1 群晖环境说明群晖部署 Docker 的推荐方式是使用自带的 Container ManagerDSM 7.2 及以后版本或 Docker 套件DSM 7.0 以下版本以及部分老机型。界面名称可能略有不同但核心操作是一致的。部署前需要先准备一台已经装好 DSM 的群晖 NAS。存储空间里预留出容器配置目录和媒体目录。能访问群晖的账号并且具备创建容器、映射目录的权限。3.2 在群晖上创建项目群晖的 Container Manager 支持“项目”概念也就是通过 docker-compose.yml 一键创建多个容器。这种方式比在界面上一个个填写更直观也方便后续修改和重建。在 Container Manager 中找到“项目”页面点击“新增”然后填写项目名称和 compose 文件路径。下面是一个通用的 compose 示例services: nastool: image: nastool/nas-tools:latest container_name: nastool restart: unless-stopped ports: - 3000:3000 volumes: - /volume1/docker/nastool/config:/config - /volume1/downloads:/downloads - /volume1/media:/media environment: - PUID1024 - PGID100 - TZAsia/Shanghai路径说明/volume1/docker/nastool/confignastool 的配置目录建议放在独立的 config 目录下方便备份。/volume1/downloads下载器使用的下载目录映射为容器内的/downloads。/volume1/media媒体库目录映射为容器内的/media。保存后点击“立即运行”群晖会自动拉取镜像并启动容器。3.3 通过命令行部署如果你更习惯 SSH 操作也可以直接登录群晖终端执行命令。首先创建目录sudo mkdir -p /volume1/docker/nastool/config然后进入目录创建 docker-compose.yml 文件cd /volume1/docker/nastool写入上面提到的 compose 内容后执行sudo docker compose up -d如果群晖上的 Docker 版本较老不支持docker compose命令可以尝试sudo docker-compose up -d启动后查看容器状态sudo docker ps确认 nastool 容器处于 Up 状态即可。3.4 群晖端口占用提醒群晖系统本身可能占用一部分常见端口。如果 3000 被占用在 compose 里改成其他映射端口即可比如ports: - 3100:3000注意冒号左侧是群晖的端口右侧是容器内部的端口。改左侧不影响 nastool 内部运行。4. 飞牛 fnOS 部署 nastool V24.1 飞牛 fnOS 环境说明飞牛 fnOS 是近期关注度较高的国产 NAS 系统基于 Debian系统界面简洁对 Docker 支持也比较友好。很多用户会拿它和群晖、极空间、绿联对比。飞牛 fnOS 的应用中心提供了 Docker 应用入口可以直接通过图形界面上传 compose 文件也可以在 SSH 终端里操作。4.2 在飞牛 fnOS 上创建 docker-compose 项目登录飞牛 fnOS 的网页管理界面找到“Docker”应用进入“Compose”或“容器编排”页面选择新增项目。这里需要先确定你的媒体目录路径。飞牛 fnOS 的存储卷通常挂载在/vol1、/vol2等路径下具体以你自己的存储规划为准。示例 composeservices: nastool: image: nastool/nas-tools:latest container_name: nastool restart: unless-stopped ports: - 3000:3000 volumes: - /vol1/docker/nastool/config:/config - /vol1/downloads:/downloads - /vol1/media:/media environment: - PUID1000 - PGID1000 - TZAsia/Shanghai保存后点击启动飞牛会自动完成拉取镜像和创建容器的过程。4.3 飞牛权限注意事项飞牛 fnOS 默认管理用户的 UID/GID 不一定是 1000尤其是如果你在安装系统时自定义过用户需要先执行id命令确认。另外如果下载目录和媒体库目录属于不同的存储卷映射关系要单独写。例如volumes: - /vol1/docker/nastool/config:/config - /vol2/downloads:/downloads - /vol2/media:/media目录跨卷是没有问题的Docker 只关心宿主机路径不要求它们在同一个卷里。但要注意nastool 在移动文件时如果是跨卷复制可能会产生较大的 IO 压力建议下载和媒体库尽量放在同一块硬盘或同一个存储池至少避免频繁跨物理磁盘移动。5. 极空间部署 nastool V25.1 极空间 Docker 功能说明极空间部分机型内置了 Docker 功能能在“应用中心”或“Docker”模块里添加容器。极空间的 Docker 管理界面相对简洁支持填写容器名称、镜像名、端口映射、目录映射、环境变量等。不同机型和系统版本界面可能不同但核心配置项是一样的。5.2 极空间图形界面配置示例在极空间 Docker 模块中点击“添加容器”或“自定义容器”依次填写容器名称nastool镜像nastool/nas-tools:latest以官方 README 为准端口映射本地端口 3000 → 容器端口 3000目录映射本地路径/docker/nastool/config→ 容器路径/config本地路径/downloads→ 容器路径/downloads本地路径/media→ 容器路径/media环境变量PUID1000PGID1000TZAsia/Shanghai保存后启动容器。5.3 极空间常用路径参考极空间的存储路径受系统版本影响较大有时会以/tmp/zfs/开头有时可能是/volume1或/data。在图形界面创建容器时可以直接通过文件选择器选取目录不需要手动输入路径。建议在创建容器之前先确认config 目录建议放在极空间的数据盘中不要放在系统盘。downloads 目录确保下载器qBittorrent 等也能访问到同一个路径。media 目录后续要挂载给 Jellyfin/Emby/Plex 使用。如果后续发现极空间容器内路径映射不对可以在容器详情页停止容器后修改映射再重新启动。6. 绿联 NAS 部署 nastool V26.1 绿联 NAS 环境说明绿联 NAS 近年来在硬件配置上比较有竞争力系统内置 Docker 应用支持通过 Docker Compose 创建容器也支持图形化的容器管理。绿联 NAS 的 Docker 模块通常在“应用中心”中安装安装完成后进入 Docker 管理页面主要操作包括镜像管理、容器管理、Compose 项目管理。6.2 绿联使用 Compose 创建容器在绿联的 Docker 管理页面中找到 Compose 或项目功能新建一个 Compose 项目名称可以填 nastool。示例文件services: nastool: image: nastool/nas-tools:latest container_name: nastool restart: unless-stopped ports: - 3000:3000 volumes: - /volume1/docker/nastool/config:/config - /volume1/downloads:/downloads - /volume1/media:/media environment: - PUID0 - PGID0 - TZAsia/Shanghai注意这里的PUID0、PGID0表示以 root 用户运行容器。很多绿联 NAS 用户反馈系统文件权限管理比较严格普通用户挂载目录时容易出现写权限不足的问题。用 root 运行容器可以规避权限问题但安全性会下降。如果你对权限比较敏感建议先创建好共享目录给指定用户分配完整读写权限再通过id查到对应用户的 UID/GID 填入环境变量。6.3 绿联路径映射建议绿联 NAS 的存储路径在不同系统版本上也有差异。使用图形界面创建容器时优先使用文件选择器来指定路径。创建目录时可以参考/volume1/docker/nastool/config /volume1/downloads /volume1/media如果系统提示路径不存在先到文件管理里创建对应的共享文件夹再回到 Docker 配置界面刷新路径列表。7. 通用 Docker Compose 模板与参数说明7.1 一份完整的通用模板无论使用哪个 NAS 平台只要支持 Docker Compose都可以参考下面这份模板services: nastool: image: nastool/nas-tools:latest container_name: nastool restart: unless-stopped ports: - 3000:3000 volumes: - /你的路径/nastool/config:/config - /你的路径/downloads:/downloads - /你的路径/media:/media environment: - PUID你的用户ID - PGID你的用户组ID - UMASK022 - TZAsia/Shanghai7.2 逐个参数说明参数含义说明image镜像名以项目 README 为准container_name容器名称方便识别容器可以按需修改restart重启策略unless-stopped表示除非手动停止否则自动重启ports端口映射宿主机端口:容器端口冲突时可修改左侧volumes目录映射宿主机目录:容器目录不能混淆PUID用户 ID控制容器内进程的所属用户PGID用户组 ID控制容器内进程的所属用户组TZ时区建议设置为Asia/Shanghai避免时间显示异常UMASK文件权限掩码022是常见值让新文件默认有755权限7.3 关于 PUID/PGID 的三个常见误区直接照抄网上教程里的PUID1024不同 NAS 系统默认用户不同最好执行id确认。设置成不存在的 UID/GID容器可能启动失败或者运行后没有权限读写挂载目录。完全忽略权限设置某些 NAS 上容器可以运行但下载完成后文件移不进媒体库日志里出现 Permission denied。建议到宿主机终端执行id然后根据输出结果设置 PUID 和 PGID。8. 首次启动后的初始化配置8.1 访问 nastool 后台容器启动成功后打开浏览器访问http://NAS的IP:3000首次进入会要求登录默认账号密码通常是admin / admin。如果你使用的镜像版本修改了默认密码以项目 README 说明为准。登录后第一件事是修改默认密码避免泄露到内网后被其他设备乱连。8.2 添加媒体服务器在 nastool 后台找到“媒体服务器”或“媒体库”配置填写 Jellyfin/Emby/Plex 的相关信息服务器地址例如http://192.168.1.100:8096API Key在 Jellyfin/Emby 后台生成。nastool 与媒体服务器联动后可以做到自动刷新媒体库。获取已存在的媒体列表避免重复下载。通过媒体服务器查询缺失剧集。如果暂时没有配置媒体服务器nastool 也可以独立运行但体验会打折扣。8.3 添加下载器在“下载器”配置中填写 qBittorrent 或 Transmission 的连接信息。以 qBittorrent 为例需要填写地址端口Web UI 端口用户名和密码添加成功后nastool 会在后台测试连接。连接失败时优先检查下载器是否允许外部访问、防火墙是否放行端口、密码是否正确。8.4 配置索引器或资源站点nastool 的资源检索能力依赖索引器或自定义资源站。这部分配置需要根据你实际使用的资源站和索引器来填写 API Key 或 Cookie。配置时注意不要随意填写不明来源的站点配置。资源检索应遵守所使用站点的规则和当地法律法规。只使用你有权访问的服务。8.5 目录关联设置在 nastool 后台需要把容器内的路径和媒体服务器识别的路径对应起来。典型情况nastool 容器内下载目录是/downloads。下载器里看到的目录是宿主机的/volume1/downloads。Jellyfin 容器内媒体库路径是/media。这些路径分别位于不同容器或宿主机视角下nastool 需要通过“路径映射”功能做一次转换把宿主机路径、容器路径、媒体服务器路径关联起来才能真正实现自动整理。这是我们最容易踩坑的一步。很多用户下载能完成但文件始终不进媒体库就是因为路径映射没有配对。9. 实际使用演示订阅、检索与自动入库9.1 添加订阅在 nastool 后台搜索想要观看的剧集或电影点击“订阅”nastool 会记录这个订阅状态。之后它会根据你配置的索引器定时检索一旦发现可用资源就自动推送下载任务到下载器。订阅功能对追剧场景尤其有用。新剧更新后无需每集手动去搜资源。9.2 手动检索如果没有设置自动订阅也可以在后台主动搜索资源手动选择清晰度1080p、4K 等。文件大小。资源类型。选择后 nastool 会调用索引器返回可用结果确定后推送到下载器。9.3 自动整理入库下载完成后nastool 会执行整理任务把文件从下载目录转移到媒体库目录。按照配置的命名规范重命名。根据媒体类型放入movies或tv子目录。整理完成后nastool 会通知媒体服务器刷新库。Jellyfin 的页面上很快就会看到新的海报墙条目。9.4 通知渠道配置nastool V2 支持接入多种通知渠道例如 Server酱、Telegram、飞书、企业微信等。配置完成后可以收到以下消息开始下载通知。下载完成通知。入库失败通知。磁盘空间预警。在家庭场景中建议至少配置一种通知渠道。否则下载失败时你可能要等到打开 NAS 才能发现问题。10. 常见问题与排查思路部署和使用 nastool V2 时下面这些问题出现频率最高。问题现象常见原因解决思路容器一直重启镜像名错误或版本不支持当前平台检查镜像名查看容器日志后台打不开端口映射错误或防火墙拦截确认宿主机端口未被占用浏览器使用正确的 IP 和端口配置目录写入失败PUID/PGID 不正确查看宿主机用户 id重新设置环境变量下载器连接失败下载器 Web UI 未开启或地址端口错误在下载器后台确认设置测试网络连通下载完成后不整理路径映射未配对检查 nastool 后台目录关联设置文件移不进媒体库权限不足或目录挂载错误检查媒体库宿主机目录权限海报墙不刷新媒体服务器未收到刷新通知手动刷新 Jellyfin/Emby 媒体库资源搜索不到索引器配置缺少或失效检查索引器状态、站点权限追剧更新不触发订阅策略或检索间隔设置不合理调整订阅策略查看任务日志10.1 容器的日志怎么看排查问题时日志是最重要的线索。群晖Container Manager → 容器详情 → 日志。 飞牛Docker → 容器 → 日志。 极空间容器详情页 → 日志。 绿联Docker 管理界面 → 容器 → 日志。也可以在 SSH 终端直接执行docker logs -f nastool关注日志中与Permission、Error、Failed相关的关键词。10.2 下载器登录异常qBittorrent 如果开启了“IP 地址过滤”或“反盗链”nastool 可能无法连接。建议在 qBittorrent 的 Web UI 设置里限制来源 IP或者放行内网网段避免把本地容器请求也拦截掉。10.3 数据迁移与恢复如果换了 NAS 或者重装系统只需要备份后恢复 nastool 的 config 目录即可。备份方法tar -czf nastool_config.tar.gz /volume1/docker/nastool/config恢复时把 config 目录放回原路径重新创建容器并挂载相同的目录路径即可。11. 最佳实践与工程建议11.1 目录规划原则配置目录、下载目录、媒体库目录要分开。下载目录和媒体库目录尽量放在同一个存储池减少跨盘移动。媒体库目录按movies和tv分大类后续可以在内部按年份、地区等二级目录继续组织。11.2 权限最小化如果只是个人家庭使用并且在受信任的内网环境可以适当放宽权限。但如果 NAS 暴露到公网或者需要多人共用建议为 nastool 创建专用用户而不是直接用 root。只给容器挂载它需要访问的目录不要把整个 NAS 根目录映射进去。不要将 Docker Socket 挂载给不信任的容器。11.3 网络与远程访问安全NAS 上的媒体管理工具通常涉及大量个人数据远程访问时需要注意安全边界。不建议直接暴露 3000 端口到公网。如果确实需要远程管理优先使用带身份认证的反代方案并开启双重认证。即使在内网也建议修改默认密码。定期检查容器日志和登录记录。nastool 本身只是管理工具真正的安全风险往往出在暴露服务时不加保护。很多人用 Docker 部署服务后直接做端口映射到公网后续很容易被扫描工具盯上。11.4 更新策略nastool 的版本更新比较频繁。升级前建议备份 config 目录。拉取最新镜像。删除旧容器。使用相同配置重新创建容器。注意不同大版本之间的配置结构可能不兼容。如果是从 V1 升级到 V2不要拿旧配置直接套新容器先阅读官方升级说明。11.5 整合其他 NAS 工具nastool 经常和以下工具联合使用qBittorrent / Transmission下载器。Jellyfin / Emby / Plex媒体服务器。1Panel服务器运维面板。PortainerDocker 容器管理。这里需要提醒一点nastool 的定位是“媒体自动化整理”不要试图让它替代 Jellyfin 去做硬件解码、转码等工作。转码性能问题建议交给 Jellyfin 自己处理部分 NAS 支持 GPU 硬件加速可以在 Jellyfin 中开启。如果部署过程中遇到“jellyfin 硬件加速”相关的问题排查方向通常在 Jellyfin 的容器参数和宿主机显卡驱动而不是 nastool。11.6 备份策略nastool 的配置数据库虽然不大但包含了订阅列表、路径映射、索引器配置等信息丢失后重新配置非常麻烦。建议把 config 目录列入 NAS 的定时备份任务中至少每周备份一次。如果家庭使用频率不高也可以在每次调整重要配置后手动备份。11.7 关于版权与合规nastool 的自动化能力很强大但请务必遵守所在地区的法律法规。只订阅、下载、整理你有权访问的内容。使用资源站点时遵守站点规则不用来传播或商用。涉及远程访问时要保护个人隐私不要随意把内网服务暴露给不相关的人。12. 总结与后续学习方向nastool V2 的价值在于把“检索、下载、整理、入库、通知”整合成一条自动化链路。部署本身并不复杂真正需要花心思的是目录规划、路径映射和索引器配置。只要这几个环节打通后续使用体验会非常顺畅。如果你是从零开始建议按这个顺序演练先部署 Jellyfin 或 Emby把媒体库目录跑通。再部署 qBittorrent 或 Transmission熟悉下载器设置。最后部署 nastool V2接入索引器和通知渠道。完成路径映射后测试一次完整流程订阅 → 检索 → 下载 → 整理 → 海报墙刷新。这样做的好处是每增加一个组件都只引入一个变量。如果出了问题很容易定位是在下载器、nastool 还是媒体服务器。接下来你还可以继续研究Jellyfin 的硬件转码配置。多用户权限和媒体库分级。基于 Docker Compose 的一体化部署方案。通知渠道的深入配置。日志监控与自动告警。NAS 媒体自动化这条链路越往后越能体会到“自动化”带来的便利。希望本文能帮你把第一步走稳。