目 录CONTENT

文章目录

搭建在线网盘zfile

GrantLi
2023-05-18 / 0 评论 / 0 点赞 / 395 阅读 / 4579 字 / 正在检测是否收录...

一、项目概述

基于 Java 的在线网盘程序,支持对接 S3、OneDrive、SharePoint、又拍云、本地存储、FTP 等存储源,支持在线浏览图片、播放音视频,文本文件等文件类型。

系统特色

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

二、安装

模式一:Docker

配置说明
下方高亮部分,可自定义端口和数据目录:
端口号:第 2 行冒号左侧的 8080 表示对外暴露的端口号,如其他程序占用,则请修改为其他端口号。
数据目录:第 5 行的 -v /root/zfile/file:/data/file \ 为映射宿主机文件夹 /root/zfile/file 到容器内的 /data/file 文件夹,这样需要在 ZFile 添加本地存储时,填写容器内目录 /data/file 就等同于访问宿主机的 /root/zfile/file 目录了。 这一行按照自己的需求修改,如果不需要映射本地存储,则可以删除这一行。

1. 配置文件映射

如需映射配置文件则需要先在宿主机下载配置文件,然后映射到容器内: 下载 application.properties 文件到 /root 目录下, 此目录可自行更改, 命令如:

sudo curl -k -o /root/application.properties https://c.jun6.net/ZFILE/application.properties
2. 安装zfile

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

docker run -d --name=zfile --restart=always \
    -p 8081:8080 \
    -v /root/zfile/db:/root/.zfile-v4/db \
    -v /root/zfile/logs:/root/.zfile-v4/logs \
    -v /root/zfile/file:/data/file \
    -v /root/application.properties:/root/application.properties \
    zhaojun1998/zfile
3. 自动更新版本

每 3600 秒 (1小时)自动检测更新名称为 zfile 的容器

docker run -d \
    --name watchtower \
    --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    --cleanup \
    zfile \
    -i 3600

模式二:Docker Compose

1. 配置文件映射

如需映射配置文件则需要先在宿主机下载配置文件,然后映射到容器内: 下载 application.properties 文件到 /root 目录下, 此目录可自行更改, 命令如:

sudo curl -k -o /root/application.properties https://c.jun6.net/ZFILE/application.properties
2. 安装zfile

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

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
3. 自动更新版本

每 3600 秒 (1小时)自动检测更新名称为 zfile 的容器

docker run -d \
    --name watchtower \
    --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    --cleanup \
    zfile \
    -i 3600
0

评论区