如何在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.rhkb.cn/news/462250.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring AI : 让ChatGPT成为你构建应用的核心亮点

本文是一篇介绍spring ai的文章,主要介绍了生成文本内容,以及读取图片中内容两个能力。 之所以介绍这两个能力,是因为 大模型目前最适合做的事情有两个: 1) 非结构化数据的结构化(图片转文字,…

Windows 命令提示符(cmd)中输入 mysql 并收到错误消息“MySQL不是内部或外部命令,也不是可运行的程序或批处理文件?

目录 背景: 过程: 1.找到MySQL安装的路径 2.编辑环境变量 3.打开cmd,输入mysql --version测试成功 总结: 背景: 很早之前安装了Mysql数据库,想查询一下当前安装的MySQL客户端的版本号,我在命令行界面输入mysql --verion命令回…

履带式排爆演习训练机器人技术详解

履带式排爆演习训练机器人是现代反恐、救援及危险环境处理领域中的重要工具。它们结合了先进的机械设计、智能感知、精确控制及高效算法,能够在复杂、危险的环境中执行排爆、侦察、取样等多种高风险任务,极大地保障了人员安全。 技术特点 1. 卓越的地面…

基于SSM医院门诊互联电子病历管理系统的设计

管理员账户功能包括:系统首页,个人中心,用户管理,医生管理,项目分类管理,项目信息管理,预约信息管理,检查信息管理,系统管理 用户账号功能包括:系统首页&…

PVE定时开启关闭虚拟机,实现PVE中群晖虚拟机的定时开机和关闭

如果在PVE中安装了群晖,又不想每天关闭PVE(不在家,怕服务器起不来),因此想每天定时关闭开启黑群晖和其他虚拟机释放资源。 在网上查了很多,说在crontab添加命令 00 2 * * * pvesh create /nodes/pve/qemu/102/status/stop 00 6 …

【数据结构】宜宾大学-计院-实验六

实验 6 栈和队列(综合实验) 实验目的:实验内容:进制转换问题:第1题测试结果:第1题代码实现: 括号匹配问题:第2题测试结果:第2题代码实现: 回文字符串问题&…

java并发编程-CAS详解

一定要看这个链接的视频,讲解十分清楚!!! 【【Java并发】面试官问我CAS、乐观锁、悲观锁,我反手就是骑脸输出】 https://www.bilibili.com/video/BV1ff4y1q7we/?share_sourcecopy_web&vd_sourceafbacdc02063c57e7…

【C/C++】qsort函数的学习与使用

零.导言 在之前的文章中,我介绍了冒泡排序,即按ASCII码值把元素从小到大排序(文章链接我放在了第五部分,有兴趣的小伙伴可以求看看)。而今天我将继续介绍qsort函数,这个函数可以起到和冒泡排序一样的作用&a…

华为实时视频使用FLV播放RTSP流

import flvjs from ‘flv.js’; 安装flv <video style"width:100%;height:100%;" ref"videoHWRef" ></video>// src 华为rtsp流 rtsp://admin:Huaweivideo10.10.8.151:554/xxx/trackID1// url 需要后端提供视频源地址playVideo() {if (fl…

【STM32】通过 DWT 实现毫秒级延时

目录 零、前言一、DWT1、DEMCR2、DWT_CTRL3、DWT_CYCCNT 二、实现代码三、测试 零、前言 在 FreeRTOS 中&#xff0c;SysTick 被用于作为调度器的一部分进行任务调度&#xff0c;那么如果我需要使用软件模拟通信&#xff0c;例如软件 I2C&#xff0c;需要使用 delay&#xff0…

如何在Linux系统中使用Ansible进行自动化部署

如何在Linux系统中使用Ansible进行自动化部署 Ansible简介 安装Ansible 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 启动Ansible服务 Ansible基本概念 Inventory Playbook Module 配置Ansible 测试Ansible配置 执行Ansible Playbook Ansible模块 文件模块 包管理模块…

「Mac畅玩鸿蒙与硬件20」鸿蒙UI组件篇10 - Canvas 组件自定义绘图

Canvas 组件在鸿蒙应用中用于绘制自定义图形,提供丰富的绘制功能和灵活的定制能力。通过 Canvas,可以创建矩形、圆形、路径、文本等基础图形,为鸿蒙应用增添个性化的视觉效果。本篇将介绍 Canvas 组件的基础操作,涵盖绘制矩形、圆形、路径和文本的实例。 关键词 Canvas 组件…

从零开始构建 ChatGPT

今天&#xff0c;我们要介绍的是一个名为 LLMs-from-scratch 的 GitHub 项目&#xff0c;它由开发者 rasbt 精心打造&#xff0c;旨在一步步教你如何使用 PyTorch 从零开始实现一个类似 ChatGPT 的大型语言模型&#xff08;LLM&#xff09;。 这是一个教育性质的开源项目&…

【Git】Git常用命令

目录 1 前言2 git命令2.1 branch2.2 checkout2.3 pull and push2.4 config2.4.1 Proxy 2.5 tag2.6 rebase2.7 patch2.8 remote2.9 submodule2.10 rm2.10 gitignore2.11 某个commit更改了哪些文件2.12 clean 3 结束语 1 前言 本章记录总结在使用git过程中常用的一些命令&#x…

redis分布式锁在项目中的应用总结

项目应用 应用1 redis分布式锁实现两个操作的原子性 需求&#xff1a;实现一人一单业务逻辑时&#xff08;如果能走到这个逻辑&#xff0c;代表库存是充足的&#xff09;&#xff0c;我们需要 先查询订单 如果订单不存在即没有买过则创建订单 这两个步骤我们要保证是原子…

前端 react 面试题(二)

文章目录 hooks的使用规则为什么hooks要确保在函数组件的最顶层,而不能放置在循环或者条件语句中。react的事件模型react的合成事件是如何实现的react事件传参,可以使用箭头函数或bind方法,这两种哪一种更好使用箭头函数:使用`bind`方法:react的事件模型和vue的区别React …

1分钟解决Excel打开CSV文件出现乱码问题

一、编码问题 1、不同编码格式 CSV 文件有多种编码格式&#xff0c;如 UTF - 8、UTF - 16、ANSI 等。如果 CSV 文件是 UTF - 8 编码&#xff0c;而 Excel 默认使用的是 ANSI 编码打开&#xff0c;就可能出现乱码。例如&#xff0c;许多从网络应用程序或非 Windows 系统生成的 …

【python】OpenCV—Tracking(10.4)—Centroid

文章目录 1、任务描述2、人脸检测模型3、完整代码4、结果展示5、涉及到的库函数6、参考 1、任务描述 基于质心实现多目标&#xff08;以人脸为例&#xff09;跟踪 人脸检测采用深度学习的方法 核心步骤&#xff1a; 步骤#1&#xff1a;接受边界框坐标并计算质心 步骤#2&…

GraphQL系列 - 第2讲 Spring集成GraphQL

目录 一、maven依赖二、Schema 定义三、代码集成3.1 创建模型类3.2 创建服务类3.3 创建控制器类 四、单元测试五、实际 HTTP 请求测试5.1 查询单个 Person5.2 查询所有 People5.3 添加 Person 六、其他6.1 开启graphiql6.2 开启schema查看端点 一、maven依赖 首先&#xff0c;…

Golang | Leetcode Golang题解之第526题优美的排列

题目&#xff1a; 题解&#xff1a; func countArrangement(n int) int {f : make([]int, 1<<n)f[0] 1for mask : 1; mask < 1<<n; mask {num : bits.OnesCount(uint(mask))for i : 0; i < n; i {if mask>>i&1 > 0 && (num%(i1) 0 |…