如何在Linux下部署自己的ZFile开源网盘

ZFile 项目介绍

ZFile是一个功能强大、灵活的开源网盘系统,为用户提供安全便捷的文件存储和共享方案。

项目概述

ZFile由ZFile, Inc.开发和维护,基于Docusaurus构建。其用户友好的界面支持多种文件存储和共享功能,并具备高度的可定制性和扩展性,以适应各种使用场景。

功能特点

ZFile的主要功能包括:

  • 文件夹密码/加密:增强文件安全性。
  • 文件夹管理:方便文件的组织和分类。
  • 文件/文件夹隐藏:保护用户隐私。
  • 在线视频播放:直接在网盘中观看视频。
  • 在线文本预览:无需下载即可查看文本内容。
  • 在线音频播放:在线收听音乐。
  • 在线PDF预览:方便查看和分享PDF文档。
  • 在线Office预览:支持Word、Excel、PowerPoint等文档预览。

存储源支持

ZFile支持多种存储源,包括但不限于本地存储、OneDrive、阿里云OSS、腾讯云COS、七牛云Kodo、又拍云USS等,用户可根据实际需求选择合适的存储方案。

ZFile凭借其强大的功能和特性,成为个人用户和企业用户的理想开源网盘解决方案。

以下将介绍如何在Linux服务器上进行部署,包括基础部署和Docker部署两种方式。

官方Demo:https://demo.zfile.vip/local-demo

Github仓库:https://github.com/zfile-dev/zfile

官方Demo截图:

https://paste.c-net.org/LuringRenewed

环境准备

服务器准备

必要条件:

  • 具备公网IP的Linux服务器(推荐腾讯云、阿里云或雨云等)。
  • 本教程以雨云为例,新用户注册可享优惠。 注册链接:https://www.rainyun.com/NTEzMTM1_?s=blog

创建云服务器

  1. 点击“云产品”→“云服务器”→“立即购买”。

https://paste.c-net.org/TomatoJaded

  1. 选择距离您较近的区域,以降低延迟。

https://paste.c-net.org/BristowStevie

  1. 建议带宽上传下载速度均大于30M,处理器和内存选择2核4G即可。更高配置可提升上传下载速度。

https://paste.c-net.org/BratsFrost

  1. 选择Ubuntu 22.04版本,并勾选预装Docker。

https://paste.c-net.org/ForgotRewrite

  1. 点击“立即购买”,并完成后续购买流程。 购买完成后,等待服务器部署完毕,进入管理面板,找到远程连接信息。

https://paste.c-net.org/MasksChance

https://paste.c-net.org/YankeeWelch

  1. 使用PowerShell进行远程连接:输入ssh root@你的服务器IP (例如ssh root@154.9.227.239),首次连接需输入yes,然后回车即可登录。

https://paste.c-net.org/ChantLuxury

https://paste.c-net.org/TonguesPromos

Linux 服务器部署 ZFile 教程

1. 安装依赖

在首次部署 ZFile 之前,需要安装一些依赖。以下是针对 CentOS 和 Ubuntu 的依赖安装命令:

  • 对于 CentOS:

    yum install -y java-1.8.0-openjdk unzip -y
    
  • 对于 Ubuntu:

    # Ubuntu 的具体命令可能略有不同,通常需要安装 openjdk-8-jdk 和 unzip
    sudo apt-get update
    sudo apt-get install openjdk-8-jdk unzip -y
    

2. 下载并解压

export ZFILE_INSTALL_PATH=~/zfile
mkdir -p $ZFILE_INSTALL_PATH && cd $ZFILE_INSTALL_PATH
wget --no-check-certificate https://c.jun6.net/ZFILE/zfile-release.war
unzip zfile-release.war && rm -rf zfile-release.war
chmod +x $ZFILE_INSTALL_PATH/bin/*.sh

3. 启动项目

使用以下命令启动 ZFile:

~/zfile/bin/start.sh       # 启动

输出:

➜  zfile ~/zfile/bin/start.sh       # 启动
apm home:
OPTS param:
Starting the zfile-4.1.5 ...OK!
PID: 29872
➜  zfile                    

启动后,通过浏览器访问 http://ip:8080 来查看 ZFile 是否成功启动。如果无法访问,请检查端口是否冲突或防火墙/安全组是否开启。可以通过在服务器执行 curl http://127.0.0.1:8080 来简单检查:

  • 返回curl: (7) Failed connect to 127.0.0.1:8080; Connection refused表示启动失败。
  • 返回HTML代码表示启动成功。

4.网页操作步骤

  1. 创建管理员账号。

https://paste.c-net.org/CivilianRance

  1. 创建存储策略(例如本地存储)。

https://paste.c-net.org/DiamondsScottish

  1. 保存配置后,访问http://you_server_ip:8080即可查看本地存储,并进行文件上传。

https://paste.c-net.org/PlantsNineties

5. 其他命令

  • 启动:~/zfile/bin/start.sh
  • 停止:~/zfile/bin/stop.sh

6. 配置文件路径

配置文件路径:~/zfile/WEB-INF/classes/application.properties

7. 更新版本

注意:更新前务必停止ZFile服务。

~/zfile/bin/stop.sh
rm -rf ~/zfile
export ZFILE_INSTALL_PATH=~/zfile
mkdir -p $ZFILE_INSTALL_PATH && cd $ZFILE_INSTALL_PATH
wget --no-check-certificate https://c.jun6.net/ZFILE/zfile-release.war
unzip zfile-release.war && rm -rf zfile-release.war
chmod +x $ZFILE_INSTALL_PATH/bin/*.sh
~/zfile/bin/start.sh

Docker 部署

1. 安装介绍

ZFile Docker镜像地址:https://hub.docker.com/r/zhaojun1998/zfile

备用镜像:

  • 香港:swr.ap-southeast-1.myhuaweicloud.com/zfile-dev/zfile:latest
  • 北京:swr.cn-north-1.myhuaweicloud.com/zfile-dev/zfile:latest

2. 基本部署命令

docker run -d --name=zfile --restart=always \\
    -p 8080:8080 \\
    -v /root/zfile/db:/root/.zfile-v4/db \\
    -v /root/zfile/logs:/root/.zfile-v4/logs \\
    -v /root/zfile/file:/data/file \\
    zahojun1998/zfile:latest
  • 8080端口可根据实际情况修改。
  • /root/zfile/file映射到容器内的/data/file,用于本地存储映射,可根据需要修改或删除。

3. 配置文件映射

  1. 下载配置文件:curl -k -o /root/application.properties https://c.jun6.net/ZFILE/application.properties

  2. 修改Docker命令,增加配置文件映射:

docker run -d --name=zfile --restart=always \\
    -p 8080: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 \\
    zahojun1998/zfile:latest

4. Docker Compose 部署

docker-compose.yml文件示例:

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'
        image: zhaojun1998/zfile:latest

带配置文件映射的示例:

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:latest

5. 更新版本

  • 手动更新:单次手动更新名称为 zfile 的容器:
docker run --rm \\
    -v /var/run/docker.sock:/var/run/docker.sock \\
    containrrr/watchtower \\
    --cleanup \\
    --run-once \\
    zfile
  • 自动更新:每 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

相关链接
雨云 - 新一代云服务提供商: https://www.rainyun.com/NTEzMTM1_?s=blog
我的博客:https://blog.ivwv.site

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/906836.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

StandardThreadExecutor源码解读与使用(tomcat的线程池实现类)

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java源码解读-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 目录 1.前言 2.线程池基础知识回顾 2.1.线程池的组成 2.2.工作流程 2…

VBA字典与数组第二十讲:如何在代码运行时创建数组

《VBA数组与字典方案》教程(10144533)是我推出的第三套教程,目前已经是第二版修订了。这套教程定位于中级,字典是VBA的精华,我要求学员必学。7.1.3.9教程和手册掌握后,可以解决大多数工作中遇到的实际问题。…

J2:ResNet50v2算法实战与解析

J2周:ResNet50V2算法实战与解析 论文解读1、ResNetV2结构与ResNet结构对比☕2、关于残差结构的不同尝试☕3、关于激活的尝试☕ Pytorch实现ResNet50V2算法1、导入库并设置GPU2、导入和检查数据3、划分数据集4、搭建ResNet-50V2模型Residual BlockStack(堆…

MFC图形函数学习04——画矩形函数

MFC中绘制矩形函数是MFC的基本绘图函数,它的大小和位置由左上角和右下角的坐标决定;若想绘制的矩形边框线型、线宽、颜色以及填充颜色都还需要其它函数的配合。 一、绘制矩形函数 原型:BOOL Rectangle(int x1,int y1,int x2,int y2); …

新手BUG:在声明了返回值的函数中不写返回值

本文对两个分别以int和string为返回值类型的函数进行分析,说明了在有返回值的函数中不写返回值会产生的问题。然后给出在编译阶段检查出这样的问题的办法。 一、背景 在软件测试环节发现,函数会在返回之前coredump。经过排查发现,在这个会…

机器人技术革新:人工智能的强力驱动

内容概要 在当今世界,机器人技术与人工智能的结合正如星星与大海,彼此辉映。随着科技的不断进步,人工智能不仅仅是为机器人赋予了“聪明的大脑”,更是推动了整个行业的快速发展。回顾机器人技术的发展历程,我们会发现…

外网访问 Immich 照片管理软件

Immich 是一个自托管的照片和视频备份的平台,它允许用户在私有服务器上存储、管理和分享他们的照片,视频等媒体文件。 第一步,本地部署安装 Immich 1,检查 Docker 服务状态,确保 Docker 正常运行。 systemctl statu…

电脑软件:推荐一款免费且实用的电脑开关机小工具

目录 一、软件简介 二、软件功能 三、软件特点 四、使用说明 五、软件下载 今天给大家推荐一款免费且实用的电脑开关机小工具KShutdown,有需要的朋友可以下载试一下! 一、软件简介 KShutdown是一款精巧且实用的定时自动关机小工具,对于…

Manus在虚拟现实仿真模拟中的应用案例分享

Manus虚拟现实手套作为一种高精度的人机交互设备,在仿真模拟领域展现出了巨大的应用潜力。通过提供实时、准确的手指动作捕捉数据,Manus手套为多个行业带来了前所未有的仿真体验,推动了技术发展和应用创新。 技术特点 1. 高精度手指跟踪 Ma…

ensp中acl的使用

拓扑图及其要求如下 基础配置 检查此上R2配置错误,undo重新写 检查手写配置无误 按要求写配置 要求1完成 因为一个接口的入或者出方向上 只能调用一张acl表格,所以要求二照样在R1上面写 要求3

5. STM32之TIM实验--输出比较(PWM输出,电机,四轴飞行器,智能车,机器人)--(实验5:PWM驱动直流电机)

作者:Whappy,日期:2024.10.29,决战STM32 直流电机的控制就比较简单了,只有数据线和地线,正接正转,反接反转,为了方便,本实验采用H桥电路来控制电机的正反转,H桥电路也很简单,就是4个MOS管构成的2路推挽输出电路. 注:基本上大功率器件,单片机基本上是无法驱动的,都是要靠一部分…

Python基础知识汇总(建议收藏再观看)!

1.执行脚本的两种方式 Python a.py 直接调用Python解释器执行文件 chomd x a.py ./a.py #修改a.py文件的属性,为可执行,在用 ./ 执行a.py 文件 2、简述位、字节的关系 1bytes8bit ,2**8256,可以代表256中变化, 3、简述 ascii、unicode、…

Java中IO的高级操作

目录 缓冲流 缓冲字节输入流: 缓冲字节输出流: 缓冲字符输入流: 缓冲字符输出流: 转换流 转换流字符输入: 转换流字符输出: 练习案例: 打印流 字节打印流: 字符打印流&a…

Matlab高光谱遥感

原文链接:Matlab高光谱遥感https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247623643&idx5&sne4557ed43728f851140b100f42286988&chksmfa8da23ccdfa2b2a4d795bf4087f672faaa7082d1f52e046616ab7bf196a6eef89ea553d06b1&token1392391660&…

ssm+jsp663数学课程评价系统的设计与开发

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

openssl-ec-chn命令手册

openssl-ec命令处理EC(Elliptic Curve,椭圆曲线)密钥。使密钥可以在各种形式之间转换,并打印出其组件。注意:OpenSSL使用“SEC 1:椭圆曲线密码学(Elliptic Curve Cryptography)”中指定的私钥格…

(JVM)深入JAVA底层 JVM(Java 虚拟机)!带你认识JVM、程序计数器、JVM栈和方法栈还有堆内存!看看JAVA针对这些内存空间都做了什么吧!

1. 什么是JVM java 二进制字节码的运行环境,简称:java 虚拟机(Java Virtual Machine) 2. 好处是什么 一次编写,到处运行自动内存管理,GC垃圾回收功能数组下标越界检查多态… 3. jdk、jre、jvm 4. 学习J…

OLAP平台架构演化历程

OLAP平台架构演化历程 0 导读 随着大数据的持续发展及数字化转型的兴起,大数据OLAP分析需求越来越迫切,不论是大型互联网企业,还是中小型传统企业,都在积极探索及实践OLAP引擎选型及平台架构建设,大数据技术的蓬勃发展…

Kaggle入门指南(Kaggle竞赛)

文章目录 Kaggle 入门指南1. Kaggle 的功能概述1.1 竞赛1.2 数据集1.3 学习与教程1.4 社区 2. 注册与设置2.1 创建账户2.2 完善个人资料 3. 探索数据集3.1 查找数据集3.2 下载数据集示例代码:加载数据集 3.3 数据预处理示例代码:数据预处理 4. 参与竞赛4…

docker 可用镜像服务地址(2024.10.31亲测可用)

1.错误 Error response from daemon: Get “https://registry-1.docker.io/v2/” 原因:镜像服务器地址不可用。 2.可用地址 编辑daemon.json: vi /etc/docker/daemon.json内容修改如下: {"registry-mirrors": ["https://…