Skip to content

Docker部署Aria2 Pro下载完自动转移到Google Drive

基本思路:

  • 自动加载 Google Drive 到本地
  • 安装设置 Aria2 Pro
  • (Jump)设置号好下载完之后自动 Rclone Move 到 Google Drive

主要参考了这篇外部档案.

Google Drive

参考本馆档案 – 不过这步做不做都 ok.

Aria2 Pro

  • 1- 运行
# 先建几个必要的目录
## 远程的google drive 上的 vps specific folder - 待会自动上传用

drivename='gd_omgd'
# google drive上将来可以直接目录分享_psn_${drivename}出去,不能直接分享整个盘
mkdir -p ~/${drivename}/_psn_${drivename}/_vps/$(hostname)

# 如果是以buyvmlv为例子的话
# mkdir -p ~/gd_omgd/_psn_gd_omgd/_vps/buyvmlv

## 本地的 downloads & config folder
mkdir -p /data/aria2-pro && ln -s /data/aria2-pro ~/aria2-pro && mkdir -p ~/aria2-pro/config ~/aria2-pro/downloads


# rclone 就会将 ~/aria2-pro/config/aria2.conf 当中的改掉
## on-download-complete=/config/autoupload.sh
# 首先会 check /config 是否有本地的 aria2.conf, 没有就从云端下载
## 端口可以看需要修改 - 如果要多开几个下载器(比如针对 google/onedrive 各搞一个), 那么就修改 --name, RPC_PORT, LISTEN_PORT, config, downloads 这5个地方
ARIA2PRO_PWD='Aria1___ReplaceByYourOwnPwd___'
docker run -d \
    --name aria2-pro \
    --restart unless-stopped \
    --log-opt max-size=2m \
    --network host \
    -e PUID=$UID \
    -e PGID=$GID \
    -e RPC_SECRET=${ARIA2PRO_PWD}\
    -e RPC_PORT=6800 \
    -e LISTEN_PORT=16800 \
    -v ~/aria2-pro/config:/config \
    -v ~/aria2-pro/downloads:/downloads \
    -e SPECIAL_MODE=rclone \
    p3terx/aria2-pro

# 如果需要修改配置
echo 'bt-stop-timeout=3600' >> ~/aria2-pro/config/aria2.conf
# docker 内配置 rclone
docker exec -it aria2-pro rclone config
## 根据提示, 参考本馆档案 - https://wp.me/pbMP7b-nL
#或者直接copy宿主机上面的rclone配置
cp /root/.config/rclone/rclone.conf ~/aria2-pro/config/rclone.conf

# check 
docker exec -it aria2-pro rclone about gd_omgd:
  • 2- AriaNG

参考本馆档案

  • 3- 到此, 下载没有问题了.

Rclone Move

# 在 autoupload 脚本当中修改和 Google Drive 相关的一些配置
vi ~/aria2-pro/config/upload.sh

我改了这么3个地方

# Rclone 配置时填写的网盘名(name)
DRIVE_NAME='gd_omgd'

# 网盘目录。即上传目标路径,留空为网盘根目录,末尾不要有斜杠。
# 改成你自己的目录
DRIVE_PATH='/_psn_gd_omgd/_vps/buyvmlv'

# 日志保存路径。注释或留空为不保存。
LOG_PATH='/config/autoupload.log'

Docker 不用重启, 毕竟是调用外部的脚本.

封面图片就是最终效果.

Leave a Reply

Your email address will not be published.