适用场景:Armbian 机顶盒/树莓派空间不足,需要将下载文件直接存入 NAS 或 Windows 共享文件夹(192.168.31.166),且要求断网能开机重启不丢失


第一阶段:挂载 SMB 共享硬盘

1. 安装必要工具

首先更新软件源并安装 CIFS 挂载工具:

apt update
apt install cifs-utils -y

2. 创建本地挂载点

这是远程硬盘在 Armbian 里的“入口”:

mkdir -p /mnt/nas_data
chmod 777 /mnt/nas_data

3. 配置开机自动挂载(核心步骤)

我们要将配置写入 /etc/fstab。请直接复制整段命令执行,防止手输错误。

配置说明

  • nofail:断网或 NAS 关机时,机顶盒不会卡死在启动界面
  • x-systemd.automount按需挂载。开机时不连接,有程序读写时自动瞬间连接(提升开机速度)。
  • vers=3.0:使用现代 SMB 协议,性能更好。
# 备份原配置
cp /etc/fstab /etc/fstab.bak

# 写入新配置 (IP: 192.168.31.166 | 共享名: nas | 用户: yys)
echo "//192.168.31.166/nas /mnt/nas_data cifs username=yys,password=123456,iocharset=utf8,vers=3.0,rw,file_mode=0777,dir_mode=0777,nofail,_netdev,x-systemd.automount 0 0" >> /etc/fstab

4. 刷新并验证

应用配置并测试挂载是否生效:

# 重载系统配置
systemctl daemon-reload
systemctl restart remote-fs.target

# 触发挂载(automount 模式下,只有访问才会挂载)
ls /mnt/nas_data

如果 ls 命令列出了你远程硬盘里的文件,说明挂载成功


第二阶段:部署 qBittorrent (Docker Compose)

我们将使用 Docker Compose 来管理 qBittorrent,这样配置更清晰,以后迁移也方便。

1. 创建部署目录

mkdir -p /root/qbittorrent
cd /root/qbittorrent

2. 创建 docker-compose.yml

创建并编辑文件:

nano docker-compose.yml

粘贴以下内容(已根据你的需求配置好路径映射):

version: "3.8"
services:
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=0  # 使用 root 权限,避免任何文件读写报错
      - PGID=0
      - TZ=Asia/Shanghai
      - WEBUI_PORT=8080
    volumes:
      - ./config:/config           # 配置文件存放在当前目录
      - /mnt/nas_data:/downloads   # 【关键】将远程硬盘映射为容器内的 /downloads
    ports:
      - 8080:8080      # Web 管理页面端口
      - 6881:6881      # TCP 数据传输
      - 6881:6881/udp  # UDP 数据传输
    restart: unless-stopped
    network_mode: bridge

Ctrl + O 回车保存,按 Ctrl + X 退出。

3. 启动容器

docker compose up -d
# 如果提示 docker compose not found,尝试用 docker-compose up -d

第三阶段:qBittorrent 内部设置(防坑必看)

这一步最容易出错,请务必注意路径的区别。

  1. 打开网页后台
    在浏览器访问:http://你的机顶盒IP:8080

    • 默认用户名:admin
    • 默认密码:adminadmin (新版可能需要去日志里看随机密码,输入 docker logs qbittorrent 查看)
  2. 修改下载路径

    • 点击上方菜单栏的 Tools (工具) -> Options (选项)
    • 点击左侧的 Downloads (下载)
    • 找到 Default Save Path (默认保存路径)
    • 修改为/downloads

    ⚠️ 注意:不要填 /mnt/nas_data
    因为在 Docker 容器的“世界”里,我们已经在刚才的配置文件里把外部的 /mnt/nas_data 改名为内部的 /downloads 了。

  3. 保存生效
    滚动到底部点击 Save (保存)


常见问题与维护

  1. 机顶盒重启后,qBittorrent 会自动启动吗?

    • 会。restart: unless-stopped 保证了容器开机自启。
    • 同时,fstab 里的配置保证了只要 qBittorrent 一尝试写文件,远程硬盘就会自动挂载上。
  2. 如果 NAS 没开机,机顶盒会卡死吗?

    • 不会。因为加了 nofail 参数,机顶盒会正常启动,qBittorrent 可能会报错“I/O Error”,但系统本身是正常的。等 NAS 开机后,重启一下 qBittorrent 容器即可恢复:
    docker restart qbittorrent
    
  3. 下载速度慢?

    • SMB 协议消耗 CPU。如果是千兆局域网,理论能跑满,但机顶盒 CPU 较弱时,SMB 可能占用大量 CPU 资源。这是硬件限制,配置已是最优。