ZeroFS Documentation

ZeroFS exposes S3-compatible, Azure Blob Storage, or Google Cloud Storage through filesystem mounts and NBD block devices. Stock NFS and Linux 9P clients need no ZeroFS-specific software. On supported Linux kernels, the native kernel client is the fastest mount option; the bundled FUSE client works across a wider range and mounts without root. The server itself runs in userspace.

What ZeroFS does

ZeroFS keeps filesystem data and metadata in the configured object store and uses local disk only for caching. Every protocol reaches the same filesystem.

  • Filesystem behavior is tested continuously with pjdfstest, xfstests, crash injection, and model-based simulation. See Durability and consistency.
  • Separate metadata and data paths handle namespace operations independently from immutable file-data segments.
  • No external database service; data and metadata live in the object store.
  • Encrypted before upload: every block is compressed, then encrypted with XChaCha20-Poly1305, with no unencrypted mode.

Guides

Encryption & Security

Encryption formats, key wrapping, local caches, and password changes.

Open guide

Configuration

Configure storage backends, caching, network services, and runtime behavior.

Open guide

Resources

Quickstart

Install ZeroFS, generate a configuration, start the server, and mount the filesystem.

NFS File Access

Mount ZeroFS over NFSv3 from macOS, Linux, or Windows.

9P File Access

Mount through stock Linux v9fs or the bundled FUSE client.

Native Kernel Client

Mount through the DKMS-built native module.

Client Libraries

Use path-based filesystem operations from Python, TypeScript, or Go without mounting.

NBD Block Devices

Attach files under .nbd as Linux block devices for filesystems, volume managers, or VM disks.

Kubernetes CSI Driver

Dynamically provisioned persistent volumes backed by a shared ZeroFS gateway, mounted over 9P.

Was this page helpful?