ZeroFS Documentation
ZeroFS serves S3-compatible buckets as POSIX filesystems over NFS and 9P, and as block devices over NBD. NFS and 9P need nothing installed on the client because the OS already ships support; a bundled FUSE client mounts without root. The server runs in userspace, with no kernel modules. CI compiles the Linux kernel on ZeroFS mounts on every change.
What ZeroFS does
ZeroFS stores your files in S3 and uses local disk only as a cache, so databases, code builds, and VM boot disks run directly against the bucket. It differs from other "filesystem on S3" projects in a few ways:
- POSIX-conformant, verified against pjdfstest and xfstests.
- Near-raw-S3 throughput on large files, and scales to workloads of millions of small files.
- No external database service; all state, data and metadata alike, lives in the bucket.
- Encrypted before upload: every block is compressed, then encrypted with XChaCha20-Poly1305, with no unencrypted mode.
Resources
Quickstart
Get up and running with ZeroFS in minutes. Install, configure, and mount your first S3 filesystem.
NFS File Access
Mount ZeroFS as a network filesystem on any OS. Access files with standard POSIX operations.
9P File Access
High-performance file access on Linux using the 9P protocol with advanced caching options.
Client Libraries
Access ZeroFS from Python, TypeScript, or Go. Path-based filesystem operations over 9P, no mount required.
NBD Block Devices
Create raw block devices backed by S3. Perfect for ZFS pools, databases, or any filesystem.
Kubernetes CSI Driver
Dynamically provisioned persistent volumes backed by a shared ZeroFS gateway, mounted over 9P.