I built OxiCloud because I wanted a simpler, faster file storage solution than existing options. After struggling with NextCloud's performance on my home server, I decided to create something that prioritizes speed and simplicity while still being robust enough for daily use.
OxiCloud's straightforward interface for file and folder management
- Lightweight: Minimal resource requirements compared to PHP-based alternatives
- Responsive UI: Clean, fast interface that works well on both desktop and mobile
- Rust Performance: Built with Rust for memory safety and speed
- Simple Setup: Get running with minimal configuration
- Multilingual: Full support for English and Spanish interfaces
- Rust 1.70+ and Cargo
- PostgreSQL 13+ database
- 512MB RAM minimum (1GB+ recommended)
# Clone the repository
git clone https://github.com/DioCrafts/oxicloud.git
cd oxicloud
# Configure your database (create .env file with your PostgreSQL connection)
echo "DATABASE_URL=postgres://username:password@localhost/oxicloud" > .env
# Build the project
cargo build --release
# Run database migrations
cargo run --bin migrate
# Run the server
cargo run --releaseThe server will be available at http://localhost:8085
OxiCloud follows Clean Architecture principles with clear separation of concerns:
- Domain Layer: Core business logic and entities
- Application Layer: Use cases and application services
- Infrastructure Layer: External systems and implementations
- Interfaces Layer: API and web controllers
The architecture makes it easy to extend functionality or swap components without affecting the core system.
# Core development workflow
cargo build # Build the project
cargo run # Run the project locally
cargo check # Quick check for compilation errors
# Testing
cargo test # Run all tests
cargo test <test_name> # Run a specific test
# Code quality
cargo clippy # Run linter
cargo fmt # Format code
# Debugging
RUST_LOG=debug cargo run # Run with detailed loggingI'm actively working on improving OxiCloud with features that I need personally:
- User authentication and multi-user support (in progress)
- File sharing with simple links
- WebDAV support for desktop integration
- Basic file versioning
- Simple mobile-friendly web interface enhancements
- Trash bin functionality (in progress)
See TODO-LIST.md for my current development priorities.
Contributions are welcome! The project is still in early stages, so there's lots of room for improvement:
- Fork the repository
- Create your feature branch (
git checkout -b feature/something-useful) - Commit your changes (
git commit -m 'Add something useful') - Push to the branch (
git push origin feature/something-useful) - Open a Pull Request
OxiCloud is available under the MIT License. See the LICENSE file for more information.
Built by a developer who just wanted better file storage. Feedback and contributions welcome!