首页 > 系统相关 >如何在Linux下部署自己的ZFile开源网盘

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

时间:2024-11-01 23:19:12浏览次数:4  
标签:8080 -- 网盘 ZFILE zfile Linux root 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

环境准备

服务器准备

必要条件:

创建云服务器

  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 [email protected]),首次连接需输入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

标签:8080,--,网盘,ZFILE,zfile,Linux,root,ZFile
From: https://blog.csdn.net/weixin_53510183/article/details/143442710

相关文章

  • Linux
    ls命令详解ls命令(list)可用于列出指定路径下的文件(Linux中一切皆文件,目录也是文件的一种),如果不指定路径,单独运行ls命令,则默认路径为当前路径。使用方式ls[-options][targetpath]注:-a-l=-al得到的不同的文件颜色代表了不同的文件类型常见选项选项作用-a显示......
  • linux中软连接和硬链接的区别是什么
    在Linux操作系统中,软链接和硬链接是两种不同的文件链接机制,各有其独特的属性和用途。1、链接类型;2、目标对象;3、磁盘使用:软链接自身是一个文件,占用额外磁盘空间,而硬链接不占用额外磁盘空间。在硬链接的应用场景中,由于硬链接是对文件数据块的直接引用,因此它们在数据备份和同步方面......
  • Linux进程控制
    目录1.进程创建1.1.fork()函数常规用法1.2.fork()函数创建失败的原因 2.进程退出 2.1退出码2.2将错误码转化为错误描述 2.2.1利用系统自带的方法进行转化2.2.2自定义的方式2.3普通函数的返回值2.4错误码2.4.2错误码和退出码的区别 2.5进程退出的几种情况2.6......
  • 并查集---Linux发行版的数量
    题目描述Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发行版互相存在关联,例如Ubuntu基于Debian开发,而Mint又基于Ubuntu开发,那么我们认为Mint同Debian也存在关联。发行版集是一个或多个相关存在关联的操作系统发行版,集合内不包含没有关联的发行......
  • 《Linux系统编程篇》fork/wait/waitpid/exit函数——基础篇
    文章目录引言fork()函数概述父子进程兄弟进程fork函数fork()的常见问题fork()的优势与限制引入`wait`和`waitpid`(解决僵尸进程)wait函数waitpid函数:exit函数结论命为志存。——朱熹引言《Linux系统编程篇》——基础篇首页传送门本节我们正式进入Linux的进......
  • 《Linux系统编程篇》消息队列(Linux 进程间通信(IPC))——基础篇
    文章目录引言消息队列(MessageQueue)消息队列的特点消息队列的特性消息队列的操作ipcs-q拓展ipcrm拓展注意事项结论“山重水复疑无路,柳暗花明又一村。”——陆游引言《Linux系统编程篇》——基础篇首页传送门想象一下,你正在开发一个多任务处理的应用程序,其中......
  • Chromium127编译指南 Linux篇 - 同步第三方库以及Hooks(六)
    引言在成功克隆Chromium源代码仓库并建立新分支之后,配置开发环境成为至关重要的下一步。这一过程涉及获取必要的第三方依赖库以及设置钩子(hooks),这些步骤对于确保后续的编译和开发工作能够顺利进行起着决定性作用。本指南旨在详细阐述这些配置步骤的执行方法,为开发者提供清晰......
  • Chromium127编译指南 Linux篇 - 编译前环境搭建(一)
    前言在当前的浏览器开发中,Chromium作为一个开源项目,已经赢得了广泛的关注和使用。它不仅构成了GoogleChrome的核心框架,同时也是诸如MicrosoftEdge、Opera和Brave等多款浏览器的基础。凭借其广泛的应用和出色的可定制性,许多开发者选择在Chromium的基础上进行再开发......
  • Linux nginx 配置
    Nginx的配置类型丰富多样,可以根据不同的需求进行灵活配置。以下是使用不同域名介绍的10种Nginx配置类型:基本Web服务器配置域名:http://www.example1.com配置说明:这是Nginx作为Web服务器的基本配置,包括监听端口、服务器名称、根目录设置等。示例配置:nginxserver{ listen8......
  • Linux-shell实例手册-网络操作
    本文章讲解的是在linux下跟网络相关的一些操作和命令,喜欢就点赞收藏哦,方便随时查阅!文章目录1Linux下网络基本命令2netstat3ssh4网卡配置文件5route6解决ssh链接慢7ftp上传8nmap9 流量切分线路10snmp1Linux下网络基本命令   rz  #通过ssh上传......