828华为云征文|部署在线文件管理器 Spacedrive

828华为云征文|部署在线文件管理器 Spacedrive

  • 一、Flexus云服务器X实例介绍
    • 1.1 云服务器介绍
    • 1.2 产品优势
    • 1.3 计费模式
  • 二、Flexus云服务器X实例配置
    • 2.1 重置密码
    • 2.2 服务器连接
    • 2.3 安全组配置
  • 三、部署 Spacedrive
    • 3.1 Spacedrive 介绍
    • 3.2 Docker 环境搭建
    • 3.3 Spacedrive 部署
    • 3.4 Spacedrive 使用
  • 四、总结

一、Flexus云服务器X实例介绍

1.1 云服务器介绍

云服务器是一种基于互联网的计算服务,提供可扩展的虚拟硬件资源,使用户无需维护实体设备即可部署应用。它具备高灵活性,可根据需求实时调整配置,同时拥有强大的安全保障体系,确保数据安全。通过云服务器,企业和个人可以降低成本,提高效率,专注于业务创新与发展。

华为云下一代云服务器Flexus X实例焕新上线,新产品具备柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景,从而帮您快速上云!

在这里插入图片描述

Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

在这里插入图片描述
在这里插入图片描述

本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

在这里插入图片描述

1.2 产品优势

  • 提供丰富的公共镜像,可灵活自定义镜像版本。
  • 智能感知业务动态升降配,负载范围更高。
  • 支持灵活自定义vCPU、内存实例规格。
  • 支持按需计费更精细和灵活的定价模式,可基于实际负载画像智能推荐规格。

1.3 计费模式

计费模式包年/包月按需计费
付费方式预付费按照订单的购买周期结算。后付费按照云服务器实际使用时长计费。
计费周期按订单的购买周期计费。秒级计费,按小时结算。
关机是否计费关机对包年/包月的X实例计费无影响。云服务器按订单的购买周期计费。关机后,基础资源(包括vCPU、内存、镜像)不计费。其他绑定资源(如云硬盘、弹性公网IP、带宽等)正常计费。
是否支持变更规格支持变更实例规格。支持变更实例规格。
是否支持备案支持备案。需包月3个月及以上(包含多次续费后累计时长)。不支持备案。
适用场景适用于可预估资源使用周期的场景,价格比按需计费模式更优惠。对于长期使用者,推荐该方式。适用于计算资源需求波动的场景,可以随时开通,随时删除。

二、Flexus云服务器X实例配置

2.1 重置密码

购买完成后,会短信通过你的云服务器信息,重点是公网IP地址和用户名。首先我们需要打开你的服务器控制台,完成重置密码

在这里插入图片描述

勾选自动重启,点击确定即可。

在这里插入图片描述

2.2 服务器连接

  • 方式一:使用控制台提供的VNC方式登录

  • 方式二:使用Putty、Xshell等工具登录Linux弹性云服务器,
    a) 下载安装登录工具,例如Putty。
    b) 输入弹性公网IP。
    c) 输入用户名:root、密码,单击“确定”。

  • 方式三:使用Linux/Mac OS系统主机登录Linux弹性云服务器。
    a) 执行连接命令。
    ssh 弹性公网IP
    例如:ssh 123.xxx.xxx.456
    b) 输入用户名:root、密码,登录服务器。

我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。

在这里插入图片描述

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组

在这里插入图片描述

主要需要填写优先级(默认填1即可)、协议端口信息(一般选择你项目需要暴露的端口即可),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

在这里插入图片描述

如果还不清楚可以参考文档:安全组配置示例

三、部署 Spacedrive

3.1 Spacedrive 介绍

Spacedrive是一个开源的跨平台文件管理器,其核心是由Rust语言编写的虚拟分布式文件系统(VDFS)。该项目在多个操作系统上兼容,包括macOS、Windows、Linux,以及未来计划支持iOS和Android。其目标是让用户能够在一个应用中实现对数据的统一管理,无需被特定设备或云服务供应商所约束。

  1. 虚拟分布式文件系统(VDFS)

Spacedrive采用虚拟分布式文件系统这一先进技术,使得用户可以在一个统一的API中访问来自多个设备或存储服务的内容。VDFS拥有支持多项存储层的能力,并通过实时地同步客户端数据库来实现跨设备的操作一致性。其内容可寻址存储机制(CAS)则确保了文件的唯一标识及其在存储位置上逻辑路径的记录。

  1. 支持多平台

Spacedrive不仅可在桌面操作系统(如Windows、macOS和Linux)上运行,还计划扩展到移动平台(iOS和Android)。这一点充分体现了它的跨平台特性,使用户无论在任何设备上都能享受一致的用户体验。

  1. 高效的架构设计

该项目使用了PRRTT技术栈,即Prisma、Rust、React、TypeScript和Tauri。通过这些技术的结合,Spacedrive实现了高效的数据管理和轻量级的应用架构,相较于传统的Electron应用,其内存使用和包体体积得到了显著优化。

  1. 高颜值界面交互设计

Spacedrive的用户界面设计采用了现代化的响应式设计理念,确保了其在任何设备上的良好表现。采用React组件库与精心设计的UI界面,使得用户体验倍感舒适和高效。

在这里插入图片描述

Spacedrive的开发理念源于对完全数据自主可控的执着。随着人们对数据隐私与安全性的日益重视,Spacedrive选择采用开源方式,使用户能够掌控自己的数据,避免受到大平台贩卖隐私数据带来的困扰。作为一个UI设计很现代化的在线文件管理系统,还可以在线预览常用格式的媒体影音文件、图片文件、PDF文件和文本文件,对于独立创意者和那些想要拥有自己的数字足迹的人来说,Spacedrive 提供了无与伦比的免费文件管理体验。

  • 官网:https://www.spacedrive.com/
  • Github:https://github.com/spacedriveapp/spacedrive

3.2 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别系统镜像内网IP地址Docker版本操作系统版本
Flexus云服务器X实例Ubuntu192.168.0.16827.2.0Ubuntu 22.04.4 LTS

使用apt-get命令安装docker及其配置

# 安装必要工具包
$ sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -# 配置仓库源
$ sudo add-apt-repository \"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \$(lsb_release -cs) \stable"	# 更新apt包索引
$ sudo apt-get update# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json{"registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com/","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn","https://ccr.ccs.tencentyun.com/","https://docker.m.daocloud.io/","https://dockerproxy.com",]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试docker安装是否成功

root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```

检查docker服务状态

root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socketDocs: https://docs.docker.comMain PID: 24912 (dockerd)Tasks: 13Memory: 24.7MCPU: 3.778sCGroup: /system.slice/docker.service`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查docker compose版本

root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2

3.3 Spacedrive 部署

  • 创建 docker-compose.yml
version: '3.5'services:spacedrive:image: ghcr.io/spacedriveapp/spacedrive/servercontainer_name: spacedriveports:- "6769:8080"environment:- SD_AUTH=admin:adminvolumes:- /root:/var/spacedriverestart: unless-stopped
  • volumes:映射容器内部文件路径到本地
  • ports:配置访问端口
  • SD_AUTH=username:password 为单个用户启用身份验证。

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 Spacedrive 镜像,并创建并启动一个容器。 up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。

  • 配置安全组

在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听6769端口,所以添加安全组为TCP:6769协议端口。

在这里插入图片描述

  • 启动服务

进入项目目录,执行docker compose up -d启动命令,会自动拉取容器并运行

从 Github 拉取 Spacedrive 镜像,地址:https://github.com/spacedriveapp/spacedrive/pkgs/container/spacedrive%2Fserver

root@flexusx-c6b3:~/spacedrive# docker-compose up -d
Creating network "ubuntu_default" with the default driver
Pulling spacedrive (ghcr.io/spacedriveapp/spacedrive/server:latest)...
latest: Pulling from spacedriveapp/spacedrive/server
bc8a3ad8f03e: Pull complete
771f7ddc7ed2: Pull complete
59934ba4efcf: Pull complete
02c91f6b395a: Pull complete
ffdf8cfdbafe: Pull complete
50d2b2cd6788: Pull complete
1e45aa110bce: Pull complete
0b2215fb0760: Pull complete
b4aa04aa577f: Pull complete
36e6687b1ede: Pull complete
fffa1ce2a781: Pull complete
814e9d09e051: Pull complete
569578c08419: Pull complete
9c970b880bcd: Pull complete
04965dfd79c6: Pull complete
Digest: sha256:fd3bc896f3a5b8e429e008cedde361d6b9468c48d8c81996fdb1d99e90e0837b
Status: Downloaded newer image for ghcr.io/spacedriveapp/spacedrive/server:latest
Creating spacedrive ... 
Creating spacedrive ... done
  • 检查容器状态

检查 Spacedrive 容器状态,确保容器正常启动

root@flexusx-c6b3:~/spacedrive# docker ps
CONTAINER ID   IMAGE                                     COMMAND           CREATED         STATUS         PORTS                                                 NAMES
ddad28ecfd30   ghcr.io/spacedriveapp/spacedrive/server   "entrypoint.sh"   3 minutes ago   Up 3 minutes   7373/tcp, 0.0.0.0:6769->8080/tcp, :::6769->8080/tcp   spacedrive
  • 访问地址

内网:http://localhost:6769
外网:http://公网IP:6769

  • 访问结果

在这里插入图片描述

若出现此页面,则部署 spacedrive server 成功。

3.4 Spacedrive 使用

输入之前配置的用户名和密码:admin/admin 完成登录

在这里插入图片描述

创建本地数据库,设置名字后创建新库

在这里插入图片描述

添加位置页面介绍,点击继续

在这里插入图片描述

关于隐私,选择是否分享使用数据,点击继续

在这里插入图片描述

然后就会创建库,需要等待4-6分钟左右吧

在这里插入图片描述

加载完成后就会进入 Spacedrive 文件管理器了

在这里插入图片描述

我们可以直接在存储位置下点击添加位置,填入路径/var/spacedrive,添加完成即可映射到服务器的根目录到 Spacedrive 中了

在这里插入图片描述

在侧边栏选择刚刚添加的spacedrive,这就是作为文件管理的主要界面了,左侧栏包含概述、最近使用、收藏夹、网络、存储位置、标签和设置,上侧栏包含全局搜索、视图切换(网格、列表、媒体)、Sapcedrop功能、资源管理器设置等,其他就是展示此存储位置上所有的文件了

在这里插入图片描述

随便选择一个文件,鼠标右键调出菜单,可以使用快捷空格来预览文件,还可以进行查看详情、重命名、剪切、复制、添加标签、删除等操作

在这里插入图片描述

空白处右键可以调出菜单,新建文件夹、文本文件和空的文件

在这里插入图片描述

支持在线预览PDF文件

在这里插入图片描述

在线预览音频文件

在这里插入图片描述

在线预览视频文件

在这里插入图片描述

在线预览图片

在这里插入图片描述

在线预览文本文件

在这里插入图片描述

再回到概述页面,这里以图标的形式展示存储空间和文件的分类数量等一些统计信息

在这里插入图片描述

设置里也包含了丰富的配置项,可以进行外观设置、语言设置、标签设置等

在这里插入图片描述

Spacedrive 作为文件管理器的常用功能点就演示到此了,使用它可以很好的管理服务器上的文件,对比传统的FTP服务,可以有更好的使用体验和高颜值的UI设计风格,可以增删改查文件,还可以预览各种文件,主要是媒体影音、图片和文本文件,测试不可以预览word、excel、ppt等Office文件,希望下一步开放更多格式的文件预览,还有更多有趣的设置和功能就需要自行探索了。

四、总结

Spacedrive 是一款跨平台文件管理器。它将您的设备连接在一起帮助您随时随地整理文件,不仅仅是一个瑞士军刀文件浏览器,它还是一个个人数据库,它可以唯一地标识您的文件,比任何操作系统都能理解更多的文件类型。分散的、本地优先的设计优化了隐私、安全和数据所有权,最重要的是,它是开源的并且完全免费。此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格基础模式,测试使用过程中没有出现卡顿问题,添加新位置加载很快,重新索引存储位置需要等一会,可能有文件数量和大小有关系,文件的预览反应很敏捷,和在本地使用文件管理器的体验差不多。

华为云服务器,凭借高性能计算能力和稳定的服务,助您轻松应对业务挑战。现推出限时优惠,华为云正在举行828 B2B企业节,更有额外折扣等你来拿!依托华为领先的技术支持,我们承诺为您的数据安全保驾护航,助力业务快速成长。抓住机遇,即刻开启您的云端之旅!立即体验

在这里插入图片描述

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

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

相关文章

MFC获取网页的html文本

使用 CInternetSession 类和 CHttpFile 类&#xff1b; 在stdafx.h中加入 #include <afxinet.h> &#xff1b; 基本的代码如下&#xff0c; void CMFCApplication3Dlg::OnBnClickedButton1() {// TODO: 在此添加控件通知处理程序代码try{CInternetSession session;CH…

Java创建教程!(*  ̄3)(ε ̄ *)

Java 构造函数 Java面向对象设计 - Java构造函数 构造函数是用于在对象创建后立即初始化对象的代码块。 构造函数的结构看起来类似于一个方法。 声明构造函数 构造函数声明的一般语法是 <Modifiers> <Constructor Name>(<parameters list>) throws <…

用户体验不好的网站都有哪些特点?

用户体验不好的网站通常具有一些共同的特点&#xff0c;这些特点会显著影响用户的浏览体验和满意度。下面详细介绍用户体验不好的网站的多个方面&#xff1a; 用户体验不好的网站都有哪些特点&#xff1f; 页面加载时间过长 用户等待时间长&#xff1a;如果一个网站的页面加载…

[Redis][Redis简介]详细讲解

目录 1.认识 Redis2.Redis 特性1.速度快2.基于键值对的数据结构的服务器3.丰富的功能4.简单稳定5.客户端语言多6.高扩展性7.持久化(Persistence)8.主从复制9.⾼可⽤和分布式 3.Redis 使用场景1.数据库2.Cache3.消息队列 4.注意 1.认识 Redis Redis是⼀种基于键值对(Key-Value)…

OpenHarmony(鸿蒙南向开发)——标准系统方案之瑞芯微RK3566移植案例(下)

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ OpenHarmony&#xff08;鸿蒙南向开发&#xff09;——轻量系统STM32F407芯片移植案…

PyQt5-QCheckBox-开关按钮

效果预览 实现代码 from PyQt5.QtWidgets import QCheckBox, QApplication, QWidget, QVBoxLayout from PyQt5.QtCore import Qt, QRect, QPropertyAnimation, QEasingCurve, pyqtProperty from PyQt5.QtGui import QPainter, QColor, QPen, QFontclass CompactSwitchCheckbox…

《Google软件测试之道》笔记

介绍 GTAC&#xff1a;Google Test Automation Conference&#xff0c;Google测试自动化大会。 本书出版之前还有一本《微软测试之道》&#xff0c;值得阅读。 质量不是被测试出来的&#xff0c;但未经测试也不可能开发出有质量的软件。质量是开发过程的问题&#xff0c;而不…

股指期货的详细玩法功能与应用解析

股指期货作为一种重要的金融衍生工具&#xff0c;为投资者提供了多样化的投资和风险管理手段。本文将详细探讨股指期货的三大主要功能&#xff1a;风险规避、价格发现和资产配置。 第一&#xff0c;风险规避功能 1.套期保值&#xff1a;股指期货的风险规避功能主要通过套期保值…

HarmonyOS 速记

目录 装饰器Entry(入口)Component(组件)State(状态)Prop(属性)Preview(预览)PreviewerInspector 结构体structbuild自定义组件自定义 Custom 组件 容器Row(行) & Column(列)RelativeContainer(相对布局容器)marginpaddingSwiper(轮播图)Grid(网格容器)List(列表) 组件Image…

Java入门程序-HelloWorld

Java程序开发的三个步骤 1.编写代码得到 .java 源代码文件 2.使用javac编译得到 .class 字节码文件 3.使用java运行 注意事项 建议代码文件名全英文&#xff0c;首字母大写&#xff0c;满足驼峰命名法&#xff0c;源代码文件的后缀必须是.java 开发HelloWorld程序 &…

MATLAB十九种作图大全

一、二维曲线图 反应两个变量的因果关系 clear; %清除工作空间的所有变量 clc; %清除命令窗口的内容&#xff0c;对工作环境中的全部变量无任何影响 close all; %关闭所有的Figure窗口 x linspace(1,200,100); %均匀…

进程监控与管理详解

一、进程的定义: 进程process是正在运行的程序,包括: 分配的内存地址空间 安全属性、包括所有权和特权 一个或多个线程 进程状态 进程的环境包括: 本地和全局变量 当前调度上下文…

Mac清理其他文件:释放存储空间的高效指南

每个Mac用户都可能遇到存储空间不足的问题&#xff0c;尤其是当“其他”文件积累到一定体积时。在Mac上&#xff0c;“其他”文件通常包括各种系统文件、缓存、文档以及不被归类为应用程序、照片、电影或音乐的其他类型的文件。这些文件往往不易被注意&#xff0c;但逐渐占用了…

数组学习内容

动态初始化 只给长度&#xff0c;数据类型【】 数组名new 数据类型【数组长度】 内存图

Leetcode—1137. 第 N 个泰波那契数【简单】

2024每日刷题&#xff08;160&#xff09; Leetcode—1137. 第 N 个泰波那契数 记忆化搜索实现代码 class Solution { public:int tribonacci(int n) {int zero 0;int one 1;int two 1;if(n 0) {return zero;}if(n 1) {return one;}if(n 2) {return two;}int ans 0;fo…

vscode搭建ros开发环境问题记录(更新...)

文章目录 vscode 不能自动补全方法一&#xff1a;方法二&#xff1a; 开发环境&#xff1a; vmware 15.7 ubuntu 20.04 ros noetic vscode 不能自动补全 方法一&#xff1a; 这里将头文件已经正确包含到c_cpp_properties.json中代码中仍然不能自动补全&#xff0c; 将C_CPP插…

基于python+django+vue的农业管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的农…

57.【C语言】字符函数和字符串函数(strerror函数)

目录 11.strerror函数 *简单使用 *错误码打印 *实际的用法 *附:VS中errno.h对错误码的分类 11.strerror函数 *简单使用 strerror string error cpuscplus的介绍 点我跳转 翻译: 函数 strerror char * strerror ( int errnum ); 得到指向错误信息字符串(简称错误码)的指针…

配置环境-keil

配置keil -- 先将keil安装配置好&#xff0c;包括库 一、STM32 -- STM32是意法半导体&#xff08;意大利&#xff09;采用ARM公司设计的内核&#xff0c;设计一系列32位单片机芯片。 1、STM32开发的几种方式 2、STM32寄存器和库函数版本的工程创建 新建文件夹 复制相关文件…

web基础之RCE

简介&#xff1a;RCE称为远程代码执行漏洞&#xff1b;是互联网的一种安全漏洞&#xff1b;攻击者可以直接向后台服务器远程注入操作系统命令&#xff1b;从而操控后台系统&#xff1b;也是CTF比较常考的一个方面 1、eval执行 &#xff08;1&#xff09;分析后端代码&#xf…