OxiCloud is a free, open source file management & sync project written in Rust and released under MIT. It has 3,576 GitHub stars, 170 forks and 94 open issues, and was last pushed 18 hours ago. On this registry it ranks #17 of 23 tracked projects in File Management & Sync, with 5 head-to-head comparisons available.

What is OxiCloud?

OxiCloud is a self-hosted cloud storage suite written in Rust that gives self-hosters, home labs, and small teams files, photos, calendars, and contacts in a single lightweight deployment, aimed at anyone who wants the useful parts of a cloud suite without the operational weight of a traditional PHP stack.

What it is

OxiCloud is an open-source, MIT-licensed cloud platform built in Rust and distributed as a Docker image, a Docker Compose stack, a Helm chart, a Nix module, and self-contained prebuilt binaries. It combines file storage and a web UI with sharing, trash, search, favorites, recent items, thumbnails, and chunked uploads, and it adds calendar and contact sync through CalDAV and CardDAV alongside file access through WebDAV. Authentication and administration cover JWT auth, Argon2id password hashing, OIDC/SSO, shared links, quotas, and admin and user roles. Office editing is handled through WOPI against Collabora or OnlyOffice, and a REST API is exposed for integrations. The project lives in the self-hosted cloud storage ecosystem, where it is presented explicitly as a Nextcloud alternative, and its GitHub topics also position it against Dropbox and OneDrive.

The concrete problem it solves is operational drag. A traditional self-hosted cloud suite tends to mean a PHP stack, a plugin ecosystem to maintain, and a slow startup, and it often needs custom sync tooling before basic desktop and mobile access works. OxiCloud replaces that stack with a PostgreSQL-backed Rust service that speaks standard DAV protocols out of the box, so native clients connect directly instead of relying on a proprietary sync layer. The project states plainly that it is not trying to mirror the full plugin ecosystem of Nextcloud; the design target is a smaller stack, fast startup, and standards-based interoperability.

Key capabilities

  • Files: multi-file upload, folders, inline previews, thumbnails, chunked uploads, deduplication, and trash.
  • Standard sync protocols built in: WebDAV at https://your-host/webdav/, CalDAV at https://your-host/caldav/, and CardDAV at https://your-host/carddav/.
  • Security: JWT auth, Argon2id hashing, OIDC/SSO with configuration examples, shared links, quotas, and admin/user roles.
  • Integrations: REST API plus WOPI for office editing through Collabora or OnlyOffice.
  • Client compatibility: macOS Finder, Windows Explorer, GNOME Files, KDE Dolphin, Thunderbird, Apple Calendar and Contacts, and DAVx5 on Android.
  • Operations surface: Docker image, Docker Compose, environment-driven configuration, and a PostgreSQL backend.
  • Project tooling: architecture docs, a Helm chart, a Nix module, and CI.

Who uses it and how

  • Self-hosters and home labs running Docker Compose who want files, calendars, and contacts on one host and connect native desktop clients over WebDAV, CalDAV, and CardDAV.
  • Small teams that need shared links, quotas, and admin/user roles, and that want SSO through OIDC rather than a local-only account model.
  • Organisations deploying to Kubernetes with the Helm chart, or to Nix-based hosts with the Nix module, instead of a hand-rolled Compose stack.
  • Office-editing users who already run Collabora or OnlyOffice and connect it through the WOPI integration.
  • Mobile and desktop users who prefer existing clients — Thunderbird, Apple Calendar and Contacts, DAVx5 — rather than installing a vendor sync client.

Getting started

The documented path is Docker Compose: clone the repository, copy example.env to .env, set OXICLOUD_BASE_URL if users will reach it through a domain or reverse proxy, then run docker compose up -d and open http://localhost:8086. Prebuilt binaries for Linux musl amd64/arm64 and macOS Intel/Apple Silicon are attached to tagged releases, with cargo binstall oxicloud as an alternative, and running from source requires Rust 1.93+ and PostgreSQL.

How it compares

Against Nextcloud, the facts draw the line at scope rather than features: OxiCloud does not attempt to reproduce Nextcloud's plugin ecosystem, trading extensibility for a smaller stack and faster startup, and it competes on MIT licensing and standards-based DAV access instead of a custom sync stack. The repository topics also name Dropbox and OneDrive as the proprietary services it substitutes for, which is where the self-hosting and data-ownership argument applies: files, calendars, and contacts stay on hardware the operator controls, with no per-seat subscription and no third-party storage.

When to use it — and when not to

A self-hoster must operate PostgreSQL, the OxiCloud service itself, and whatever reverse proxy and TLS termination the deployment requires; running from source additionally requires Rust 1.93+ and a reachable PostgreSQL instance. Anyone who depends on Nextcloud's plugin ecosystem, or who needs features beyond the documented file, calendar, contact, and WOPI surface, should not pick OxiCloud. Be aware of the current state of the project: DAVx5 Android support is marked partial, with file sync working well and other capability incomplete, and the issue tracker carries 94 open issues, so it is a fit for operators comfortable following an actively developed project rather than one seeking a frozen, fully finished platform.

project readme (upstream, from github) — read inline

A fast self-hosted cloud for people who want files, calendars, contacts, and office editing without dragging a heavy stack behind them.

Documentation · Quick Start · Star OxiCloud · Request a Feature · Supported Clients · Project Status

Latest release CI GitHub stars Docker image size Rust 1.93+ MIT license

If OxiCloud saves you setup time, RAM, or complexity, give it a star. If something is missing, ask for a feature or request a docs improvement.

OxiCloud dashboard

Why People Try OxiCloud

OxiCloud is aimed at self-hosters, home labs, and small teams who want the useful parts of a cloud suite without the operational drag of a traditional PHP stack.

What pulls people in:

  • Standard protocols first: WebDAV, CalDAV, and CardDAV are built in
  • Useful product surface already there: files, previews, sharing, trash, search, favorites, and recent items
  • Modern auth and admin basics: OIDC/SSO, quotas, roles, and shared links
  • Better interoperability: native desktop and mobile clients work without custom sync tooling for basic access
  • Lower deployment friction: Docker Compose, environment-based configuration, Helm chart, and Nix module

OxiCloud is not trying to mirror the full plugin ecosystem of Nextcloud. It is designed for a smaller stack, fast startup, and standards-based interoperability.

Quick Start

Docker Compose

Requires Docker and Docker Compose.

git clone https://github.com/AtalayaLabs/OxiCloud.git
cd OxiCloud
cp example.env .env

# If users will access OxiCloud through a domain or reverse proxy,
# set OXICLOUD_BASE_URL in .env before the first login.
docker compose up -d

Open http://localhost:8086.

Prebuilt binary

Binary releases (Linux musl amd64/arm64, macOS Intel/Apple Silicon) are attached to every tagged release on GitHub — the whole SPA + all operator subcommands + migrations bake into a single self-contained executable. See docs/install/binary.md for the download / verify / systemd walkthrough.

cargo binstall oxicloud works too once a release is out.

Run from source

Requires Rust 1.93+ and PostgreSQL.

git clone https://github.com/AtalayaLabs/OxiCloud.git
cd OxiCloud
cp example.env .env

# If PostgreSQL runs on your host instead of Docker, update both
# OXICLOUD_DB_CONNECTION_STRING and DATABASE_URL to use localhost:5432.
cargo run

Deployment details: deployment guide · example.env

What You Get

Area Included
Files Multi-file upload, folders, inline previews, thumbnails, chunked uploads, deduplication, trash
Sync and clients WebDAV, CalDAV, CardDAV, native OS clients, Thunderbird, DAVx5
Security JWT auth, Argon2id, OIDC/SSO, shared links, quotas, admin/user roles
Integrations REST API and WOPI for Collabora or OnlyOffice
Operations Docker image, Docker Compose, env-driven config, PostgreSQL backend
Project tooling Architecture docs, Helm chart, Nix module, CI

Supported Clients

OxiCloud uses standard DAV protocols, so it works with native clients instead of requiring a custom sync stack for basic access.

Use case URL
Files via WebDAV https://your-host/webdav/
Calendars via CalDAV https://your-host/caldav/
Contacts via CardDAV https://your-host/carddav/

Common clients that work well:

  • macOS Finder
  • Windows Explorer
  • GNOME Files and KDE Dolphin
  • Thunderbird
  • Apple Calendar and Contacts
  • DAVx5 on Android

Client setup guides: DAV client setup · WebDAV guide · CalDAV & CardDAV guide

Project Status

OxiCloud is actively developed and already covers the core self-hosted cloud workflow.

Capability Status Notes
File storage and web UI Ready Uploads, previews, sharing, trash, and search
WebDAV Ready Standard file access for desktop and mobile clients
CalDAV and CardDAV Ready Working with Thunderbird, Apple clients, and others
OIDC / SSO Ready Documentation and config examples included
WOPI office editing Ready Works with Collabora or OnlyOffice
DAVx5 Android support Partial File sync works well; calendar and contact behavior is still being refined
Desktop sync client Planned Not yet available
Mobile apps Planned Not yet available
End-to-end encryption Planned Roadmap item

Roadmap: TODO-LIST.md

Help Shape OxiCloud

If you want OxiCloud to get better faster, use the repo like a product feedback loop, not just a code dump.

The best feature ideas usually come from real deployment pain. If you hit friction, open an issue and describe the workflow you want.

Architecture and Deployment

OxiCloud follows a clean, hexagonal architecture so protocol handlers, business logic, and infrastructure stay separated.

  • Backend: Rust + Axum
  • Database: PostgreSQL
  • Configuration: environment variables
  • Default deployment: Docker Compose
  • Additional packaging: Helm chart and Nix module

Architecture docs: internal architecture · caching architecture · database transactions · storage safety

Configuration and Integrations

Start with example.env. The most important settings are:

  • OXICLOUD_BASE_URL for reverse proxies, domains, and external access
  • OXICLOUD_DB_CONNECTION_STRING for PostgreSQL
  • OXICLOUD_OIDC_ENABLED and related settings for SSO
  • OXICLOUD_WOPI_ENABLED and discovery URL for office editing
  • MIMALLOC_PURGE_DELAY=0 for lower idle RSS in constrained environments

Integration docs: OIDC setup · OIDC architecture · OIDC config examples · WOPI integration

Documentation

readme truncated — read the full docs on github

Frequently asked questions

Is OxiCloud free to use?

OxiCloud is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does OxiCloud do?

☁️ Ultra-fast, secure & lightweight self-hosted cloud storage — your files, photos, calendars & contacts, all in one place. Built in Rust.

What is OxiCloud written in?

OxiCloud is primarily written in Rust. Its source is publicly available at https://github.com/AtalayaLabs/OxiCloud, and it has 3,576 GitHub stars.