如何在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: zfilerestart: alwaysports:- '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: zfilerestart: alwaysports:- '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

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

平替、超越Jira?18 个最佳 Jira 替代方案【开源+免费+付费】

Jira 是一种流行的项目管理工具,被团队广泛用于跟踪和管理他们的任务、问题和项目。 打个不太恰当的比喻,Jira ,她就是项目管理家的单反。 如果您正在寻找 Jira 的替代方案,本文介绍了 18个最重要的 Jira 替代方案,可以…

Nuxt.js 应用中的 nitro:build:public-assets 事件钩子详解

title: Nuxt.js 应用中的 nitro:build:public-assets 事件钩子详解 date: 2024/11/5 updated: 2024/11/5 author: cmdragon excerpt: nitro:build:public-assets 是 Nuxt 3 中的一个生命周期钩子,在复制公共资产之后调用。该钩子使开发者能够在构建 Nitro 服务器之前,对…

02_CC2530 + LED流水灯

CC2530 LED流水灯 前言 ​ 在搭建ZigBee定位系统前,先通过几个基础案例熟悉CC2530的一些外设和寄存器编程方式。CC2530基础篇由LED流水灯(按键控制启停、定时器中断方式)、定时器与Delay_ms延时函数、Uart串口通信三章组成。 按键控制启停–通用I/O中断 硬件电…

无线模块的最佳搭档:天线全面选型指南

在无线通信领域,天线的选择至关重要。它不仅影响信号的覆盖范围和传输质量,还直接关系到系统的整体性能。在众多无线模块中,找到合适的天线可以最大化其潜力,确保稳定和高效的数据传输。 在设计适用于射频系统的无线收发设备时&a…

产品思维笔记(一):打造用户喜爱的产品by Marty Cagan

全文摘要 《启示录:打造用户喜爱的产品》是由美国著名产品经理Marty Cagan所著,他曾经是eBay最出色的产品经理之一,也是Google X实验室的创始人之一。在这本书中,他分享了自己的经验和教训,帮助读者更好地理解如何打造…

推荐一款功能强大的电影格式转换器:Total Movie Converter

Coolutils Total Movie Converter(电影格式转换器)是一款可以将超清或者高清蓝光的视频电影进行格式转换的工具,高质量速度快操作简单就是软件最大的亮点,它可以转换几乎所有流行的视频编解码器。 基本简介 Coolutils Total Movie Converter 也可以使视…

掌声响起来——不确定性人工智能与高斯云方法的应用

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

P11232 [CSP-S 2024] 超速检测

P11232 [CSP-S 2024] 超速检测 难度:普及/提高。 考点:二分、贪心。 题意: 题意较长,没有题目大意,否则你也大意。 主干道长度为 L L L,有 n n n 辆车,看做左端点为 0 0 0,第 …

JSP九大内置对象和四大作用域

get和post区别: 比较项 get post 缓存 可以 不可以 收藏为书签 可以 不可以 数据长度 有限制(URL 的最大长度是 2048 个字符) 无限制 编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded 或 multi…

【java batik_使用BATIK解析SVG生成PNG图片】

矢量图的介绍及应用场景 矢量图是什么意思? 矢量图,也称为向量图,英文名字是Vector graphics。 矢量图是一种基于矢量的图形,由一系列的线段和曲线组成。由数学公式和算法生成的。这意味着矢量图可以在任何分辨率下清晰地显示&…

针对物联网边缘设备基于EIT的手部手势识别的1D CNN效率增强的组合模型压缩方法

论文标题:Combinative Model Compression Approach for Enhancing 1D CNN Efficiency for EIT-based Hand Gesture Recognition on IoT Edge Devices 中文标题:针对物联网边缘设备基于EIT的手部手势识别的1D CNN效率增强的组合模型压缩方法 作者信息&a…

0.STM32F1移植到F0的各种经验总结

1.结构体的声明需放在函数的最前面 源代码: /*开启时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); //开启USART1的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructu…

【AIGC】ChatGPT提示词Prompt高效编写技巧:逆向拆解OpenAI官方提示词

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯OpenAI官方提示词的介绍OpenAI官方提示词的结构与组成如何通过分析提示词找到其核心组件 💯OpenAI官方提示词分析案例一:制定教学计划案例二&…

Leetcode 62. 不同路径 动态规划+空间优化

原题链接&#xff1a;Leetcode 62. 不同路径 二维数组&#xff1a; class Solution { public:int uniquePaths(int m, int n) {int res 0;int box[m][n];for (int i 0; i < m; i) {box[i][0] 1;}for (int j 0; j < n; j) {box[0][j] 1;}for (int i 1; i < m;…

app的登录破解 frida jadx

今天收到了一个APP让我研究一下登录 登录已经研究完成 下面则是我的整体思路 为了安全考虑这个app我就不说是那个了 我就说整体的思路 仅供交流学习 严谨非法使用开始进行抓包 手机使用代理连接charles 之后开始点击app登录 进行抓包下面则是我抓到的包 抓包之后j进行改包 也…

【IEEE/CCF-C类】1区顶刊变水刊?发文量暴涨1600+,光速审稿,圆你顶刊梦!

&#x1f525; &#x1f525; &#x1f525; &#x1f525; 本期小编解析的是一本由IEEE旗下多个学会联合出版的计算机领域的TOP期刊《IEEE Internet of Things Journal》&#xff0c;该期刊自2014年创刊&#xff0c;专注于物联网&#xff08;IoT&#xff09;领域的研究…

django高校学生信息管理系统-计算机毕业设计源码02553

django高校学生信息管理系统 摘 要 本研究旨在设计和实现基于Django框架的高校学生信息管理系统&#xff0c;涵盖了系统用户、学生信息管理、教师信息管理、课程分类管理、开课信息管理、选课信息管理、课表信息管理、成绩信息管理、系统管理、网站公告管理和校园资讯等多个功能…

特殊矩阵的压缩存储

一维数组的存储结构 ElemType arr[10]; 各数组元素大小相同&#xff0c;且物理上连续存放。 数组元素a[i]的存放地址 LOC i * sizeof(ElemType)。&#xff08;LOC为起始地址&#xff09; 二维数组的存储结构 ElemType b[2][4];二维数组也具有随机存取的特性&#xff08;需…

中立性DEA交叉效率评价方法

今天推出中立性DEA模型的计算工具 参考文献&#xff1a;《中立性DEA交叉效率评价方法》袁剑波&#xff0c;吴立辉&#xff0c;魏思 中立性DEA交叉效率评价方法 在数据包络分析&#xff08;DEA&#xff09;对决策单元效率评价的方法中&#xff0c;对抗性DEA交叉效率方法把所有…

【Visual Studio】解决 CC++ 控制台程序 printf 函数输出中文和换行符显示异常

问题描述 C&C 控制台程序 printf 函数输出中文和换行符 \n 显示异常。 #include <stdio.h>int main() {int choice;printf("菜单:\n");printf("1. 选项一\n");printf("2. 选项二\n");printf("3. 选项三\n");printf("…