Filehub

Multi-tenant file service with presigned URLs and automatic replication across storage backends.

Python Django S3-Compatible Cloudflare R2
hyperclast/filehub →

Features

Multi-Tenant

Multiple client apps with isolated storage. Each app authenticates with its own API key.

Presigned URLs

Direct client-to-storage uploads and downloads. No proxy overhead.

Multiple Backends

Cloudflare R2 and local filesystem included. Pluggable for other S3-compatible providers.

Auto Replication

Files automatically replicate across all configured storage backends via background jobs.

FAQ

What storage backends are supported?

We're starting with Cloudflare R2 and local filesystem. We plan to support all the main cloud file storage services, with your help.

How does replication work?

When a file is finalized, background jobs (django-rq) replicate the blob to all other configured backends asynchronously.

How is authentication handled?

Apps use Authorization: Bearer header. User identity via X-FileHub-UserId header for scoped operations.

Get Started

Ready to add file uploads to your app?

git clone https://github.com/hyperclast/filehub