继前几天把emby媒体库搬到onedrive后,发现漫画也可以扔上去。但漫画资源这种用qb就不太方便了,想起来之前用过的aria2,比较适合bt+直链下载都要兼容的需求。自从去年有了nas之后,我基本没用过onedrive了,但今年不在家时间比较多,朋友也想看,家宽水管就实在不够了,大盘鸡又有点贵,因此又用回了onedrive。
两天后更新添加:前两天写的时候脑子不清醒,操作到一半想起来,pt不能用aria2啊。所以还是用上面文章的方法,给qb种子加标签用来区分上传的onedrive和路径了。
实际运行又发现一个问题,onedrive下载太慢了。。漫画大多是cbz文件,得完整下载才能刮削和查看,这就很折磨了。所以漫画放在onedrive再挂载的体验极差,可能还是得放在本地。
另外,我用的这个镜像image: wahyd4/aria2-ui,也有些问题,比如要手动创建一些文件,自动上传脚本好像不能用 这类问题。我还没细看不能上传是哪里的问题,有机会再说吧。
这篇文章还保留是为了方便以后直接ctrlcv部署aria套装。
工作流程
Aria2是下载工具,AriaNG是webui管理前端,Rclone用于将下载的文件上传到网盘,FileBrowser用于便捷查看文件。
其中通过aria2.conf可以配置根据下载状态执行脚本,比如:
# 下载完成时触发
on-download-complete=/config/on-complete.sh
# 下载开始时触发
on-download-start=/config/on-start.sh
# 下载出错时触发
on-download-error=/config/on-error.sh
aria2可以传递参数给脚本,比如:
# 脚本接收的参数
$1 # GID (全局唯一标识符)
$2 # 文件数量
$3 # 文件路径(单文件时是文件路径,多文件时是目录路径)
$4 # 下载状态(仅部分事件会传递)
以此实现下载完成后执行脚本,使用rclone上传文件到网盘,然后删除本地文件。
docker安装应该会附带配置脚本。 并不会,得手动下载。
安装流程
安装docker compose环境
docker-compose.yml
services:
aria2-ui:
restart: unless-stopped
image: wahyd4/aria2-ui:latest
container_name: aria
environment:
- ENABLE_AUTH=true
- ARIA2_USER=修改用户名
- ARIA2_PWD=修改密码
- DOMAIN=http://你的域名
- ENABLE_FILEBROWSER=false # 如果不需要filebrowser可以禁用
- PUID=1000
- PGID=1000
volumes:
- ./data:/data
- ./config:/app/conf
- ./app/filebrowser.db:/app/filebrowser.db
networks:
default:
external: true
name: dockernetwork
此配置文件默认不暴露端口,直接使用npm反代容器:80,我觉得这样比较安全方便。
创建必要的目录和文件:
# 创建目录
mkdir -p data config app
# 创建必要的文件
touch config/aria2.session
touch app/filebrowser.db
wget https://raw.githubusercontent.com/wahyd4/aria2-ariang-docker/master/conf/aria2.conf -O ./config/aria2.conf
wget https://raw.githubusercontent.com/wahyd4/aria2-ariang-docker/master/conf/auto-upload.sh -O ./config/auto-upload.sh
wget https://raw.githubusercontent.com/wahyd4/aria2-ariang-docker/master/conf/aria2-sample-hook.sh -O ./config/aria2-sample-hook.sh
# 设置正确的权限
sudo chown -R 1000:1000 data config app
启动容器:
docker compose up -d
在npm设置反代,记得要开启ws支持(aria2 RPC 需要)
web配置
AriaNG
直接访问域名,使用你设置的ARIA2_USER和ARIA2_PWD登录。
如果你使用https,可能需要修改rpc端口以正确连接aria2
此配置也可以在docker-compose.yml通过环境变量指定,我懒得改了 - ARIA2_EXTERNAL_PORT=443
FileBrowser
访问 你的域名/files,默认账号密码是admin/admin,登录修改。
Rclone webui
你的域名/rclone,账号密码是你设置的ARIA2_USER和ARIA2_PWD。
好像没什么用,作者在文档里说:
如何配置
Rclone
? 如果您想连接Google Drive
类似的云存储平台,很遗憾您无法通过浏览器配置,因为网页版本Oauth
方式在这里是用不了的,您只能通过命令行的形式来配置,即rclone config
。 详请请参考官网在远程/无头机器上配置 rclone以及详细步骤请参考问题
你也可以查看这篇文章的前三节,里面详细写了从创建azure api到挂载rclone的流程。
配置Rclone
因为我的需求是下载漫画后上传到onedrive,但还要在本地挂载onedrive供komga读取。因此总是还要在外部配置rclone的。配置完成后可以直接把rclone的配置文件拿来给这个docker使用:
cp ~/.config/rclone/rclone.conf ./config/
之后重启容器,可以发现rclone已经正确获取了配置文件
在本文安装流程部分已经下载了自动上传脚本:
有时间再改一下脚本,现在要用docker传入环境变量,也不能根据条件区分上传路径,还有优化空间。
参考
https://github.com/wahyd4/aria2-ariang-docker/blob/master/README.CN.md
暂无评论内容