使用 Docker 在树莓派上安装 Moritx 下载工具 cover

使用 Docker 在树莓派上安装 Moritx 下载工具

如何在无头(Headless)的树莓派上运行 Motrix ?

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 文件:

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 文件所在的目录下,执行以下命令以启动服务:

docker compose up -d

访问方式

  • 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 服务设置连接密码。若留空或注释,则无需密码即可访问。 (未设置)