首先有一个完全不需要配置的现成方案,直接用docker run
运行就可以使用了,项目地址:https://github.com/jae-jae/docker-pan。
这个方案利用的是Aria2
的web ui
来实现下载管理,Filerun
来实现文件的管理的,下载后端是Aria2
这个开源的下载软件。
本篇文章要讲的是在NextCloud
里面添加离线下载的功能,就类似于百度网盘的离线下载一样的。
我的nextcloud
是用docker
运行的,不用docker
运行的话也是类似的。
首先是在nextcloud
的管理后台安装应用ocdownloader
。
作者的github
项目主页是:https://github.com/e-alfred/ocdownloader
这个应用的下载后端可以是curl
和Aria2
,这里不管curl
,只用Aria2
做下载后端,因为curl
支持http
和ftp
下载,没有bt
下载的功能。
新增Aria2
配置(aria2.conf
):
daemon=true
listen-port=6887 #这个和下面这个端口配置可以不要,会自动随机一个端口
dht-listen-port=6885
seed-ratio=1.0 #这个是分享率设置
max-overall-upload-limit=2M #全局最大上传速度
max-upload-limit=512K #单个任务最大上传速度
max-download-limit=8M #单个任务最大下载速度
enable-rpc=true #这个一定要
rpc-allow-origin-all=true
rpc-save-upload-metadata=true
log=/var/aria2/aria2.log
check-certificate=false
#save-session和input-file是一定要的,否则如果重启了aria2,没下载完的任务就没了
save-session=/var/aria2/aria2c.sess
save-session-interval=10
input-file=/var/aria2/aria2c.sess
continue=true
log-level=warn
dht-file-path=/var/aria2/dht.dat
dht-file-path6=/var/aria2/dht6.dat
这里只是aria2
的部分常用配置,可以按照自己的需求根据文档自由增减。
Dokcerfile
文件内容:
#基于nextcloud官方最新版镜像构建
FROM nextcloud:latest
#https://github.com/e-alfred/ocdownloader
RUN apt-get update; \
apt-get install -y aria2 sudo curl python; \
rm -rf /var/lib/apt/lists/*;
#youtube-dl是用来下载youtube视频的
#install youtube-dl
#link: https://github.com/rg3/youtube-dl
RUN curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
RUN chmod a+rx /usr/local/bin/youtube-dl
ADD ./run.sh /var/www
RUN chmod +x /var/www/run.sh
RUN mkdir /var/aria2; \
#这个文件一定要先手动创建,否则Aria2就运行不起来了
#这是我测试了好多遍测试出来的问题,因为按照作者项目里面的运行命令运行是没有任何反应的,不会报错,Aria2也没运行起来。
touch /var/aria2/aria2c.sess; \
chown -R www-data:root /var/aria2
RUN mkdir /etc/aria2
ADD ./aria2.conf /etc/aria2
#这个可以不要
EXPOSE 6800
CMD ["/bin/bash", "-c", "/var/www/run.sh"]
run.sh
,这个是docker
CMD
指令的启动文件:
#!/bin/bash
#nextcloud的运行用户是www-data,所以aria2也是以这个用户来运行
sudo -u www-data aria2c -D --conf-path=/etc/aria2/aria2.conf
apache2-foreground
docker-compose.yml
文件内:
version: '3'
services:
nextcloud:
image: nextcloud:local
build: .
container_name: nextcloud
#这个端口映射可以不要,开不开放对下载没影响
ports:
- "6885:6885/udp"
- "6887:6887"
volumes:
- ./www:/var/www/html
- ./data:/var/www/data
把上述所有文件放在一个文件夹里面,这里取名为nextcloud
。
最后在nextcloud
目录里面执行命令:sudo docker-compose up -d
如果要重新构建容器,用以测试,可以先执行:sudo docker-compose down --rmi all
命令,先删除容器,--rmi
参数是会删除对应的镜像,然后再执行上面运行容器的命令。
正常的话到这里就安装插件结束了,然后可以使用NextCloud
来做离线下载了。
还有一点提示,如果你需要使用youtube-dl
来下载YouTube
的视频的话,需要到NextCloud
管理后台设置一下可执行文件路径。
设置位置是管理
其他设置
ocdownloader
YouTUbe DL二进制文件路径
,本文的路径是/usr/local/bin/youtube-dl
。
最后放一张效果图:
使用起来感受是,下载国内的BT种子没什么速度,估计是迅雷用的多,迅雷又不会给其他下载软件上传资源,国外的一些资源速度到挺快的。
本文链接:https://360us.net/article/56.html