Open source · AGPL-3.0 · amd64 and arm64
Your files, on your server.
Theca is a self-hosted cloud storage: a web app, a drive your computer and phone mount over WebDAV, and every file's history, in one Docker image.
Demo: demo@theca.rs / thecademo, reset every hour.
Edit a file. Send and store only what changed.
Theca cuts every file into pieces, called chunks, at points chosen by the content itself. Edit the middle of a file and only the pieces around your edit change. Those are sent and stored; the rest is already there, shared by both versions.
Measured, not promised
Measured against CE 1.1.0: a fresh instance from its compose file, files sent by the same upload engine as the web app, what the organization stores read from the server. The data is random, so compression gains nothing: these come from chunking and deduplication alone.
- stored for 10 versions of a 1 GiB file, each with 1 MiB edited, against 10 GiB as copies
- 1 GiB + 34.1 MiB
- stored for the same 1 GiB file in two libraries that trust each other
- 1 GiB
- to download the image, amd64 (18.9 MiB for arm64)
- 19.5 MiB
- of memory at rest; answering 1 s after starting
- 50.6 MiB
How it works
- Deduplicated where people trust each other
- Within a library, and the dedup namespaces it shares: never across strangers.
- Every version, as a tree
- Restoring starts a new branch instead of overwriting, and two people editing at once both keep their work.
- The server never carries your files
- With S3, chunks go straight to the bucket: the server scales with metadata, not bandwidth.
- One Rust binary and Postgres
- The browser runs the same Rust engine, compiled to WASM. End-to-end encryption is designed in from the start.

What happens when you upload
- 1 · Chunk FastCDC cuts the file where its content says.
- 2 · Hash Each chunk is named by its content.
- 3 · Look up The server says which it already has.
- 4 · Upload Only the new ones, straight to the storage by signed URL.
- 5 · Commit A new version in the file's tree; nothing overwritten.
Editions
Community edition
Free and open source (AGPL-3.0). Everything above, on your machine, amd64 or arm64: a Raspberry Pi will do.
Run it yourselfHosted
The same Theca, run for you. Not open yet.
Yours to run
The compose file, its secrets, then the setup link in the logs. The guide covers HTTPS, S3, OIDC, WebDAV sync, every setting, backups and upgrades.
Read the self-hosting guidecurl -fsSLO https://raw.githubusercontent.com/theca-cloud/ce/main/docker-compose.yml
# the commands at the top of docker-compose.yml: .env and the secrets
docker compose up -d && docker compose logs theca # the setup link