快轉到主要內容

使用Docker部署qBittorrent,搭配容器VPN做種

· 民國115年丙午年
·
切換正體/简体 ·
分類 Linux系統 Self-hosting自架
標籤 Torrent Docker
目錄

qBittorrent是一款開源跨平台的下載軟體,支援Linux、Windows、macOS系統,能夠下載BT種子 (.torrent) 和 磁力連結 (.magnet) 協定的檔案。

在之前的文章介紹了Linux版qBittorrent用法。本文介紹Docker版的qBittorrent裝法,界面大同小異。可以透過瀏覽器遠端存取qBittorrent的下載任務。

1. 用Docker部署qBittorrent
#

雖說qBittorrent官方有提供qbittorrentofficial/qbittorrent-nox映像檔專門用於遠端的用途,不過我認為linuxserver打包的linuxserver/qbittorrent比較完整,它包含了完整桌面客戶端並啟用WebUI做遠端存取。且這個映像檔提供x86與ARM的多架構支援。

  1. 安裝Docker

  2. 參考linuxserver官方文件,建立docker-compose

cd ~

mkdir qbittorrent

cd qbittorrent

vim docker-compose.yml
  1. 使用linuxserver打包好的映像檔部署
services:
 qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=1000 # 使用一般使用者跑服務,通常UID是1000
      - PGID=1000
      - TZ=Asia/Taipei # 設定時區
      - WEBUI_PORT=8085 # WebUI通訊埠
    volumes:
      - ./config:/config # 設定檔儲存目錄
      - ./downloads:/downloads # 下載目錄
    ports:
      - 8080:8080 # 映射容器內部的8080 port
      - 6881:6881
      - 6881:6881/udp
    restart: unless-stopped
  1. 啟動服務
sudo docker compose up -d
  1. 查看容器日誌,找到隨機產生的密碼
sudo docker ps

sudo docker logs <容器ID>
  1. 查看Linux電腦的區域IP
ip addr
  1. 進入http://電腦IP:8080網頁界面,帳號輸入admin,密碼輸入剛剛從docker logs取得的數字。

3. 遠端存取qBittorrent
#

如果要從外部網路連線到WebUI,最簡單的方法是使用內網穿透軟體

4. 做種記得開通訊埠轉發
#

如果你在下載之餘還打算做種(seeding,讓別人可以從你這邊取得檔案,也可以提昇下載速度),需要調整路由器,設定通訊埠轉發(port forwarding),將qBittorrent的通訊埠暴露至公共網路。

參考:Linux設定通訊埠轉發的方法

qBittorrent使用的通訊埠可以在工具 → 偏好設定 → 連線 → 監聽埠查看,預設為31942。

如果Linux有啟用UFW防火牆記得要允許通過:

sudo ufw allow 31942

sudo ufw reload

為提高種子下載速度,建議在qBittorrent新增追蹤器,譬如複製這裡的網址XIU2/TrackersListCollection,並在選項 → BitTorrent → 自動將這些追蹤器附加到新下載中,貼上。

5. 讓容器內的qBittorrent走VPN連線
#

Docker版qBittorrent可以搭配Gluetun,透過VPN下載種子,並達成與主機網路隔離的效果。

相關文章


感謝您的閱讀。我寫作是為了誠實表達想法,而不是追逐社群互動與流量。我很樂意傾聽你在仔細閱讀我文章之後的心得。若有內容勘誤 or 技術問題 or 回饋想法,歡迎透過本站「關於」頁面的Email與我聯絡。