一个开源轻量级的自建网盘方案:OxiCloud

数据库NoSQL数据库关系型数据库

最近在个人服务器上尝试搭建了 OxiCloud,这是一个基于 Rust 开发的轻量级文件管理方案。作为曾经长期使用 NextCloud 的用户,我想分享这个项目的开发背景和使用体验。


项目背景

由于 NextCloud 在低配置设备上的资源消耗较高,我尝试寻找 Rust 重写的替代产品。OxiCloud 的设计目标是保持基本文件管理功能的同时,降低内存占用。目前测试环境下,空载内存消耗稳定在 45MB 左右。


核心特性

  • • 简洁的 Web 界面支持中英双语
  • • 基于 PostgreSQL 的存储后端
  • • 支持基础的文件上传/下载管理
  • • 响应式设计适配移动设备
  • • 内置数据库迁移工具

技术实现

项目采用典型的 Rust Web 开发栈:

  • • Actix-web 作为 HTTP 框架
  • • SQLx 处理数据库操作
  • • Tera 模板引擎渲染界面
  • • 启用 LTO 编译优化后,二进制文件体积控制在 12MB

 
 
 
 
   
# 基础部署命令  
git clone https://github.com/DioCrafts/oxicloud.git  
cp .env.example .env  # 配置数据库信息  
cargo build --release

开发进展

当前版本 (0.1.0) 已实现:

  • • 文件目录管理
  • • 多语言支持
  • • 基础身份验证

正在开发中的功能:

  • • 回收站机制(预计下个版本发布)
  • • WebDAV 协议支持
  • • 文件分享链接生成

适用场景

经过实测,这个方案较适合:

    1. 树莓派 4B 等 ARM 设备
    1. 仅需基础文件同步的开发者
    1. 作为家庭媒体服务器的管理前端
    1. 需要快速部署的原型项目

项目源码地址: https://github.com/DioCrafts/OxiCloud。对于 Rust 开发者,代码库中包含多个模块化设计示例,特别是数据库连接池的实现值得参考。


0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 NoSQL 的实践与探索
随着 NoSQL 的蓬勃发展越来越多的数据存储在了 NoSQL 系统中,并且 NoSQL 和 RDBMS 的界限越来越模糊,各种不同的专用 NoSQL 系统不停涌现,各具特色,形态不一。本次主要分享字节跳动内部和火山引擎 NoSQL 的实践,希望能够给大家一定的启发。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论