Docker搭建Nextcloud私有云++Aria2下载器

最近需要从国外某网站下载一个大的数据集,不知道为什么总是断流,而且不能续传,非常烦人。后来想了想,可以在国外的vps上搭一个私人云盘,然后先把数据下到vps上,再下到我的本机上,曲线救国。然后搜索了下发现Nextcloud+Aria2是比较好的一个选择,而且有docker,十分的方便,就简单部署了一下。

其中docker-compose.yml如下,其中的端口映射因为我这台vps上已经有了一个网站了,占用了80和443端口,所以修改了一下外部端口。

version: '3.5'

services:
  nextcloud:
    image: nextcloud:latest
    volumes:
      - ./data/nextcloud:/var/www/html:rw # moutn nextcloud files folder
      - ./data:/data:rw # mount your personal data folder
    restart: always
  aria2:
    image: wahyd4/aria2-ui:nextcloud
    ports:
      - "2480:80"
      - "2443:443"
    volumes:
      - ./data:/data # mount your personal data folder
    environment:
      - DOMAIN=:80
    links:
      - nextcloud:file-manager
    restart: always

写好之后我们直接docker-compose up -d启动,访问http://ip:2480即可登录nextcloud,http://ip:2480/ui/ 则是Aria2NG的管理页面。

如果nextcloud启动报错,多半是文件夹权限问题,在 yml所在目录输入

chown www-data:www-data -R data/nextcloud

即可。

为了能让nextcloud和aria2共享存储文件夹,还需要在nextcloud的设置界面配置外部存储,把/data 配置为本地外部存储即可,

首先打开应用,启用 External Storage app。

然后在 设置->管理->外部存储 这里配置,目录名称随便写,增加存储选本地,配置写/data 可用于选择现在用的账户名,最后打上对勾即可,一切正常则整行前面会出现一个绿色的对号。

后来我又想用https域名访问,便用nginx配置了下反代,conf如下:

server {
        listen 2096 ssl;
        ssl_protocols         TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers           HIGH:!aNULL:!MD5;
    server_name sunxiaochuannmsl.xyz;
        index index.html index.htm;

    root  /var/www/html;

        location / {
        proxy_pass http://127.0.0.1:2480;
    }

    ssl_certificate /etc/letsencrypt/live/<YOUR DOMAIN NAME>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<YOUR DOMAIN NAME>/privkey.pem;
}

设置完之后重启nginx就好了。

此时即可享受国外服务器的高速下载了。。。

文件会存储在nextcloud的相应文件夹里

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据