本地Docker部署ZFile网盘打造个人云存储,告别公共网盘让你数据安全感爆棚

文章目录

    • 前言
    • 1.关于ZFile
    • 2.本地部署ZFile
    • 3.ZFile本地访问测试
    • 4.ZFile的配置
    • 5.cpolar内网穿透工具安装
    • 6.创建远程连接公网地址
    • 7.固定ZFile公网地址

前言

本文主要介绍如何在Linux Ubuntu系统使用Docker本地部署ZFile文件管理系统,并结合cpolar内网穿透工具实现远程访问本地服务器上的ZFile传输与备份文件,轻松搭建个人网盘,无需公网IP也不用购买域名和云服务器。

在数字化的时代,我们每个人都是数据的生产者和消费者。每天,无论是工作文档、生活照片还是学习资料,这些数字资产都如潮水般涌来,你有没有想过如何高效地管理和分享它们呢?当你想要从手机上快速访问存放在家里的电脑文件时,是否会感到无能为力?当你的团队成员需要即时共享项目资源时,是否还在用邮件或QQ群发送链接?

想象一下这样的场景:你在出差途中突然接到老板的紧急任务,需要查看一份重要的项目文档。但是这份文件偏偏只保存在你办公室的电脑上,而办公室的网络环境又不允许外部直接访问……这时你会怎么办?是不是感觉特别头疼?再比如,当你在旅行时,想要和家人分享一些精美的照片,却发现网盘上传速度慢得让人抓狂,而且还要担心隐私泄露的问题。这时候,有没有一种既快速又安全的方法能够解决这个问题呢?

难道你就甘心每天被这些问题困扰吗?难道没有一个更好的解决方案吗?答案是肯定的!今天,我将为大家介绍一款神奇的工具——ZFile。有了它,你不仅可以轻松管理自己的云端文件,还能随时随地访问和分享这些数据资源。让我们一起探索如何用 ZFile 打造属于你的高效、安全、个性化的文件管理系统吧!

1.关于ZFile

ZFile 是一个适用于个人的在线网盘(列目录)程序,可以将你各个存储类型的存储源,统一到一个网页中查看、预览、维护,再也不用去登录各种各样的网页登录后管理文件,现在你只需要在 ZFile 中使用。你只需要填写存储源相关信息,其他的令牌刷新,授权都是尽量自动化的,且有完善的文档帮助你使用。

它基于Typecho、WordPress等CMS框架开发,支持多种云存储服务(如阿里云OSS、腾讯云COS、七牛云Kodo等),让你可以轻松搭建自己的云端文件管理系统。

ZFile的最大亮点在于其简洁美观的界面设计和强大的功能扩展性。无论你是IT小白还是技术大神,都能在几分钟内完成部署,并且享受到极速上传下载、多用户管理、权限设置等丰富特性。

img

以下是ZFile的功能特性:

ZFile 的功能可远不止“网盘”这么简单,它还有很多实用的小功能,让我眼前一亮:

  • 在线预览: 支持图片、音视频、文本文件、PDF 甚至 3D 文件的在线预览!不用下载就能查看,效率提升可不是一点点。
  • 文件直链和二维码: 快速分享文件,再也不用复制链接到聊天窗口了!直接扫码下载,方便快捷。
  • 文件夹加密和隐藏: 保护你的隐私文件,安全感满满。
  • 自定义 JS 和 CSS: 对于前端高手来说,可以自定义页面样式,打造个性化的网盘!
  • 响应式设计: 电脑、平板、手机,想用哪个用哪个!

图片预览

Github地址:GitHub - zfile-dev/zfile: 在线云盘、网盘、OneDrive、云存储、私有云、对象存储、h5ai、上传、下载

2.本地部署ZFile

本例使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

执行下方命令即可本地运行容器:

sudo 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 \zhaojun1998/zfile:latest

image-20241104170228782

现在就已经安装成功了,您可以通过打开Web浏览器输入localhost:8080,就可以访问到ZFile的页面了。

image-20241104170313010

3.ZFile本地访问测试

我们可以属于站点名称,设置专属自己的管理员账号与密码,这样安全感十足。

image-20241104170515033

注册结束后因为没有存储源会让你跳转管理员页面,输入刚才的账号密码登录即可。

image-20241104170604842

4.ZFile的配置

Zfile的基本配置,可以根据自身需要进行配置们这里默认保存

image-20241105162923480

下面开始配置存储源信息

存储源名称:本地

存储策略:本地存储

文件路径:/data/file

其余配置默认即可

fb901b9776c467527e1adee3edc6bf1

在这里插入图片描述

image-20241105163521279

访问ZFile首页:localhost:8080可以看到我们刚才配置的存储源信息

image-20241105163557505

点击我们刚才创建的文件夹,点击上传图标,选择上传文件。

image-20241105163730488

image-20241105164251882

接下来我们可以生成直链

image-20241105172307086

可以插入图片描述

image-20241105172345199

下面是视频预览视频预览

office预览Office 预览

3D文件预览

3d 文件预览

5.cpolar内网穿透工具安装

不过我们目前只能在本地局域网内访问刚刚部署的ZFile文件管理系统,如果想不在家中时,也能在外部网络环境远程访问本地部署的ZFile管理文件,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问本地服务的需求。无需公网IP,也不用设置路由器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

6.创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: zfile注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8080
  • 域名类型:随机域名
  • 地区:选择China Top

image-20241104171150750

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image-20241104171239256

如下图所示,成功实现使用公网地址异地远程访问本地部署的ZFile。

image-20241104171415963

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用ZFile远程使用云盘,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

7.固定ZFile公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

image-20241104171627456

保留成功后复制保留的二级子域名地址:

image-20241104171652905

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20241104171719290

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20241104171746240

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20241104171821437

最后,我们使用固定的公网地址访问ZFile可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

image-20241104171926114
接下来就可以随时随地进行公网访问管理ZFile了,把公网地址分享给身边的人,还可以方便团队协作。自己用的话,无需云服务器,还可以实现异地远程访问!以上就是如何在Linux Ubuntu系统Docker本地安装ZFile并实现异地远程访问进行文件管理的全部过程,感谢观看!

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

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

相关文章

职场逆袭!学会管理上司,你也能成为职场赢家

书友们,不要错过了!我挖到了一本真正让我彻夜难眠的小说,情节跌宕起伏,角色鲜活得就像从书里跳出来陪你聊天。每一页都是新的惊喜,绝对让你欲罢不能。要是你也在寻找那种让人上瘾的阅读体验,这本书就是你的…

LangChain Ollama实战文献检索助手(三)思维链COT、思维树TOT和思维网NOT

大模型的思考方式有时候并不尽人意。我们可以在提示词中引导大模型如何拆分任务,按部就班地思考。 一、思维链 思维链是引导模型一步一步地思考,分为Zero-Shot CoT和Few-Shot CoT。Zero-Shot CoT就是著名的Let’s think step by step。Few-Shot CoT是对…

ASP页面改为UTF-8编码后,刷新页面不定时中文输出乱码终极解决方案

IIS7下的ASP页面,改为Utf-8编码后,Html部分的中文显示正常,但是由 Response.Write 输出的中文字符,在不特定的时间会变成乱码,一开始以为是浏览器问题,测试了多个浏览器故障依旧不定时出现: &l…

Spring底层源码(一)

Spring的入门代码: public class XmlTest {public static void main(String[] args) {//构造一个容器.ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext("springTest.xml");//从容器中获取Bean对象UserService userService …

理解Web登录机制:会话管理与跟踪技术解析(二)-JWT令牌

JWT令牌是一种用于安全地在各方之间传递信息的开放标准,它不仅能够验证用户的身份,还可以安全地传递有用的信息。由于其结构简单且基于JSON,JWT可以在不同的系统、平台和语言间无缝传递,成为现代Web开发中不可或缺的一部分。 文章…

SpringBoot源码解析(二):引导上下文DefaultBootstrapContext

SpringBoot源码系列文章 SpringBoot源码解析(一):SpringApplication构造方法 SpringBoot源码解析(二):引导上下文DefaultBootstrapContext 目录 前言一、入口二、DefaultBootstrapContext1、BootstrapRegistry接口2、BootstrapContext接口3、DefaultBo…

运维高可用架构设计

一、硬件 1、服务器 2、网络架构 二、软件 1、基础组件 组件名称 高可用方式 最少节点数 负载均衡(Tenginx) corsyncpacemaker互为主备 多组集群通过DNS轮循实现一个大集群 2DNS主从集群2RabbitMQ原生HA镜像集群3Zookeeper原生分布式集群3Kafka原生分布式集群3ES原生分布式集…

C++之vector类的模拟实现

片头 嗨~小伙伴们&#xff0c;今天我们来一起学习关于C的vector类的模拟实现&#xff0c;准备好了吗&#xff1f;咱们开始咯~ 一、基本框架 namespace bit {template<class T>class vector {public:typedef T* iterator;typedef const T* const_iterator;// 针对const修…

MyBatis 返回 Map 或 List<Map>时,时间类型数据,默认为LocalDateTime,响应给前端默认含有‘T‘字符

一、问题 MyBatis 返回 Map 或 List时&#xff0c;时间类型数据&#xff0c;默认为LocalDateTime Springboot 响应给前端的LocalDateTime&#xff0c;默认含有’T’字符&#xff0c;如何统一配置去掉 二、解决方案 1、pom.xml 增加依赖&#xff08;2024.11.6 补充&#xff…

数据结构之二叉树前序,中序,后序习题分析(递归图)

1.比较相同的树 二叉树不能轻易用断言&#xff0c;因为树一定有空 2.找结点值 3.单值二叉树 4.对称二叉树 5.前序遍历

如何使用gewe开发微信机器人

[Gewe](微信管理系统)&#xff0c;个人微信**开源框架&#xff0c;支持二次开发、任意语言都可接入&#xff0c;Restful API接入。 gewe框架优势&#xff1a; - 简单易用&#xff0c;无接入难度&#xff0c;区别于其它开源项目&#xff0c;本框架无需用户安装电脑微信&#x…

vue3 基于element-plus进行的一个可拖动改变导航与内容区域大小的简单方法

1、先上个截图&#xff1a; 说明&#xff1a;拖动上面的分隔栏就可以实现&#xff0c;改变左右区域的大小。 2、上面的例子来自官网的&#xff1a; Container 布局容器 | Element Plus 3、拖动的效果来自&#xff1a; https://juejin.cn/post/7029640316999172104#heading-1…

Excel 无法打开文件

Excel 无法打开文件 ‘新建 Microsoft Excel 工作表.xlsx",因为 文件格式或文件扩展名无效。请确定文件未损坏&#xff0c;并且文件扩展名与文件的格式匹配。

K8S node节点没有相应的pod镜像运行故障处理办法

查看从节点状态 kubectl describe node k8s-node1以下是报错提示 解决办法 需要处理node1节点上的磁盘空间&#xff0c;磁盘空间需要在85%内 处理后的状态 处理正常

使用代理时Stable Diffusion无法正常下载各类模型的解决办法

最近发现了 Stable Diffusion 这个好玩的ai绘画工具&#xff0c;不得不感叹现在ai工具已经进化到这么简单易用的程度&#xff0c;只要下载对应的模型就可以生成各种有意思的图片 就算你没有编程基础&#xff0c;跟着教程也能弄出来 不过使用过程中发现部分功能无法使用 查看日…

GODOT 4 不用scons编译cpp扩展的方法

以terrain3d插件&#xff0c;Godot_v4.3 为例&#xff1a; 下载下来&#xff0c;先用scons编译一遍通过后&#xff0c;整个占用1GB&#xff0c;obj文件都生成在源码旁边&#xff0c;够乱。 scons 是跨平台的构建工具&#xff0c;但是需要需要写python脚本。流程比较莫名其妙…

Python 学习完基础语法知识后,如何进一步提高?

入门Python后&#xff0c;就可以拿些小案例练手了&#xff0c;这时候千万不要傻乎乎地成天啃语法书。 编程是一门实践的手艺&#xff0c;讲究孰能生巧。不管是去手撸算法、或者照葫芦画瓢写几个小游戏都可以让你的Python突飞猛进。 之前看github比较多&#xff0c;推荐给大家…

基于Java的简单图书管理系统的实现(增删改查)

基于Java的简单图书管理系统的实现&#xff08;增删改查&#xff09; package com.situ.lib;public class Book {//对象&#xff1a;书-----定义书的属性:private String name;private String isbn;private String author;private double price;//无参构造方法&#xff1a;pub…

C语言必做30道练习题

C语言练习30题&#xff08;分支循环&#xff0c;数组&#xff0c;函数&#xff0c;递归&#xff0c;操作符&#xff09; 目录 分支循环1.闰年的判断2.阅读代码&#xff0c;计算代码输出的结果3.输入一个1~7的数字&#xff0c;打印对应的星期几4.输入任意一个整数值&#xff0c;…

tp接口 入口文件 500 错误原因

一、描述 二、可能的原因 1、runtime目录没权限 2、关闭了Tp记录日志的功能 3、关闭debug调试模式 4、关闭了debug模式还是报错 一、描述 Thinkphp项目本地正常&#xff0c;上传到线上后静态文件访问正常&#xff0c;访问tp接口报500错误。 经调试发现&#xff0c;在php入…