Skip to main content

Introduction

Mount0 is a high-performance virtual filesystem for developers. It mounts remote and local resources as local filesystems using FUSE (macOS/Linux) and WinFsp (Windows).

Why Mount0?

  • Unified access: Mount S3, FTP, SSH, WebDAV, Samba, local directories, and custom providers under a single mount point
  • Testing & mocking: Create complex filesystem structures without touching a real disk
  • Security: Transparent encryption at the filesystem level
  • High availability: Failover and quorum strategies across multiple backends
  • Performance: RAID striping, caching (write-through/write-back), zero-copy streaming

Key Features

  • Cross-platform: macOS (macFUSE), Linux (libfuse3), Windows (WinFsp)
  • Multiple backends: Local, in-memory, S3, FTP, SSH, WebDAV, Samba
  • RAID: Striping (0), mirroring (1), parity (5), double-parity (6)
  • Caching: Write-through and write-back strategies
  • Encryption: Transparent AES-256-GCM
  • High-availability: Failover and quorum strategies
  • Extensible: Custom providers via a clean TypeScript interface

Getting Started

npm install @mount0/core @mount0/local
import { mount0 } from "@mount0/core";
import { LocalProvider } from "@mount0/local";

const fs = mount0();
fs.handle("/", new LocalProvider("/tmp/data"));
await fs.mount("/tmp/mount0");

The filesystem is now accessible at /tmp/mount0 with standard tools:

echo hello > /tmp/mount0/test.txt
cat /tmp/mount0/test.txt