Motrix2 Docker 版部署教程
📺 本图文教程由视频整理而成,对应的参考视频:直接下载到NAS! Motrix2 Docker版~配合OpenList,下载整个文件夹。如需查看更详细、更具体的操作演示,可观看原视频。
场景:NAS 常年开机、空间又大,最适合拿来挂下载。把 Motrix2 的 Docker 版部署在 NAS 上,浏览器的下载、OpenList 里的网盘文件都能直接落到 NAS 硬盘,不必先下到电脑再拷过去。
前置条件
- NAS 已安装 Docker(本文以飞牛 fnOS 为例),并能通过 SSH 登录终端。
- 已看过上一期桌面客户端教程,熟悉 Motrix2 的界面与浏览器扩展,本期不再重复讲基础功能。
- 镜像拉取慢或失败时,可先在 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 步:逐项理解参数
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 映射决定:
-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 \第二组是让局域网内其它设备能访问:
-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 \ARIA2_RPC_LISTEN_ALL=true:aria2 的 RPC 端口对所有设备监听,否则其它设备连不上。PUBLIC_URL:后台主界面的对外地址,即 NAS 的 IP 加 18080。REMOTE_EXTENSION_PUBLIC_URL:浏览器扩展专用地址,协议头是ws://,端口 16801。MDXP_HOST=0.0.0.0:同样让全部设备可访问,和上面的扩展开关一起生效。ALLOW_INSECURE_OPERATOR_HTTP=true:允许 HTTP 访问。默认走 HTTPS,只有局域网才这样用;局域网里 HTTP 最省事,公网请勿开启。
第三组是访问令牌,也就是进后台界面要输入的密码:
-e MOTRIX_OPERATOR_TOKEN="haoyong" \示例里用的是 haoyong,换成你自己的即可。
第 5 步:端口与路径映射
三个端口各有分工,缺一个就少一项功能:
| 映射 | 用途 |
|---|---|
-p 18080:8080 | 后台管理主界面 |
-p 16801:16801 | 浏览器扩展通信用 |
-p 16800:16800 | aria2 RPC 接口(配合 OpenList 用) |
两条路径映射:
-v "/vol1/1000/tools/motrix/motrix-data:/data" \
-v "/vol1/1000/downloads:/downloads" \
motrixapp/motrix-server:latest/data存配置、数据库、插件等全部程序数据,建议单独放一个目录,方便备份与迁移。/downloads是实际的下载落地目录,本文把它和其他下载工具放在同一位置,也可以按喜好改。
第 6 步:在 NAS 上执行
连上 NAS 的 SSH 终端,先提权:
sudo -i输入密码后回车。注意输入密码时屏幕不显示任何字符,这是正常的。提示符从 haoyong@MEmimi 变成 root@MEmimi 即表示已进入管理员权限。
然后右键粘贴整条 docker run 命令,回车执行:

本文的镜像之前已拉取过,所以直接创建容器并输出容器 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
- 在 Edge 安装好的 Motrix 扩展弹窗里点下拉框,选「管理 Motrix Server」,进入扩展设置页的「集成」。
- 点「添加 Server」,名称随意填(本文按 IP 尾号填
215,方便区分)。 - WebSocket 地址填
ws://<NAS的IP>:16801。协议头必须是ws://,端口用 16801,这是专门给扩展用的,对应第 5 步的端口映射:

- 点「保存 Server」,列表里会出现两个server;点 Docker 这条的「使用」,它变成「当前」,说明扩展已指向 Docker 版。
- 点「配对」,回到 Motrix 后台,右上角会显示配对码;复制配对码,粘贴到扩展对话框里点「配对」,提示「已连接」即完成。
第 11 步:右键发送下载
Docker 版无法像桌面版那样「完全接管」浏览器下载,扩展里的「远程下载」开关也不会自动拦截。日常用法是在下载链接上右键,选「用 Motrix 下载」:
- 随后回到扩展面板就能看到任务开始。
- 回到Docker版Motrix后台,「下载」页同样能看到进度、速度与剩余大小。
- 暂停、删除直接在扩展面板里操作即可,简单管理不必打开后台页面。
第 12 步:配置 RPC(配合 OpenList)
进入后台 设置 → 高级:
- RPC 端口为
16800,与端口映射对应。 - RPC 密钥点后面的小眼睛可查看,为了好记直接改成
haoyong(也可以直接使用随机值,只要后续调用时一致)。 - 点「保存」,再点右上角的「重启引擎」,否则新端口与新密钥不生效。
现在要记住两个值:RPC 端口 16800,密钥 haoyong。
第 13 步:OpenList 里接上 aria2
- 打开已挂载网盘的 OpenList,点右下角更多按钮,选「本地设置」。
- 把 aria2 地址改为
http://<NAS的IP>:16800,端口填 16800。 - 密钥填
haoyong。 - 这个设置面板没有保存按钮,点旁边空白处收起即视为生效。
如果列表左侧没有复选框,同样在右下角菜单里开启「显示复选框」。
第 14 步:发送文件或整个文件夹
- 勾选要下载的文件(例如 Ubuntu 镜像),底部会出现下载选项,点「下载」小云朵 → 「发送到 aria2」,右上角提示已成功发送。
- 回到 Motrix 后台「下载」页即可看到任务,6 GB 左右的文件实测能跑到接近 100 MB/s。
- 勾选一个文件夹后同样操作即可整目录下载——这正是 Docker 版最大的价值:OpenList 自身只能下单个文件,走 aria2 才能把整个文件夹拉下来。
总结
- 一条
docker run命令即可完成部署,只需改 IP、端口、路径三处。 --stop-timeout 120给下载器留出收尾时间,避免文件损坏。- 三个端口分别对应后台界面、浏览器扩展、aria2 RPC,缺一不可。
- Docker 版不能完全接管浏览器下载,日常靠右键「用 Motrix 下载」发起任务。
- 配合 OpenList 的 aria2 接口,可以把网盘文件和整个文件夹直接下到 NAS。
参考视频
直接下载到NAS! Motrix2 Docker版~配合OpenList,下载整个文件夹