惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
V2EX - 技术
V2EX - 技术
Hacker News: Ask HN
Hacker News: Ask HN
T
Tailwind CSS Blog
V
Visual Studio Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
月光博客
月光博客
H
Hacker News: Front Page
D
DataBreaches.Net
GbyAI
GbyAI
Recorded Future
Recorded Future
IT之家
IT之家
H
Heimdal Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Schneier on Security
Schneier on Security
P
Privacy International News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Security Affairs
博客园 - 三生石上(FineUI控件)
M
MIT News - Artificial intelligence
Google Online Security Blog
Google Online Security Blog
L
LINUX DO - 最新话题
Google DeepMind News
Google DeepMind News
The Cloudflare Blog
L
LangChain Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
腾讯CDC
The Last Watchdog
The Last Watchdog
I
Intezer
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hacker News - Newest:
Hacker News - Newest: "LLM"
Stack Overflow Blog
Stack Overflow Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
U
Unit 42
H
Help Net Security
Simon Willison's Weblog
Simon Willison's Weblog
Y
Y Combinator Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security
T
Tenable Blog
TaoSecurity Blog
TaoSecurity Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
小众软件
小众软件
B
Blog
S
Security @ Cisco Blogs
A
About on SuperTechFans
V
V2EX
T
The Exploit Database - CXSecurity.com

Wulu's Blog

开放课程推荐 「面向所有人的 AI 提示词技巧」 2025 读书总结 树莓派5 优化与踩坑 在 Antigravity 使用 VS Code 应用扩展商店 树莓派安装 OpenWrt 及扩容教程 使用 Home Assistant 将米家设备接入 HomeKit 教程 Docker容器中的定时任务:使用Supercronic运行Python脚本 树莓派 | 欧路词典生词本 & 墨墨背单词 云同步教程 (eudic-maimemo-sync) 在 AI 时代,我为什么写博客? 记录 DIY 更换 CASIO G-SHOCK GBA-800 电池过程 2024 读书总结 使用 Audacity 制作立体音效果 使用 Audacity 进行音频降噪教程 Moonhack 2024: 缓解气候变化 谈谈 Follow 这款 RSS 阅读器 OpenAI Python API 新版本示例 使用HomeAssistant将米家设备接入到HomeKit AutoHotkey 脚本实现一键复制文本到 ChatGPT 提示模板 开放课程推荐 「面向开发者的 ChatGPT 提示词工程」 指定 Whisper 输出为简体中文 Api2d 国内可用的chatgpt api代理 利用chatgpt实现编程想法的实践-PyPower 树莓派安装docker版百度网盘 近期音乐分享 AI绘画 6PEN 人工智能艺术?
使用 Docker 在树莓派上安装 Moritx 下载工具
2025-08-10 · via Wulu's Blog

Motrix 是一款基于 aria2 的下载工具,支持 HTTP、FTP、BT、磁力链等多种资源下载,界面简洁易用。

Motrix 在 v1.8.19 版本中开始支持 arm64 设备,可以在树莓派等设备上运行。树莓派功耗低、运行安静,很适合 24 小时运行下载服务。由于我的树莓派没有安装桌面系统,所以通过 docker-baseimage-gui 项目制作了一个 docker 镜像。docker-baseimage-gui 提供了集成轻量级桌面环境、VNC 服务和 Web 访问功能的基础镜像,专门用于在无头服务器上运行 GUI 应用。

项目是开源的,具体实现可以查看:eMUQI/motrix-arm64-vnc

使用说明

以下以我的树莓派 5 为例:

Raspberry Pi 5 Model B Rev 1.0
OS: Debian GNU/Linux 12 (bookworm) aarch64
Kernel: 6.12.34+rpt-rpi-2712

1. 前置条件

请确保您的宿主机系统已安装 Docker 及 Docker Compose

2. 创建并配置 docker-compose.yml

在宿主机上创建项目目录,并在该目录中新建 docker-compose.yml 文件。

mkdir motrix-server

cd motrix-server

touch docker-compose.yml

将以下内容写入 docker-compose.yml 文件:

services:

motrix:

image: emuqi/motrix-arm64-vnc:latest

container_name: motrix-vnc

ports:

# 5800: 用于 noVNC (Web 浏览器) 访问的端口

- "5800:5800"

# 5900: (可选) 用于标准 VNC 客户端直接访问的端口

- "5900:5900"

volumes:

# 将宿主机的 ./data 目录映射到容器的 /config/Downloads 目录

# 用于持久化存储下载的文件

- ./data:/config/Downloads

environment:

# 关键:设置容器内应用的用户与用户组 ID。

# 建议修改为宿主机当前用户的 UID 和 GID,以避免挂载目录的权限冲突。

# 可在宿主机终端执行 `id` 命令获取。

- USER_ID=1000

- GROUP_ID=1000

# 设置 VNC 会话的显示分辨率

- DISPLAY_WIDTH=1280

- DISPLAY_HEIGHT=720

# (可选) 设置 VNC 访问密码。取消注释并替换为强密码。

# - VNC_PASSWORD=your_secret_password

restart: unless-stopped

3. 启动容器服务

docker-compose.yml 文件所在的目录下,执行以下命令以启动服务:

访问方式

  • Web 浏览器 (noVNC): 访问 http://<宿主机IP地址>:5800

  • VNC 客户端: 使用 VNC 客户端 (如 RealVNC Viewer, TigerVNC) 连接至 vnc://<宿主机IP地址>:5900

关键配置:设定下载路径

为确保下载文件能正确保存至宿主机映射目录,首次启动后必须在 Motrix 应用内完成以下配置:

  1. 在 Motrix 图形界面中,导航至 偏好设置 -> 基础设置

  2. 定位到 下载路径 选项,点击 “更改”

  3. 将路径手动设置为容器内部的绝对路径:/config/Downloads

    image.png
  4. 保存并应用设置。

    此操作仅需配置一次。完成后,所有下载任务产生的文件,都将被保存在您之前创建的 motrix-server 项目目录内的 data 文件夹中。

其他提示

noVNC 不支持传统意义上的直接、无缝剪贴板调用。这主要是由于现代网页浏览器的安全限制。

当你通过浏览器访问此项目时,需要通过以下方式将下载链接复制 Motrix:

  1. 在你的本地电脑上复制文本。

  2. 打开 noVNC 界面侧边的控制条,找到剪贴板工具。

    Motrix-Copy.png
  3. 将文本粘贴到 noVNC 的剪贴板文本框中。

    Motrix-Copy2.png
  4. 此时,文本被发送到远程服务器的剪贴板。你现在可以在远程桌面环境中使用粘贴命令(如 Ctrl+V)来粘贴内容。

    Motrix-Copy3.png

环境变量参考

环境变量 描述 默认值
USER_ID 定义容器内运行 Motrix 进程的用户 ID (UID)。 1000
GROUP_ID 定义容器内运行 Motrix 进程的用户组 ID (GID)。 1000
DISPLAY_WIDTH VNC 会话的屏幕显示宽度(单位:像素)。 1280
DISPLAY_HEIGHT VNC 会话的屏幕显示高度(单位:像素)。 720
VNC_PASSWORD 为 VNC 服务设置连接密码。若留空或注释,则无需密码即可访问。 (未设置)

其他项目

还有一个 Motrix-Web 项目实现了在网页上运行 Motrix 的功能。该项目的前端用户界面与 aria2 后端是分离的。Motrix-Web 作为前端 UI,直接从浏览器发出请求以控制后端的 aria2。这意味着,当考虑将 Motrix-Web 部署到公网环境时,aria2 也需要相应地部署到公网。

而本项目 motrix-arm64-vnc 将向 aria2 发送的网络请求封装在容器内部。这种架构的好处是,aria2 无需直接暴露在公网上,从而提供了更为安全的运行环境。

值得注意的是,无论选择哪种部署方案,出于安全考虑,都不建议将上述提及的两个项目直接暴露在公网上。在任何面向公网的部署场景中,都应考虑将其置于某种验证机制之后,例如 Cloudflare Access 或其他反向代理与身份验证解决方案。