在 Docker 上部署無加密連線的 aria2 + aria2 WebUI

你可能常常覺得在自己電腦上抓 BitTorrent 不方便,
不要緊,身為一個資訊人,來自己架一台伺服器,使用 aria2 下載在幾乎任何協定上的資源。

本文以 Ubuntu 14.04 作例。
本篇為未使用加密連線的架設教學,若需要有加密連線的架設教學,請參閱:https://blog.birkhoff.me/deploy-secure-aira2-and-aria2_webui-on-docker

下載 aria2 及 aria2 WebUI

其實這個步驟很多餘。
然後就跳過吧。

原因:執行 docker run 時,若本地沒有同名的 image,Docker 會自動從 Docker Hub 上抓取 image

部署 aria2 及 aria2 WebUI

請執行下列指令進行部署:

$ docker run -itd -v /data/aria2/:/data --net host timonier/aria2 --dir=/data --enable-rpc --rpc-listen-all=true  
$ docker run -itd -p 1828:80 timonier/webui-aria2

然後就部署完了,對,就是這麼簡單。

設定伺服器

你會需要 nginx 進行 reverse proxying。首先,以下列指令安裝 nginx:

$ sudo apt-get install nginx

接著,請設定 reverse proxy 的配置。這裡已經有一份參考。

server {  
        listen 80;
        listen [::]:80;

        server_name DOMAIN;

        location / {
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $remote_addr;
                proxy_pass http://127.0.0.1:1827/;
        }
}

其中,「DOMAIN」請變更為你的 aria2 WebUI 所在的網域名稱,若你只要透過 IP 位置打開就可以了,那就刪除該行。

儲存到 /etc/nginx/sites-available/aria2,然後執行:

$ ln -s /etc/nginx/sites-available/aria2 /etc/nginx/sites-enabled/aria2

然後,讓 nginx 載入設定:

$ service nginx restart

檢查上線狀態

若你有在 nginx 內設定 aria2 WebUI 的網域名稱,請以你喜好的網頁瀏覽器打開:http://domain:1828 。反之,請打開:http://ip:1828

你大概會看到這樣的畫面:

你可以試試下載這個 1GB 大小的下載測試檔案:

http://ipv4.download.thinkbroadband.com/1GB.zip

若你看到如下的畫面,說明你完成設定囉!