What Happens When You Self-Host Your Own Cloud with OxiCloud
When you save a contact, schedule a meeting, or upload a photo to a mainstream provider, you are essentially handing over a digital copy of your life to a third party. Privacy policies are flexible, and corporate priorities change, which often leaves users looking for a way to bring that data back under their own roof.
Self-hosting has always been the solution, but it frequently comes with a technical tax. Many existing platforms are heavy and slow, especially if you are running them on a Raspberry Pi or an older home server. This is where OxiCloud enters the conversation as a streamlined, high-performance alternative.
The OxiCloud Approach
OxiCloud is an open-source platform built with Rust, a language known for its incredible speed and efficient memory management. Unlike traditional options that might hog hundreds of megabytes of RAM while doing nothing, OxiCloud typically idles at around 30 to 50 MB.
It focuses on three essential functions:
File Storage: A clean interface for managing your documents and media.
Calendars: Full CalDAV support for keeping your schedule synced.
Contacts: CardDAV integration to manage your address book privately.
Because it uses industry-standard protocols, it connects easily with the apps you already use on your phone or laptop, such as Thunderbird, Apple Calendar, or various Android sync tools.
Why Efficiency Matters
The primary motivation behind this project was a frustration with the "sluggishness" of older, PHP-based cloud software. By using a single native binary, OxiCloud starts in less than a second.
Performance Snapshot
Resource | OxiCloud | Traditional Alternatives |
Idle Memory | 30 to 50 MB | 250 to 512 MB |
Startup Time | < 1 second | 5 to 15 seconds |
Docker Size | ~40 MB | 1 GB+ |
Getting Your Instance Running
If you have Docker ready, setting up OxiCloud is a matter of a few commands. This process pulls the lightweight image and sets up a PostgreSQL database to handle your data.
1. Download and Configure
First, grab the code and set up your environment variables:
git clone https://github.com/DioCrafts/oxicloud.git
cd oxicloud
cp example.env .env
2. Launch
Start the services in the background:
docker compose up -d
You can then visit http://localhost:8086 in your browser to create your admin account and start exploring the interface.
Beyond the Local Network
A personal cloud is most useful when it is accessible from anywhere. While you can set up a complex reverse proxy, a tool like Pinggy can create a secure tunnel to your local instance with a simple SSH command:
ssh -p 443 -R0:localhost:8086 -t free.pinggy.io
This gives you a public HTTPS URL that you can plug into your phone’s calendar and contact settings, allowing your devices to stay in sync even when you aren't home.
Security and Moving Your Data
OxiCloud uses modern security standards like Argon2id for password hashing and JWT for session management. It also supports OIDC for those who want to use an external identity provider.
If you are currently using Google or iCloud, the transition is quite simple. Most of these services allow you to export your calendars as .ics files and your contacts as .vcf files. OxiCloud can import these directly, making the "de-googling" process much smoother than expected.
conclusion
OxiCloud proves that you don't need a massive server rack to maintain digital sovereignty. By focusing on speed and the core features people actually use, it provides a viable path for anyone looking to take back control of their most personal information.
Reference
Self-Hosted Cloud Storage, Calendar and Contacts with OxiCloud