Docker搭建ZFile并添加存储源

注册

首先打开雨云官网

雨云官网网址:https://www.rainyun.com/YZJ_?s=xxx

 

然后登录/注册雨云(登录/注册建在右上角) 

 

如果没注册就点击下方注册,然后如果显示“正在使用优惠通道注册”就照常输入信息

 

没有则优惠码填“YZJ”

1. 介绍(来自官网)

image

image1366×373 49.7 KB

该项目是一个开源在线文件目录程序,支持本地存储和各种对象存储,类似Alist,目前使用体验非常棒。

1.1 系统特色
  • Docker、Docker Compose 支持(amd64/arm64)
  • 响应式设计,多端兼容
  • 支持文件操作:上传、下载、重命名、删除、新建文件夹等
  • 本地文件一样的操作体验,支持拖拽选择,Ctrl + 鼠标左键 多选,Shift + 单击 多选,Ctrl + A 全选,Esc 取消全选
  • 本地文件一样的上传体验,支持 Ctrl + V 粘贴上传文件/文件夹,拖拽粘贴上传文件/文件夹
  • 图片画廊模式,且支持自定义列数,间距等信息。
  • 文件夹加密
  • 目录 readme 文档
  • 文件/文件夹隐藏
  • 自定义 js, css
  • 支持在线浏览文本文件、PDF、图片、音乐、视频(支持 mp4、flv、hls)
  • 文件直链和二维码
  • 同时挂载多个存储策略
  • 支持 S3 协议,阿里云 OSS,FTP,华为云 OBS,本地存储,MINIO,OneDrive 国际/家庭/个人版/世纪互联版/SharePoint,七牛云 KODO,腾讯云 COS,又拍云 USS
1.2 相关地址

官网地址:https://zfile.vip 7

文档地址:https://docs.zfile.vip 1

社区地址:https://bbs.zfile.vip

项目地址:GitHub - zfile-dev/zfile: 在线云盘、网盘、OneDrive、云存储、私有云、对象存储、h5ai、上传、下载

前端地址:https://github.com/zhaojun1998/zfile-vue 1

1.3 项目展示
1.3.1 文件预览

image

image3014×1556 196 KB

1.3.2 画廊模式

image

image3014×1556 321 KB

1.3.3 视频预览

image

image3014×1556 271 KB

1.3.4 文本预览

image

image3014×1556 193 KB

1.3.5 音频预览

image

image3014×1556 222 KB

1.3.6 PDF预览

image

image3014×1556 215 KB

1.3.7 Office预览

image

image3024×1544 361 KB

1.3.8 3D文件预览

image

image3816×1732 209 KB

1.3.9 生成直链

image

image3014×1556 229 KB

1.3.10 后台登录

image

image3014×1556 94 KB

2 搭建环境

2.1 服务器

准备服务器一台,服务器要求1核1G以上就行,能搭建docker即可,本次搭建使用的是雨云的香港云服务器(2H2G),系统是Debain 10。
最好是选用非大陆的服务器,可以省去备案的时间和繁琐。

2.2 域名

准备域名一个,并将你的域名解析到服务器上,域名购买、解析自行百度。

2.3 安装docker

安装docker(非大陆服务器)

 

wget -qO- get.docker.com | bash

查看docker版本

 

docker -v

设置开机自启动

 

systemctl enable docker

安装docker-compose(非大陆服务器)

 

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

加执行权限

 

sudo chmod +x /usr/local/bin/docker-compose

查看docker-compose版本

 

docker-compose --version

安装docker(国内服务器)

 

curl -sSL https://get.daocloud.io/docker | sh

查看docker版本

 

docker -v

设置开机自启动

 

systemctl enable docker

安装docker-compose(国内服务器)

 

curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose #加执行权限 docker-compose --version #查看 docker-compose 版本

修改docker配置
以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘(泪的教训):

 

cat > /etc/docker/daemon.json <<EOF { "log-driver": "json-file", "log-opts": { "max-size": "20m", "max-file": "3" }, "ipv6": true, "fixed-cidr-v6": "fd00:dead:beef:c0::/80", "experimental":true, "ip6tables":true } EOF

重启docker服务

 

systemctl restart docker

2.4 手动安装Docker-compose

如果一键安装docker-compose脚本安装失败,则采用手动安装

查看服务器系统和架构

 

uname -s uname -m

下载docker-compose文件
前往GitHub:Releases · docker/compose · GitHub,下载对应的文件
通过FTP上传到服务器的指定路径下:/usr/local/bin/docker-compose
赋予可执行权限

 

chmod +x /usr/local/bin/docker-compose

创建软链接

 

ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

如果出现报错:/usr/bin/docker-compose 已经存在,删除该文件夹就好了

 

rm -rf /usr/bin/docker-compose

再次执行创建软链接就好了
查看docker-compose版本

 

docker-compose --version

3 开始搭建

3.1 搭建

创建安装目录

 

mkdir zfile cd zfile/ vim docker-compose.yml

Docker 镜像托管在 DockerHub:Docker

在docker-compose.yml中填入一下内容:

 

version: '3.3' services: zfile: container_name: zfile restart: always ports: - '8080:8080' # 左边的端口可以修改,右边的端口不要修改 volumes: - '/root/zfile/db:/root/.zfile-v4/db' # 数据库映射到当前文件夹下的db目录 - '/root/zfile/logs:/root/.zfile-v4/logs' # 日志文件映射到当前文件夹下的logs目录 - '/root/zfile/file:/data/file' # 映射了一个data目录,添加本地存储时可以填/data/file作为本地存储目录 image: zhaojun1998/zfile

没问题保存退出即可。
配置文件映射(可选)
如需映射配置文件则需要先在宿主机下载配置文件,然后映射到容器内: 下载 application.properties 文件到 /root 目录下, 此目录可自行更改, 命令如:

 

curl -k -o /root/application.properties https://c.jun6.net/ZFILE/application.properties

然后增加一个 -v 参数(见下面倒数第二行),将此源文件映射到容器内(如修改宿主机的 application.properties 为其他路径, 则下面命令也要一起修改), 如:

 

version: '3.3' services: zfile: container_name: zfile restart: always ports: - '8080:8080' volumes: - '/root/zfile/db:/root/.zfile-v4/db' - '/root/zfile/logs:/root/.zfile-v4/logs' - '/root/zfile/file:/data/file' - '/root/application.properties:/root/application.properties' image: zhaojun1998/zfile

提示: 启动容器后无法修改文件映射,需先 docker rm -f zfile 删除容器,再重新运行命令。

运行

 

cd zfile/ docker-compose up -d

等待拉取镜像,拉取完成后可以查看容器是否运行:

 

docker ps

打开防火墙端口
在你的服务器打开8080端口,在各大云服务商控制面板自行配置安全组放行端口,有些云厂商默认全部打开,如狗云。

访问ZFile
在浏览器输入:你的服务器IP:8080即可访问。
IP + 端口太不优雅了,建议还是搞一个域名,容易记,看起来也更正规一点。这样可以做 https,会让网页更安全。
域名访问请往下看!

3.2 更新
 

cp -r /root/zfile /root/zfile.archive # 备份(可选) cd /root/zfile # 进入docker-compose所在的文件夹 docker-compose pull # 拉取最新的镜像 docker-compose up -d # 重新更新当前镜像

3.3 卸载
 

cd /root/zfile # 进入docker-compose所在的文件夹 docker-compose down # 停止容器,此时不会删除映射到本地的数据 rm -rf /root/data/docker_data/zfile # 完全删除映射到本地的数据

4 反向代理

4.1 安装Nginx Proxy Manager

创建安装目录

 

mkdir -p /root/npm cd /root/npm

docker安装npm

 

vim docker-compose.yml

在docker-compose.yml中输入以下内容:

 

version: '3' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: - '80:80' # 保持默认即可,不建议修改左侧的80 - '81:81' # 冒号左边可以改成自己服务器未被占用的端口 - '443:443' # 保持默认即可,不建议修改左侧的443 volumes: - ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中 - ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中

确认无误后保存,退出。
运行

 

cd /npm docker-compose up -d

等待拉取镜像,拉取完成后可查看容器是否正常运行,输入:

 

docker ps

网页访问Nginx Proxy Manager
打开防火墙的81端口,输入:服务器ip:81即可访问Nginx Proxy Manager。
默认登录名和密码:

 

Email: admin@example.com Password: changeme

4.2 ZFile配置域名

登录Nginx Proxy Manager
访问如上所示,网页访问Nginx Proxy Manager配置好用户信息后可以看到如下界面:

 

image

image1852×832 54.4 KB


如图点击框中位置后界面如下:

 

image

image1834×796 51.5 KB


点击图中红框后界面如下:

 

image

image1828×852 64.4 KB


按顺序填入框中信息后,保存即可。
再次编辑该代理,配置ssl证书,操作如下:

 

image

image1844×884 73 KB


至此,反向代理配置完成!

注:在填写第三张图所示的服务器地址时,填写的为你的服务器地址,你的域名解析到你的Nginx Proxy Manager所在服务器地址,如果你的Nginx Proxy Manager地址和你的ZFile所在服务器地址是同一个,则无需注意此条。

4.3 域名访问ZFile

在浏览器访问你的域名就可以了!
完成ZFile的一些初始配置,具体可以查看官网的文档,讲的非常详细。

5 添加存储源

5.1 添加雨云对象存储(S3)

购买雨云对象存储和创建存储桶可以参考雨云的文档,非常详细
添加存储
存储策略选择S3,其他自己个人创建

 

image

image1839×873 76.4 KB


如下图,根据你的雨云存储桶对应图中框内的信息。

 

image

image1624×739 55.7 KB


不勾选跨域,保存设置后添加成功。

 

image

image1745×752 63.6 KB


返回存储设置后可以看到添加成功的存储桶。

5.2 添加Google Drive

自建Google Drive API

  1. 打开 Google Drive API Console:https://console.cloud.google.com/apis/dashboard
  2. 点击 “启用 API 和服务”

    image

    image1190×774 51.7 KB

  3. 搜索 google drive api

    image

    image1980×774 73.5 KB

  4. 启用 API 功能

    image

    image1156×516 35.4 KB

  5. 创建凭证

    image

    image1156×516 35.4 KB

  6. 创建 OAuth2 API

    image

    image1270×1478 139 KB

  7. 保存好你的 Client ID 和 Client Secret

    image

    image824×678 47.3 KB

  8. 创建 OAuth2 屏幕

    image

    image1702×1616 141 KB

  9. 添加测试用户

    image

    image1384×1538 110 KB

  10. 完成
    现在可以使用第七步保存的 Client ID 和 Client Secret 去 ZFile 填写了。
5.3 添加OneDrive

自建 OneDrive API

  1. 打开 Azure Portal 登录
  1. 点击 “主页” → “应用注册” → “新注册”

    image

    image775×670 53.5 KB

  2. 填写 API 基本信息

    image

    image858×715 61.6 KB

  • 名称:随意写
  • 受支持的账户类型:按照上图中的选择
  • 重定向 URI:左侧的类型选 WEB,右侧的地址填写 ZFile demo.zfile.vip, 所以可以写这个,实际应该按照写你自己的域名,如下图:
  • 将自己的回调地址写到 ZFile 中截图的位置,如你的 ZFile 域名是 https://xxx.com,那么就写 XXX Sex - Free Porn Videos at XXX.com

    image

    image1233×759 68.5 KB

  1. clientId
    复制 clientId 备用,填写到 ZFile 中,如图:

    image

    image819×363 35.8 KB

  2. SecretKey
    点击 “证书和密码” → “新客户端密码”,然后说明(随便写),截止日期选择 24 个月,将生成的结果复制到 ZFile 中,如图:

    image

    image1495×716 65.4 KB

  3. 设置 API 权限
    点击 “API 权限” → “Microsoft Graph”,依次输入需要的权限,勾选,最后点击更新权限,如图:

    image

    image1496×718 107 KB

  4. 完成
    在 ZFile 中可以使用了,注意再确认下 OneDrive 类型是否正确,别错误把国际版和世纪互联的弄混、然后再看看是否已将 ZFile 中的 clientId 和 SecretKey 还有回调地址填写为新创建的 API 的信息。然后就可以点击 ZFile 中的 “前往获取令牌” 去使用你自定义 API 获取 OneDrive 的令牌了。获取后看看回调后的地址是否是你自定义的回调地址,如果是,那么就说明你的 API 已经配置成功了。
5.4 添加七牛云

按照如图配置即可:

 

image

image3692×1044 121 KB

5.5 添加又拍云

按照如图配置即可:

 

image

image2190×1453 111 KB

 

image

image1529×1848 147 KB

5.6 添加本地存储

按照如下配置即可:

 

image

image1760×809 55.8 KB

6 结尾

本次的教程搭建完毕,有问题可以去 GitHub 提 Issues,最好是排查问题后再提问!

  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值