Rust storage server that only ever holds encrypted chunks
Hoodik is a self-hosted file storage server written in Rust, with a Vue 3 web interface. Files are encrypted on the user's device before upload, so the server only ever holds encrypted chunks. Everything runs in one Docker container on SQLite by default, and apps for iPhone, Android and Mac sit alongside the web UI.
The project's own comparison pages draw the line like this: Nextcloud ships end-to-end encryption as a plugin that is off by default, Seafile makes it an opt-in per library, and Hoodik encrypts every file. The Seafile page recommends Seafile to anyone who needs a desktop sync client.
The comparison of self-hosted file storage weighs this mandatory encryption against the trade-offs the other tools make.
Post-quantum key wrapping and an OPAQUE login
- Post-quantum key wrapping since v2.0.0: files are encrypted in chunks, with AEGIS-128L by default, and each file key is wrapped with an X25519 + ML-KEM-768 hybrid. The cipher is recorded per file, so changing the default never locks out older files.
- The password stays on the device: login uses OPAQUE (RFC 9807), and private keys are stored encrypted under a key that only the password can derive.
- Search the server cannot read: the browser turns every word of file names and notes into an HMAC tag keyed from the user's private key. The server matches tags it has no way to turn back into words.
- Public links: the link key sits after the
#in the URL and never reaches the server. - Sharing between accounts, with reader, editor and co-owner roles.
- About 20 MB of RAM at idle, according to the setup guide, with images for amd64, arm64 and armv6/v7.
- Optional S3-compatible storage, and since v2.5.0, direct transfers between clients and the bucket through signed URLs.
CC BY-NC license, and a private key to keep safe
Forget the password without the private key, and the files are gone. The README asks users to keep the private key somewhere safe, a password manager for instance. It is the only way back into an account after a forgotten password, and the setup guide states that without it the encrypted data cannot be recovered.
No desktop sync client, no WebDAV. Hoodik's own comparison with Seafile lists no sync client for Hoodik. Windows and Linux apps are planned, the maintainer wrote on July 27, 2026 (#105), but the notes editor relies on a webview that does not work on those systems. WebDAV has been requested since March 2024 (#88) without a reply from the maintainer. OpenID Connect, asked for since 2023, is targeted for the end of 2026, with no commitment (#195).
CC BY-NC 4.0 rules out commercial use without a deal. Free use covers personal and non-commercial cases; a commercial license has to be negotiated with the author. The CLA that contributors sign lets him and his company redistribute their code under other terms, a different license included. Hoodik Cloud, the hosted version run by the publisher, costs €9 a month for 100 GB or €19 for 500 GB, in an EU or US region, and an instance can be exported at any time.
One maintainer, frequent releases. Tibor Hudik wrote 225 of the 231 commits on the main branch of a repository opened in January 2023. Fifteen releases shipped between July 1 and September 22, 2026, the date of v2.5.5. Version 2.0.0 (July 17, 2026) replaced RSA-2048 with the current scheme; older accounts migrate on their next login.
Two settings to get right before storing data. SQLite and PostgreSQL are not interchangeable: switching after data has been written loses that data, the README warns. Without a fixed JWT_SECRET, every restart invalidates all sessions.
