Skip to main content
The Nextcloud VFS mounts a WebDAV server (Nextcloud, ownCloud, Hetzner Storage Share, or any generic WebDAV endpoint) at a prefix such as /nc/. Reads are streaming, with HTTP Range requests for partial reads. For credential and server setup, see Nextcloud Setup. For Python, see the Nextcloud (Python) reference.

Install

Nextcloud requires the optional opendal peer dependency:

Config

NextcloudVFS accepts a configuration object with the WebDAV URL and optional Basic Auth credentials. Both READ and WRITE mount modes are supported. Use an app password (Settings → Security in Nextcloud) rather than your account password. Fields marked secret are redacted in snapshots.

VFS.md

The VFS.md an agent reads with Nextcloud mounted at /<path>.

Virtual Filesystem

Supported Unix Commands for VFS

Unix commands work on each path as on a local filesystem, as far as the path supports them:

Limitations of Unix Commands for VFS

Where a path differs from a local filesystem:Run man to list every command, and man <cmd> or <cmd> --help for one command’s usage.
WebDAV resources map directly to virtual paths under the mount prefix. For example, virtual /nc/Documents/notes.md issues HTTP WebDAV requests against <NEXTCLOUD_URL>/Documents/notes.md.

Cache

The Nextcloud VFS caches directory listings in Mirage’s index cache. A listing usually needs one PROPFIND Depth: 1; each file missing a size needs an extra stat request. Cached child entries include sizes, types, and modification times, but not ETags. Subsequent stat operations can reuse those entries.

Example