797 字
4 分钟
在fnOS上通过Docker代理系统自带qBittorrent的WebUI
2025-01-11
无标签

开年第一篇文章,新年快乐~

前言#

PeerBanHelper,通过WebUI与qBittorrent通讯。通过系统自带的资源监控不难注意到,飞牛OS系统自带的下载器后后端由qBittorrent和Aria2支撑,进程名称为trim-qbittorrenttrim-aria2c。但是飞牛OS没有提供系统自带qBittorrent的原生WebUI接口,xxxuuu/fnos-qb-proxy提供了一个Go语言代理WebUI的客户端,但是没有Docker部署。

让我这个Docker小白来试试。

本文其实就是RiverKy/fnos-qb-proxy/Docker-Install.md加几句话哈,水一篇文章美滋滋。已经PR给xxxuuu/fnos-qb-proxy了,应该不久就能在那里看见。

获取所需文件#

xxxuuu/fnos-qb-proxy: Releases获取fnos-qb-proxy_linux-amd64,到RiverKy/fnos-qb-proxy获取相应的Dockerfiledocker-compose.yml

然后进行一些配置,如下。配置过程中将多次用到查找与替换的功能,建议使用支持相应功能的编辑器而非手动替换,以免出错。此外,除非您清楚地知道您在做什么,否则不建议修改其他位置的内容。

修改Dockerfile#

如果您修改了二进制文件的名称,请将如下字段中的fnos-qb-proxy_linux-amd64改为您修改的文件名:

COPY fnos-qb-proxy_linux-amd64 /usr/local/bin/fnos-qb-proxy

修改docker-compose.yml#

如果您需要自定义代理容器在宿主机上暴露的端口号(效果相当于上文中通过--port参数传入的端口号),请修改如下字段中引号左边的7777为您所需要的端口号:

    ports:
      - "7777:8086"

如果您需要自定义qBittorrent WebUI的访问密码(效果相当于上文中通过-p--password参数传入的密码),请修改如下字段中的fnosnb为您所需要的密码,注意,此处请勿将密码修改为非ASCII字符,否则qBittorrent的WebUI将错误转译密码导致登录失败:

    environment:
      - PASSWORD=fnosnb

然后开始构建并启动,如下。

构建镜像,启动容器#

有两种方法完成这件事。

SSH#

SSH访问您的主机,然后在含有Dockerfiledocker-compose.yml以及二进制文件fnos-qb-proxy_linux-amd64的目录下执行docker compose up -d

fnOS WebUI / 飞牛OS网页版#

  1. 将含有Dockerfile以及二进制文件fnos-qb-proxy_linux-amd64的目通过您喜爱的方式上传到您的飞牛,注意此时不要上传docker-compose.yml,否则可能会出现错误。并且请注意,目录需要上传到一个您接下来操作的账户能够访问的目录下。
  2. 登录您的飞牛OS网页版,进入Docker应用,在边栏中选择Compose,选择新建项目
  3. 填写项目名称,选择第一步中上传的文件夹,此时在对话框中上传docker-compose.yml,或者复制并粘贴docker-compose.yml的全部内容,注意不要打乱格式。
  4. 选择确定

此时您的容器应该正常运行,并且您将会在7777或您指定的端口号上访问飞牛自带的trim-qbittorrent的WebUI。

撒花🎉。如果是像我一样要通过Docker运行并接入PeerBanHelper,还可以通过docker inspect {Container}来获取Docker提供的容器DNS名称,解决容器间访问时的IP变换问题。

更好的BitTorrent网络环境,这何尝不是一种TECH OTAKUS SAVE THE WORLD呢。