注册
首先打开雨云官网
雨云官网网址:https://www.rainyun.com/YZJ_?s=xxx
然后登录/注册雨云(登录/注册建在右上角)
如果没注册就点击下方注册,然后如果显示“正在使用优惠通道注册”就照常输入信息
没有则优惠码填“YZJ”
1. 介绍(来自官网)
该项目是一个开源在线文件目录程序,支持本地存储和各种对象存储,类似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
项目地址:GitHub - zfile-dev/zfile: 在线云盘、网盘、OneDrive、云存储、私有云、对象存储、h5ai、上传、下载
1.3 项目展示
1.3.1 文件预览
1.3.2 画廊模式
1.3.3 视频预览
1.3.4 文本预览
1.3.5 音频预览
1.3.6 PDF预览
1.3.7 Office预览
1.3.8 3D文件预览
1.3.9 生成直链
1.3.10 后台登录
2 搭建环境
2.1 服务器
准备服务器一台,服务器要求1核1G以上就行,能搭建docker即可,本次搭建使用的是雨云的香港云服务器(2H2G),系统是Debain 10。
最好是选用非大陆的服务器,可以省去备案的时间和繁琐。
2.2 域名
准备域名一个,并将你的域名解析到服务器上,域名购买、解析自行百度。
- 域名推荐:Namesilo、雨云免费二级域名、Cloudflare
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配置好用户信息后可以看到如下界面:
如图点击框中位置后界面如下:
点击图中红框后界面如下:
按顺序填入框中信息后,保存即可。
再次编辑该代理,配置ssl证书,操作如下:
至此,反向代理配置完成!
注:在填写第三张图所示的服务器地址时,填写的为你的服务器地址,你的域名解析到你的Nginx Proxy Manager所在服务器地址,如果你的Nginx Proxy Manager地址和你的ZFile所在服务器地址是同一个,则无需注意此条。
4.3 域名访问ZFile
在浏览器访问你的域名就可以了!
完成ZFile的一些初始配置,具体可以查看官网的文档,讲的非常详细。
5 添加存储源
5.1 添加雨云对象存储(S3)
购买雨云对象存储和创建存储桶可以参考雨云的文档,非常详细
添加存储
存储策略选择S3,其他自己个人创建
如下图,根据你的雨云存储桶对应图中框内的信息。
不勾选跨域,保存设置后添加成功。
返回存储设置后可以看到添加成功的存储桶。
5.2 添加Google Drive
自建Google Drive API
- 打开 Google Drive API Console:https://console.cloud.google.com/apis/dashboard
- 点击 “启用 API 和服务”
- 搜索 google drive api
- 启用 API 功能
- 创建凭证
- 创建 OAuth2 API
- 保存好你的 Client ID 和 Client Secret
- 创建 OAuth2 屏幕
- 添加测试用户
- 完成
现在可以使用第七步保存的 Client ID 和 Client Secret 去 ZFile 填写了。
5.3 添加OneDrive
自建 OneDrive API
- 打开 Azure Portal 登录
- 国际版、个人版、E3、E5 等版本:Microsoft Azure
- 点击 “主页” → “应用注册” → “新注册”
- 填写 API 基本信息
- 名称:随意写
- 受支持的账户类型:按照上图中的选择
- 重定向 URI:左侧的类型选 WEB,右侧的地址填写 ZFile demo.zfile.vip, 所以可以写这个,实际应该按照写你自己的域名,如下图:
- 将自己的回调地址写到 ZFile 中截图的位置,如你的 ZFile 域名是 https://xxx.com,那么就写 XXX Sex - Free Porn Videos at XXX.com
- clientId
复制 clientId 备用,填写到 ZFile 中,如图: - SecretKey
点击 “证书和密码” → “新客户端密码”,然后说明(随便写),截止日期选择 24 个月,将生成的结果复制到 ZFile 中,如图: - 设置 API 权限
点击 “API 权限” → “Microsoft Graph”,依次输入需要的权限,勾选,最后点击更新权限,如图: - 完成
在 ZFile 中可以使用了,注意再确认下 OneDrive 类型是否正确,别错误把国际版和世纪互联的弄混、然后再看看是否已将 ZFile 中的 clientId 和 SecretKey 还有回调地址填写为新创建的 API 的信息。然后就可以点击 ZFile 中的 “前往获取令牌” 去使用你自定义 API 获取 OneDrive 的令牌了。获取后看看回调后的地址是否是你自定义的回调地址,如果是,那么就说明你的 API 已经配置成功了。
5.4 添加七牛云
按照如图配置即可:
5.5 添加又拍云
按照如图配置即可:
5.6 添加本地存储
按照如下配置即可:
6 结尾
本次的教程搭建完毕,有问题可以去 GitHub 提 Issues,最好是排查问题后再提问!