Skip to content

Motrix2 Docker 版部署教程 ​

📺 本图文教程由视频整理而成,对应的参考视频:直接下载到NAS! Motrix2 Docker版~配合OpenList,下载整个文件夹。如需查看更详细、更具体的操作演示,可观看原视频。

场景:NAS 常年开机、空间又大,最适合拿来挂下载。把 Motrix2 的 Docker 版部署在 NAS 上,浏览器的下载、OpenList 里的网盘文件都能直接落到 NAS 硬盘,不必先下到电脑再拷过去。

提示:本教程配套的操作文档,可在好用斋官网 → 网盘分享(提取码 612)中下载。

前置条件

  1. NAS 已安装 Docker(本文以飞牛 fnOS 为例),并能通过 SSH 登录终端。
  2. 已看过上一期桌面客户端教程,熟悉 Motrix2 的界面与浏览器扩展,本期不再重复讲基础功能。
  3. 镜像拉取慢或失败时,可先在 NAS 上安装 KSpeeder 加速,参考同系列 KSpeeder 教程。

第 1 步:先看官方文档 ​

官方 Docker 文档:https://motrix.app/manual/docker/

页面往下滑有完整的 docker-compose.yml 示例。本文的命令是在官方基础上做了简化:因为只在局域网使用。如果你要暴露到公网,请以官方文档为准补充配置。

第 2 步:整条命令只需要改三处 ​

命令行看着很长,但真正需要你改的只有三处,其余保持原样即可正常使用:

需要修改改哪里说明
IP 地址所有出现 192.168.31.215 的位置换成你自己 NAS 的局域网 IP
端口映射-p 18080:8080 这类映射冒号前的数字冒号后的容器内端口不要动;如果改了前面的端口,环境变量里的 MOTRIX_PUBLIC_URL、MOTRIX_REMOTE_EXTENSION_PUBLIC_URL 要同步改成一样的数字
路径映射-v "...:/data" 这类映射冒号前的路径冒号后的容器内路径固定不动

没有端口冲突就照抄本文的端口,能省掉一堆同步修改。

第 3 步:逐项理解参数 ​

bash
docker run -d \
  --name motrix-server \
  --init \
  --restart unless-stopped \
  --stop-timeout 120 \
  ...
参数作用
-d容器后台运行
--name motrix-server容器名,后续管理中用它识别
--init注入初始化进程,回收僵尸进程,运行更干净
--restart unless-stopped只要不手动停止,开机/异常后自动拉起
--stop-timeout 120停止容器前最多等 120 秒做收尾

--stop-timeout 对下载器尤其重要:Motrix 正在下载时若被立刻杀掉,未收尾的分片会导致文件损坏,这 120 秒是保险值,正常停止通常几秒就结束。

第 4 步:环境变量分为三组 ​

第一组是容器内路径,只描述「容器里的数据放在哪」,真正的宿主机路径由后面的 -v 映射决定:

bash
  -e MOTRIX_DATA_DIR=/data \
  -e MOTRIX_TEMP_DIR=/data/tmp \
  -e MOTRIX_PLUGIN_DIR=/data/plugins \
  -e MOTRIX_DEFAULT_SAVE_DIR=/downloads \
  -e MOTRIX_ALLOWED_SAVE_DIRS=/downloads \

第二组是让局域网内其它设备能访问:

bash
  -e MOTRIX_ARIA2_RPC_LISTEN_ALL=true \
  -e MOTRIX_PUBLIC_URL='http://192.168.31.215:18080' \
  -e MOTRIX_REMOTE_EXTENSION_PUBLIC_URL=ws://192.168.31.215:16801 \
  -e MOTRIX_REMOTE_EXTENSION_ENABLED=true \
  -e MOTRIX_MDXP_HOST=0.0.0.0 \
  -e MOTRIX_ALLOW_INSECURE_OPERATOR_HTTP=true \
  1. ARIA2_RPC_LISTEN_ALL=true:aria2 的 RPC 端口对所有设备监听,否则其它设备连不上。
  2. PUBLIC_URL:后台主界面的对外地址,即 NAS 的 IP 加 18080。
  3. REMOTE_EXTENSION_PUBLIC_URL:浏览器扩展专用地址,协议头是 ws://,端口 16801。
  4. MDXP_HOST=0.0.0.0:同样让全部设备可访问,和上面的扩展开关一起生效。
  5. ALLOW_INSECURE_OPERATOR_HTTP=true:允许 HTTP 访问。默认走 HTTPS,只有局域网才这样用;局域网里 HTTP 最省事,公网请勿开启。

第三组是访问令牌,也就是进后台界面要输入的密码:

bash
  -e MOTRIX_OPERATOR_TOKEN="haoyong" \

示例里用的是 haoyong,换成你自己的即可。

第 5 步:端口与路径映射 ​

三个端口各有分工,缺一个就少一项功能:

映射用途
-p 18080:8080后台管理主界面
-p 16801:16801浏览器扩展通信用
-p 16800:16800aria2 RPC 接口(配合 OpenList 用)

两条路径映射:

bash
  -v "/vol1/1000/tools/motrix/motrix-data:/data" \
  -v "/vol1/1000/downloads:/downloads" \
  motrixapp/motrix-server:latest
  1. /data 存配置、数据库、插件等全部程序数据,建议单独放一个目录,方便备份与迁移。
  2. /downloads 是实际的下载落地目录,本文把它和其他下载工具放在同一位置,也可以按喜好改。

第 6 步:在 NAS 上执行 ​

连上 NAS 的 SSH 终端,先提权:

bash
sudo -i

输入密码后回车。注意输入密码时屏幕不显示任何字符,这是正常的。提示符从 haoyong@MEmimi 变成 root@MEmimi 即表示已进入管理员权限。

然后右键粘贴整条 docker run 命令,回车执行:

在 NAS 终端中粘贴并执行 docker run 命令,输出容器 ID 即表示创建成功

本文的镜像之前已拉取过,所以直接创建容器并输出容器 ID。第一次执行会先拉取镜像,需要等一会儿;拉取失败就装 KSpeeder 加速后再试。

第 7 步:确认容器并登录后台 ​

打开飞牛的 Docker → 容器,列表中出现 motrix_server 即为部署成功;点该行右侧的端口信息,能看到映射出来的 18080。

点击 18080 打开后台,输入上一步设置的令牌(示例为 haoyong),点 Unlock 进入主界面。界面与桌面客户端完全一致,都是同一套 UI。

第 8 步:切换为中文 ​

默认是英文界面。左下角 Setting → Appearance(外观)→ 语言,下拉拉到底选「简体中文」→ Save,界面立即变为中文,与桌面版一致。

第 9 步:Docker 版与桌面版的差别 ​

通用里的启动、通知等偏好只能在桌面应用中设置,网页端点开会提示去桌面版里改。这没关系,Docker 版的目标就是「挂在 NAS 上把文件下到 NAS 里」,只用到其中一小部分功能。

下载页面里默认存储目录显示为 downloads,对应的是 -v 冒号左边的宿主机路径。下载完找不到文件,先检查冒号左边那条路径是否正确,冒号右边的 /downloads 是固定值,不能改。

第 10 步:浏览器扩展添加 Server ​

  1. 在 Edge 安装好的 Motrix 扩展弹窗里点下拉框,选「管理 Motrix Server」,进入扩展设置页的「集成」。
  2. 点「添加 Server」,名称随意填(本文按 IP 尾号填 215,方便区分)。
  3. WebSocket 地址填 ws://<NAS的IP>:16801。协议头必须是 ws://,端口用 16801,这是专门给扩展用的,对应第 5 步的端口映射:
在扩展中添加 Motrix Server,WebSocket 地址填写 NAS 的 IP 加 16801 端口
  1. 点「保存 Server」,列表里会出现两个server;点 Docker 这条的「使用」,它变成「当前」,说明扩展已指向 Docker 版。
  2. 点「配对」,回到 Motrix 后台,右上角会显示配对码;复制配对码,粘贴到扩展对话框里点「配对」,提示「已连接」即完成。

第 11 步:右键发送下载 ​

Docker 版无法像桌面版那样「完全接管」浏览器下载,扩展里的「远程下载」开关也不会自动拦截。日常用法是在下载链接上右键,选「用 Motrix 下载」:

  1. 随后回到扩展面板就能看到任务开始。
  2. 回到Docker版Motrix后台,「下载」页同样能看到进度、速度与剩余大小。
  3. 暂停、删除直接在扩展面板里操作即可,简单管理不必打开后台页面。

第 12 步:配置 RPC(配合 OpenList) ​

进入后台 设置 → 高级:

  1. RPC 端口为 16800,与端口映射对应。
  2. RPC 密钥点后面的小眼睛可查看,为了好记直接改成 haoyong(也可以直接使用随机值,只要后续调用时一致)。
  3. 点「保存」,再点右上角的「重启引擎」,否则新端口与新密钥不生效。

现在要记住两个值:RPC 端口 16800,密钥 haoyong。

第 13 步:OpenList 里接上 aria2 ​

  1. 打开已挂载网盘的 OpenList,点右下角更多按钮,选「本地设置」。
  2. 把 aria2 地址改为 http://<NAS的IP>:16800,端口填 16800。
  3. 密钥填 haoyong。
  4. 这个设置面板没有保存按钮,点旁边空白处收起即视为生效。

如果列表左侧没有复选框,同样在右下角菜单里开启「显示复选框」。

第 14 步:发送文件或整个文件夹 ​

  1. 勾选要下载的文件(例如 Ubuntu 镜像),底部会出现下载选项,点「下载」小云朵 → 「发送到 aria2」,右上角提示已成功发送。
  2. 回到 Motrix 后台「下载」页即可看到任务,6 GB 左右的文件实测能跑到接近 100 MB/s。
  3. 勾选一个文件夹后同样操作即可整目录下载——这正是 Docker 版最大的价值:OpenList 自身只能下单个文件,走 aria2 才能把整个文件夹拉下来。

总结 ​

  1. 一条 docker run 命令即可完成部署,只需改 IP、端口、路径三处。
  2. --stop-timeout 120 给下载器留出收尾时间,避免文件损坏。
  3. 三个端口分别对应后台界面、浏览器扩展、aria2 RPC,缺一不可。
  4. Docker 版不能完全接管浏览器下载,日常靠右键「用 Motrix 下载」发起任务。
  5. 配合 OpenList 的 aria2 接口,可以把网盘文件和整个文件夹直接下到 NAS。

参考视频 ​

直接下载到NAS! Motrix2 Docker版~配合OpenList,下载整个文件夹

好用斋官网 ​

好用斋官网 | 网盘分享(提取码 612)