OxiCloud: A High-Performance Nextcloud/Dropbox Alternative Built in Rust

115 points torrefacto 8 comments

Hello Rustaceans!

I'm excited to share my hobby project with you - OxiCloud, a self-hosted file storage solution built entirely in

Rust. I wanted to create a faster, more efficient alternative to Nextcloud and Dropbox while learning more about

Rust's capabilities for building production-ready applications.

What is OxiCloud?

OxiCloud is a self-hosted file storage system with a clean web interface that allows you to:

- Upload, organize, and share files

- Manage users with different permission levels

- Access your files from anywhere via modern web interface

- Enjoy the security and performance benefits of Rust

Technical Details

- Architecture: Clean/Hexagonal architecture with proper separation of concerns

- Core Technologies: Rust, Axum, Tokio, SQLx

- Performance Optimizations:

- Parallel file processing

- Intelligent buffer pool management

- Multi-level caching system

- Asynchronous I/O operations

Current Status

This is very much a hobby project I've been working on in my spare time. It's functional but still under active

development. I've implemented:

- User authentication and authorization

- File and folder management

- Storage usage tracking

- Web interface

- Performance optimizations

Why I Made This

While I love Nextcloud's features, I often found it could be slow and resource-intensive. I wanted to see if I

could build something similar with Rust's performance characteristics and memory safety guarantees.

Looking for Feedback

Since this is a learning project, I'd really appreciate any suggestions, criticism, or ideas from the community:

  1. What features would you expect from a self-hosted cloud storage solution?
  2. Any architectural improvements you'd recommend?
  3. Performance optimization tips for handling large files or many concurrent users?
  4. Security considerations I might have overlooked?
  5. Would you use something like this, or what would make you consider it?

Link

- https://github.com/DioCrafts/OxiCloud

Thanks for checking out my project! The Rust community has been an incredible resource for learning, and I'm

looking forward to your feedback.

https://preview.redd.it/p71w0vhsoiqe1.png?width=1900&format=png&auto=webp&s=e8e81636201b52e316ee8b33d598d53353cd38f7